Programming todo
From Trinity Reign Wiki
Contents |
Client
- Core [Complete] Notes: The basic skeleton seems to be sufficient and stable.
- GUI [WIP] Notes:
- Out-of-Game [Complete] Notes: There may be a few things left to do, but for the most-part the out-of-game GUI is very stable and polished.
- In-Game [WIP] Notes: Still quite a bit to be done here.
- Menu [Incomplete] Notes: Basically non-existent at the moment, but it's pretty low priority for now.
- Chat [WIP] Notes: Only basic chat functions in place at the moment. The chat system could need reworking to get multiple colors going at once and this is why it's listed as a work in progress. See Chat under the server to-do (scroll down) for information on the chat system.
- Inventory [Incomplete] Notes: Not started yet.
- Terrain [WIP] Notes: While the terrain support is implemented into the game, the shaders may need to be adjusted eventually; furthermore, there's a weak content pipeline for the terrain at the moment. Expect this to be complete when the editor is usable.
- Collision Detection [Complete] Notes: I haven't tested it at all yet, but I don't see any reason it wouldn't work.
- Sound [Incomplete] Notes: Will probably use OpenAL.
Server
- Core [Complete] Notes: The core here is loosely defined due to the style of the server code.
- Simulation [WIP] Notes: This probably won't be green until the last stages before this game goes public due to the fact that this is the area where the server will suffer performance hits.
- Collision Detection [Complete] Notes: As far as I know it works okay, but it may be a good idea to test it more thoroughly.
- Terrain [WIP] Notes: Keeping this yellow for now because it could be the case that the terrain and collision has to be broken up into a server farm or something similar in order to perform at a feasible speed.
- Chat [WIP] Notes:
- Say [Complete] Notes: All players within 1000 units of the chatting player hear what he/she has to say.
- Party [Incomplete] Notes:
- Guild [Incomplete] Notes:
- Database [Incomplete] Notes: This will be used for storing in-game information mostly.
- Load Balancing [Incomplete] Notes: Probably won't be in for a while, but may be necessary before going from beta to release.
Master Server
- Core [Complete] Notes: Once again, the core here is loosely defined due to the style of the server code.
- Authentication [WIP] Notes: While there's login authentication, there's no server-server authentication (session IDs?), meaning it could be easy for someone to hack into other's accounts... Nothing to worry about until we launch a beta.
- Database [Incomplete] Notes: This will be used for holding account information.
Terrain Editor
- Core [Complete] Notes: Uses Ogre3D, CEGUI and SPT2.
- Camera System [Complete] Notes: Isometric view only.
- File Operations [Complete] Notes:
- DotScene [Complete] Notes:
- Import [Complete] Notes: DotScene files can be created and loaded at any time.
- Export [Complete] Notes: Simply selecting a save option should does this automatically without the need for nasty file operations.
- Mesh Loading [Complete] Notes: Loading in a mesh consists of allowing the user to look at available mesh names then pick one. From there, it is placed in the world and automatically selected.
- DotScene [Complete] Notes:
- Tools [WIP] Notes:
- Terrain [Complete] Notes:
- Brush [Complete] Notes: May want several brushes for terrain modification.
- Buttons [Complete] Notes: Left mouse button to raise, middle mouse button to flatten, right mouse button to lower, scroll wheel to increase or decrease brush size.
- Brush [Complete] Notes: May want several brushes for terrain modification.
- Splatting [Complete] Notes:
- Brush [Complete] Notes: Select between available textures for splatting, left click to apply texture, right click to erase. Scroll wheel adjusts brush size.
- Objects [WIP] Notes:
- Properties [Complete] Notes: Allows for changing of properties such as x/y/z dimensions, scale, userData, etc.
- Manipulation [WIP] Notes:
- Selection [Incomplete] Notes: Need ability to select one thing and select multiple things and once.
- Place [Complete] Notes: Places objects on the terrain at the mouse cursor.
- Move [Complete] Notes: One of the later things to implement, can use properties to adjust things in early stages.
- Rotate [Complete] Notes:
- Scale [Complete] Notes: One of the later things to implement once again.
- Snap To Terrain [Incomplete] Notes: Should allow objects to fall onto the terrain in a neat fashion.
- Terrain [Complete] Notes:
Important Notes: When the terrain height is adjusted, the objects need to be refitted along the y to accomodate (preferrably using the offset the person has already put on the object from moving it).
