We talked, some days ago, with timbo (and other people) and it appairs we didn't give a clear enough tremfusion definition. So we write, for some days ago, a document with all tremfusion team to give an official definition to the project.
I hope it will be usefull for forum admins to decide if we're allowed to talk about tremfusion on this forum, and also for users to know exactly what we plane to do.
The word fork is (or should be) in quotes in this entire text. People don't seem to have the same definition for 'fork',
so it's pretty ambiguous. To address that, we put it in quotes. The following is an explanation of what
TremFusion is compared to Tremulous, so use your own definition of a 'fork' and decide for yourself if
TremFusion is a fork or not. As for my point of view, it is a fork because we don't use the same binaries
and we make our own decisions. Other people seem to think it's not because it's still the same game.
As I said, use your own definition and decide for yourself.
I) Why is it a 'fork' (or whatever you want to call it)The first reason:2006. Tremulous goes standalone. Many people discover a new awesome game. Some of them are geeks and
hackers. It's free, and they try to hack the code. Many bugs and missing features are reported. Geeks
start to compile their own qvm while many big tremulous communities are born based around countries,
servers, etc.
2008. No real big news from the development team. Everyone knows they are working on Tremulous 1.2,
there are some screenshots, videos, occasional rumors, but no one knows when it will be released.
Many players are bothered. So much progress, so many patches, so many bugfixes, but no release. Why?
Clan activity is decreasing. Many servers that once were full are now empty.
Geeks try to keep the activity level up with new ideas (mods, minor patches). Older clans try to
organize tournaments. It's cool, but its not enough. Activity still decreases.
We are some of those geeks. We are conscious that it's very hard to make a new version, but we think
the dev team should have a shorter release cycle with intermediate versions, even if it's not as stable
as a major release.
We have knowledge and skill, we are motivated. So, we decide to do our best to re-motivate people and
keep the development and activity up in Tremulous. We create TremFusion.
Now, the question is: why didn't you simply help the current developers to release Tremulous 1.2 instead
of making your own thing?
To answer, we move on to...
The second reason:Our feeling about Tremulous development is the following: It's very closed. Too closed. Much of the 1.2
stuff isn't publicly released because the developers don't try to involve the community. The official website
doesn't try to organize anything like clan wars, tournaments, etc. The official developers don't really try
to get player feedback and suggestions. We realize this point has changed recently with the addition of
Khalsa's posts about feedback and suggestions in the main forum, but that was quite a bit after we started.
This isn't a critical point. We understand that it's simply a choice made by developers. We understand why
the did it - it's pretty difficult, if not impossible, to develop a game with nothing but community opinion.
Gameplay, objectives, balance and other aspects of gameplay need a consistent front, an ultimate veto, or the
game descends into anarchy. The easiest way to do that is to avoid community feedback and assume the best ideas
will naturally emerge themselves.
Our opinion, however, is pretty different. We know communities are full of trolls, flamers, conflicts and also
some very good ideas. Look at Blizzard's community for Warcraft III - the community made some pretty awesome stuff
(like tower defense maps). Blizzard's games are proprietary, so players can't really contribute to the game itself
outside of maps and ideas. With a free game, they can. What a strength! All community players are able to improve
the game themselves. Look at Battle for Wesnoth - it's a free game, and it's community is amazing.
The DnC project (one of TremFusion's ancestors) was created by community members for community members, and our
feeling is that it's not by joining (or helping under the orders of) developers that allows us to continue to work
hand-in-hand with the community. Maybe we are wrong, maybe we aren't. In any case, we are pretty bad at keeping
secrets. Well, we refuse to keep secrets. That makes us bad candidates for contributing to Tremulous 1.2. We'd be
too tempted to release information that we shouldn't.
Many people will say: "Well, that's stupid, and wrong. You're only trying to have full control of Tremulous
development."
On to the third reason:It's half true. We don't have exactly the same vision of the game that the developers have. For example, the
developers, near as we can tell, plan for Tremulous to be played on servers with 14-20 slots, maximum.
It's seems that very high slot servers (30+) are pretty popular though. We think, therefore, that it's
really important to try to balance the gameplay so that really high slot servers are more fun and a
bigger success than they are currently. If the community shows they want higher slot servers, why not try
to facilitate that? We also hope to improve the building side of gameplay in Tremulous through things like
zone build points.
That said, we certainly don't want to have full control of Tremulous development. We just want to offer our
own version of the game. From that standpoint, you could think of us as nothing but a mod.
As I say at bottom, we will maybe drop this "mod" side and use MGdev instead.
II) Who are the TremFusion developers? Are there really players using your stuff?TremFusion is basically a fusion of three smaller projects: STFU-Tremulous, Tremulous-Amanieu and DnC.
There are officially 8 developers on the team: Amanieu, Ender, evilchampion, griffon, PierreF, Madtree,
Kangounator and Azrael07. Evilchampion, Amanieu and Azrael07 are very active, but there are other members
who are less active and some that are inactive.
Now, TremFusion has many contributors and supporters, coming mainly from the French community and obliter8.com
(the old Dretch*Storm). This isn't, however, the only source of contributors. While the above mentioned
developers have write access to our mercurial repository, we frequently integrate patches and ideas from anyone,
so long as they are useful.
III) Why did it take so long to get a real explanation?Ender created a post in the Tremulous forums about 9 months ago about his idea to fork Tremulous. It was kinda
stupid, and he got burned. Since TremFusion was created, some important people in the Tremulous.net community have
seemed very hostile. So, our idea was to simply talk about our releases only with people who were interested in our
stuff to avoid a flame war. Since our intent from the beginning was to add to the Tremulous community, we figured
the occasional post on Tremulous.net would inform people about what was going on so they could follow the project
if they were interested. We didn't see it as much different from a new HUD, or a new .qvm, just a bit larger. We
chose a new name to differentiate ourselves. We figured we'd release a new client, since everyone was told to get
a new client anyways (TJW's, now MG's). To facilitate that, we'd eventually create new installers for it so that
it'd be accesible to people with less technical knowledge. It made sense, then, to have a name for a project
that large.
Now, about the word 'fork' again. We come from the perspective of the free software community. A fork isn't
necessarily seen as a bad thing. Our philosophy is generally this: our code is fully open. You are free to
take it for things you want, and we don't mind at all.
We didn't, and don't, have bad intentions towards the Tremulous dev team. We thought any public explanation
on the Tremulous.net forums would be a prelude to begin useless flame wars. It seems that was an error, as
many people don't seem to have the same vision of a fork and consider what we've done as disrespectful to the
original Tremulous developers. When someone reuses source code in the free software community, generally it is
considered an honor. We assumed anyone would react that way, but that was wrong. So, we apologize to the
developers of Tremulous if we have seemed disrespectful.
IV) "You lie! <someone> said <add whatever you want here>"When TremFusion was created, we didn't really know what we wanted to do - a full fork (incompatible with
Tremulous), a half fork (our own binaries, but still compatible), a simple mod (.qvms)... We all came from
different projects and we had very different philosophies and opinions. By now, we've pretty much fixed
those and come up with a consistent direction. What anyone said about TremFusion in the past that is contrary
to this document (so long as we didn't miss something) is not true today. We're a group of volunteers working
in our free time - expect things to evolve pretty much constantly.
V) What about objectives and philosophies?We answered most of this in the upper portions of this document. Our philosophy is that we make what the players
and community really need. We try to solidify more player ideas into a uniform vision of the game. We want to
increase Tremulous's dynamic nature, and involve as many players as we can in the development aspects of the game
(maps, mods, plugins, tutorials, HUDs, etc). We also want to provide tools and facilities to improve the social
aspects of the games (tournaments, rankings, communication, team play, etc).
VI) What stuff do you have planned?What we are currently working on - our core:
- Up-to-date client and server binaries (what you get from our current posts in tremulous.net)
- Scripting support on the server side (lua and python)
- Rewriting all of the Tremulous common features that are currently in various patches to utilize our
scripting system
- Real and usable bots
- Improved menus and HUDs
- A real website with a downloads page and our own forum (see
http://www.tremfusion.net/trac/wiki/NewWebsite)
- New balanced gameplay. We're not sure on this one as MG has already done a lot of good stuff here, and though
we don't agree with all of it, most of it is what we hoped to do
Projects that we currently talk about, but we're not totally committed to:
- improved graphical side (XReal renderer)
- real release of binaries and data (Linux distro packages)
- find a way to replace (or get a free license for) any non-free textures in some maps.
- scripts on the client side (how can we get client side scripting but avoid cheating?)
- solo/cooperative games. With the help of many contributors, it's possible and could be a lot of fun
Other projects in orbit around TF, but made by external contributors that interact with TF members
- improved sounds and music
- in-game tutorial
VII) "And what happens if you succeed? You won't hesitate to break compatability to kill Tremulous!"As you can see, one of our main objectives is to increase contributions. Making a blow beneath the belt on
Tremulous like that won't increase the amount of contributions to Tremulous - it'll split the community and
kill both projects, and that's something we want to avoid.
In any case, TremFusion doesn't have the same main objective as Tremulous. Tremulous releases a very full,
balanced and stable game with a long development cycle. TremFusion has a much shorter development cycle with
many minor releases and a lot less stability. We mostly work on new projects that Tremulous developers are
welcome to use or throw away. If they like our bots, scripts, XReal portage, whatever, they can use it. If not,
they go on their merry way. Both projects can survive together and help each other.
Also, if Tremulous development ceases altogether, and we get to a point way down the road where we want to
add features that require us to break compatibility via a protocol change and Tremulous is TOTALLY DEAD, then
yes, we would break compatibility. That is the only situation in which we would do so. That's the plan now
anyways.
VIII) "You think you're the same as the official developers. You're pretty arrogant."What's the difference between the Tremulous devs and the TremFusion devs? The Tremulous devs worked on
Tremulous for 8 years. We haven't. We look like ants. We certainly can't imagine how long and hard the
devs worked to make all of this awesome stuff that we enjoy. Now, they are human, and so are we. So, we
try to treat the Tremulous devs as humans and we expect the same. We could bow down before them and say
"Pleeeeeeease, tell us your mighty will!". We don't think that'd be very fruitful and we don't believe
anyone should treat anyone else that way. We believe in acting, so we act. The Tremulous devs did the
same thing 8 years ago - they believed in something, they thought they could do it, and they pulled off
something awesome. Fundamentally, we're the same.