Todo List
Engine - Actors
Complete development of the ActorSoft Class. This includes adding utilities to sanitize meshes before they go into Bullet, a way to get the objects center of mass, wrapping a method to alter most(but not all, not right away) of the configuration settings for the soft bodies, and construct custom Ogre buffers for use with soft objects that require frequent updates.
- 25% - Assigned To:Create an ActorCharacter class for use with game Characters. The ActorCharacter class would have to be made along-side a Character Controller. The ActorCharacter class should be designed with both ragdolls and traditional capsule characters in mind.
- 5% - Assigned To: admin
Engine - Audio
Implement a decoder for the Flac encoding.
- 0% - Assigned To: adminImplement a decoder for the Opus encoding.
- 0% - Assigned To: adminImplement a decoder for the Speex encoding.
- 0% - Assigned To: adminImplement a means to attach an Audio Recorder to an Audio Sound or SoundProxy such that it can play it back in real time.
- 0% - Assigned To: adminImplement Encoders (as opposed to decoders) to go with all implemented decoders.
- 0% - Assigned To: adminResearch the possibility of adding geometry classes to the SoundScapeManager and building a system to automatically generate effects based on that geometry.
- 0% - Assigned To: adminResearch the possibility of creating a decoder for the MP3 encoding. If it's possible and legal, implement it.
- 0% - Assigned To: admin
Engine - Build System
Fix the Profiling option on the windows build. Currently undefined references to mcount are occurring during compilation. This likely a variable that was introduced to count something during profiling and not all the object files are correctly referencing it.
- 0% - Assigned To: Sqeaky
Engine - Events
Gather error events from SDL (like the "Invalid window") and other subsystems with their own error reporting, and convert them to events that the game or other engine components can use.
- 0% - Assigned To: adminSplit event manager into 2 event managers. One for system events which is what the current event manager is being used for, and one for game events, such as collisions or accomplishments.
- 0% - Assigned To: admin
Engine - External Tools
Create an external program for the assembly of scene's, taking content created from other tools(our tools or outside tools, as long as the supported file types match). This program/tool could probably merge with all the other and more specific tools.
- 0% - Assigned To: adminCreate an external program for the creation and customization of Particle Effects.
- 0% - Assigned To: adminCreate an external program for the creation and editing of UI layouts.
- 0% - Assigned To:Create an external program for the creation and editing of world terrains. Must support usage of all terrains included/supported by the Terrain Manager.
- 0% - Assigned To: adminCreate an external program for the creation and editing(probably mostly editing) of material scripts.
- 0% - Assigned To: admin
Engine - Multi-Threading
Integrate the multithreaded main loop and workunit with the manager class, including a suitable singlethreaded version. Currently this is being implemented as a standalone library outside the mezzananine, and is still highly experimental.
- 35% - Assigned To: Sqeaky
Engine - Multiple Engine Systems
Complete Singleton class and use as replacement for the `world as a container of managers` idiom. Additionally, the engine needs to be checked for unneeded instances of world and manager pointer that this change would remove the need for.
- 0% - Assigned To: adminCreate a suitable replacement for the .Bullet file format with a some form of serialization.
- 0% - Assigned To: admin
Engine - Networking
Create a NetworkManager class to encapsulate the functionality of a networking library.
- 0% - Assigned To: admin
Engine - Other
Create a working port of the engine for MacOS that behaves identically to the Linux and Windows versions.
- 10% - Assigned To: admin
Engine - Physics
Implement Serialize/DeSerialize methods for all WorldTriggers classes. This will likely require some restructuring of catch code.
- 0% - Assigned To: Sqeaky
Engine - Resource
Create or integrate a stream or series of streams that can perform compression other than just zip. LZMA and GZIP seem reasonable to implement.
- 0% - Assigned To: admin
Engine - Scene
Update the SceneManager to wrap texture shadow configuration functions of it's Ogre counterpart. Also fix whatever existing problems there are with Texture shadows so they behave appropriately.
- 0% - Assigned To:
Engine - Scripting
Integrate Lua into the Engine in a way that makes sense. - Lua now compiles on windows and linux as part of the cmake build. Bindings still do not exist for most classes. A Scripting manager is being added which will support 5.1 by default and be expandable to almost any language. Lua scripts are executable by mezzanine internally, but the API has not been wired up yet.
- 35% - Assigned To: Sqeaky
Engine - Terrain
Create a TerrainManager class to manage the supported terrains of the engine. The TerrainManager class should support Static Mesh terrains and Heightfield terrains at a minimum. Manager/sub-system should be designed with more terrains being added in mind. Voxel-based terrain and Vectorfield terrain specifically.
- 0% - Assigned To:
Engine - User Interface
Clean up the code and better integrate the features of the UI system.
- 0% - Assigned To:Complete the remaining generic widgets for the UI system. These widgets include: TextBox, RadioButton, Pulldown Menu, Tabbed Window, and some more. Some previous widgets need to be updated to handle input capture(such as listboxes, perhaps).
- 25% - Assigned To: adminCreate a "UI::Action" abstract class that will wrap some non-UI action with an input action. The input action needs to be configurable. For example, using this class you implement a "Shoot" action and bind it to Mouse left click.
- 0% - Assigned To:Create an XML schema and parser to allow UI layouts to be defined in XML files.
- 0% - Assigned To:Update UI Input Capture code (the code responsible for intercepting the activation of hotkeys, and in the future, Actions, and puts it into text widgets instead) to be more clean and complete. It was initially designed for rapid development, but this makes it not a long term solution as it is.
- 0% - Assigned To:
Engine - XML
Be able to serialize a phys::world and take a complete snapshot of the game state and reconstitute that into a running game instance. This means that every class will need to be Serializable and have a DeSerializer or be DeSerializable.
- 0% - Assigned To: SqeakyFinish implementing Serialization and DeSerialization methods for all class catch will use.
- 75% - Assigned To: SqeakyImplement Serialize/DeSerialize methods for all AreaEffect classes.
- 0% - Assigned To: SqeakyImplement Serialize/DeSerialize methods for all CollisionShape classes.
- 70% - Assigned To: Sqeaky
- 6 classes left, and all framework in place. I am treating each class as 5%
Manage Global To-Do List
