It was recently decided that rather than developing several independent forks of Tremulous that all do the same thing, we should combine STFU-Tremulous, Amanieu-Tremulous and DnC into a single, better fork. This page documents the design decisions to be made as that is undertaken. This should be an area of intense discussion and brainstorming.
TheMerge is not the final name of the project, but rather a holdover name so that we can easily refer to this project in our discussions.
We have our mercurial repository here: http://dnc.tremforges.net/hg/themerge/
Items Currently Under Discussion/Vote
Project Name
We can't use TheMerge forever - it's a lame name for a game. Please add any suggestions for a name here. Any idea will do, we'll whittle the list down later
- Timorous - it's a synonym for Tremulous
- Tremulant - also a synonym for Tremulous
- Tremor - idem :)
- Quiver - description of tremulous, Ex: Tremulous, to quiver. :D
- Tremulous++ - Shows that the game is still Tremulous, but it is better (Like Notepad++)
- Shiver or Thrill - The logic in this is that Tremulous is based on Quake. a tremulous is like a little quake, and a thrill is a variant of that
- Tremerge - Uses the merge and the Trem
TheMerge Feature Lists
Each team is to list the features they currently have which should be merged into TheMerge. These should be major features which are actually complete, or near-complete, so that an initial, stable version of TheMerge can be released as quickly as possible. From there other speculative features can be discussed and added. Any admin commands (!info, !pause, !buildlog) should be implemented as python/lua scripts rather than added to the code kernel. The kernel is to be kept as small and stable as possible. Interesting new features should be added as scripts wherever possible.
DnC Features
DnC will continue the testing of gameplay changes in the madcat branch a bit. Everything else will go to TheMerge. (am I wrong ? --Kang)
- Lua
- Renderer Improvements
- Qcommon Scripting features
- Bind on release
- Madcat Gameplay Changes
- SIMD for vector operations
- Some Xreal optimizations
- !ban using prefixes to avoid confusion between connected players and banned ones
- In game menu/huds
(to be completed)
Amanieu Features
I'm just going to release version 1.5 of my mod and then I will work on TheMerge
- Lakitu7's qvm 5.2 - We will have to review each patch one-by-one for inclusion
- Public key identification
- Alt+Tab for client
- Sanitize server list hostnames
- Epoll for enhanced server performance
- messagemode5 for admin chat
- Aliases
- Scripting features:
- - Console script arguments
- - Cvar substitution in cmdline
- - math, if, strcmp, prompt, delay commands
- Show black text in console
- Key release binds
- Reduce map change spam
- WWW download URL override
- Messagemode extension
- Warmup extension - Script
- Client upgrade notice - Script
- No map reload if next map is the same as current map
- Improved retribution - Script
- Lock into spec - Script
- Ghosting - Script
- !report - Script
- VIPs:
- - Override maxping
- - Automatic private slot
- - Immune to subnet bans
- Infinite money in devmap
- !cp, !drop, !listmaps, !listlayouts, !maplog, !adminlog - Script
- Ban notice
- Muted players can't taunt
- Credit overflow - Script
- Repeating messages - Script
- /builder - Script
- Max ban length
- Layout votes
Amanieu Draft Features
- http://amanieu.homelinux.com/newtrem/ADMIN - New admin system (also paste in NewTremDraft)
- Remove console say from sv_ccmds.c, move to g_svcmds.c
- Include masterdemo patch if I ever get around to finishing it ;)
- Split clientside demo recording and playing so you can record a demo while playing another one
- Remove packet filtering from g_svcmds.c, use cidr bans instead
- Remove the broken kick system from sv_ccmds.c
- Remove all unused cvars/features
- We should provide a complete installer like Tremulous 1.1
- Use a better/faster compression system instead of zip (we should keep zip support for existing pk3s)
- /help will provide help for *all* console commands and cvars, help for server commands will be transmitted
- !help is an alias for /help
- '/help' with no args is an alias for '/cmdlist'
- Register qvm commands with the main command system, also allow each function to have custom tab completion
- Use libjit instead of qvms, but keep qvm support.
- Change the version info in q_shared.h
STFU Features
STFU has already abandoned development of STFU Tremulous in favor of developing for TheMerge.
- Bots
- Python
- Alien attack feedback
- Buildable damage feedback
- User-selectable HUDs via an in-game menu
- /teamstatus command
- New admin.dat file - this won't be merged per se, but features from it will be added to the new admin.dat system proposed by Amanieu
- Deaths field in the score chart
- Player status information (!mystats)
- OGG support - this doesn't need to be added, it is already in the Tremulous code but not enabled. It should be used throughout TheMerge as we will be adding a lot of music to the game
- Anaglyph rendering - not sure how useful this is, but we have it, and so it should be considered for addition
- Dynamic game rules system - we no longer use tremulous.h to compile in the various values for things like attack length/damage, but instead use a configuration file that is loaded at runtime
IRC Transcripts
Generally these are long and boring unless you're really deep into development. However, since we believe in a very open model of development, we want to put as much information out there as we can about what decisions are made and what's going on. So, until we get a bot that can do this for us, we'll manually post important IRC transcripts here
