documentation:planning
This is an old revision of the document!
Planning
- Deferred rendering in XNA using MRT (diffuse, normal, depth, specular power, specular intensity)
- Implement Spotlight
- Implement Spotlight Shadow Mapping (applies to pointlights to)
- Re-implement Cascaded Shadow Mapping, now for the deferred directional light
- Implement Screen Space Ambient Occlusion (SSAO)
- Do some research for HDR
- Ensure operation of the editor, with the new database system.
-
- Fix the worldeditor to run again
- Adjust the WorldEditor/sceneeditor to allow Entity Placement with new Database System
- This should be independent from the database system
- Add serialization mechanism to save and load scene's, from database and from file.
- Implement the EditorMeshRenderData
- Write test
- Support materials
- Work on ColladaMeshImporter. Test!
- Test rendering the loaded data
- Support saving meshes to XML!
- Make support for Entities again.
- Save and load the Objects to and from the database
- Save them to the database.
- Find some way to solve the whole textures/shaders issue
- Write the tests
- Enable saving anything to a file. This requires some kind of functionality to link these files in case references are needed (like with a terrain that has textures)
- Enable saving to the WorldDatabase working copy
-
- Think about a system that automatically creates a form from attributes in a class. This could make testing a lot easier.
Support rendering entities in the client (clean up/remake old version) EDIT: all these things are postphoned for the moment, since all below depend on render batching algorithms, and shader usage structure, not yet defined
- Make a class that renders an entity from preprocessed data, make that preprocesser
- Make a class that renders an entity from editor/full entity data. (slower)
- Tests!
- Load entities from the db at startup, and render them using one of the renderers (preprocessed preferably
- Create an Wavefront OBJ and mtl importer. Consider FBX importer?
- Networking:
- Created the auto NetworkPacketFactory code generater
- Implement the tests
- Support properties!
- TODO: make sure no invalid factories are loaded from the cache!
- TODO: not using the attribute on the class itself atm
- Implement custom serialization support
- Write a performance test: send loads of packets after each other, see if they all arrive and at what speed (packets/sec)
- Cleanup unused/ commented code
- Add security checks:
- If not all transporters in the manager have a remote counterpart (partial synchronization), then notify.
- If a packettype has been added multiple times, and there are conflicts in resolving the transporters synchronization: notify
- Make sure the networksystem cannot deadlock
- Support UDP
- Support Compact packets
- Create the ServerTransporters: sending to multiple remotes?
- Implement the ConnectClientNonNetworked functionality.
- Complete the ColladaSchema project
- Add documentation about it in this document
- Complete it so it fully complies with the collada specification. Elements not implemented must be captured by the XMLAnyElement/Attribute attribute so when saving a loaded document no information is lost.
- Write tests that verify its operation
- Synchronize the database with a server (two-way).
- Lighting engine
- Think out gameplay!
- Particle engine
- Create dynamic synchronization (in game sync, not startup sync, of dynamic objects).
- Make the Terrain Client application logic.
Enable the Terrain module to work in TheWizardsclient. Extra but tedious: (a lot of work, not really necessary atm) Make Unit tests for the client Terrain Cleanup the client Terrain
- Enable the Entity module to work in the ClientModule.
documentation/planning.1307364725.txt.gz · Last modified: 2024/08/26 13:57 (external edit)