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.1337950183.txt.gz · Last modified: 2024/08/26 13:57 (external edit)
                
                