Is it okay if I fork a version of bitfighter for experiments
Here is my list of things I'm going to play with currently (I will keep this list up to date by editting this post).
The Repo Can Be Found Here: https://github.com/mrozbarry/bitfighter-experiments (This will not compile, as of Thursday, April 3, 2012 - I will let you know when I have the first working version)
- SUPER HIGH PRIORITY: HUGE code-base cleanup
- I've been going over the code with sam686 and there are a lot of things that need to be cleaned up, and removed.
- [s]Restructure project directories for organization[/s] (completed Sat April 28, 2012)
- TODO: Fix various project files
- TODO: Fix various project files
- Remove all global variables (yuck!)
- Replace all applicable pieces of the engine with SDL-based code, emphasis on threading.
- Update TNL (? may not be necessary)
- I've been going over the code with sam686 and there are a lot of things that need to be cleaned up, and removed.
- Performance:
- Conditional Compiles:
- Benchmark current physics handling with Chipmunk physics
- Benchmark current lua scripting with gamemonkey script
- Benchmark current physics handling with Chipmunk physics
- Multithread the server:
- Each client (or client group?) gets a pooled thread
- Physics run in a separate thread
- Each client (or client group?) gets a pooled thread
- Moving voice communication to a separate socket (most games I've worked on used a separate socket, but this may also be a threading issue)
- Conditional Compiles:
- Revamp editor to make it easier for larger level design, as well as including support for any new feature
- Rethinking how we handle resolution changes (because stretched images suck!)
- Add a match recorder (physics snapshots)
- Adding scripting interfaces for weapon definitions
- Changing the game HUD a little
- Examining the map format to see if it's extensible and if it is not, if there are any ways to update it without breaking older maps (See thread Changing the map format)
- Adding more map-based events
- Adding power-ups:
- A single-round weapon to deploy large shield bubbles
- Temporary increased power regeneration
- Create a limited use wormhole/portal
- A single-round weapon to deploy large shield bubbles
- Experimental/Toys:
- Kill camera
- Gravity wells
- Kill camera
- Game flow:
- Default loadout (thanks Heyub)
- Delayed respawns
- Default loadout (thanks Heyub)
- Aesthetics:
- Paralaxed map backgrounds
- Paralaxed map backgrounds
- Backburner (these may or may not be done, and are considered very low priority):
- Moving game modes into dynamic libraries (meaning new game modes don't need the whole game to recompile!)
- Modularizing the code, which will include:
- Moving different game components (rendering system, network, server, physics, map handling) to dynamic libraries that are loaded by the main executable
- Adding test cases for each component (hurray, we can find out quickly if we broke a part of the engine)
- If possible, I'll play with the update system to only update the individual components and files, rather than just grabbing a brand new installer.
- Moving different game components (rendering system, network, server, physics, map handling) to dynamic libraries that are loaded by the main executable
- Moving game modes into dynamic libraries (meaning new game modes don't need the whole game to recompile!)
This list is highly dependant on the amount of free time I have, and will certainly not be done by the end of this weekend, but I am going to be working on it, and let you know which pieces I have done and which have either been scrapped or removed from the list (I'll give reasons, don't worry).
This isn't really a request thread, so don't just give me what you want in the game, but do link me to feature request threads that are viable and I'll explore those options if I can.
-Beard
*EDIT*
I am also going to add a bug list of what I've found (yes, I'm looking in every nook and cranny).
- Cannot use the space key in input fields (noted in UINameEntry)
- Cannot use keys corresponding to menu items in the host game menu (letters D, L, C, M)
- Null pointer issues while exitting
Important Note
The code structure changes have came to the point of no longer being a branch/fork of the original code. Although my code will be sharing the network protocol and some drawing code, my code base is distinctly different. I will be attempting to emulate as many things from the current version of bitfighter, BUT I can't guarantee that everything will work just as it does currently. This is largely due to how the physics environment is handled. As much as it pains me, I think this is a few steps in the right direction, but I'll leave that up to you gents to decide.