This is a 'work-in-progress' roadmap for PVLE.
- 0.1 - Basic integration of 3D, physics, and inputs
- 0.2 - Full integration (3D, physics, inputs, networking, and sound)
- Networking
- Integration
- Gameplay classes (teams, players...)
- Sound wrappers
- Game
- Profile/preferences/options file parser
- Display
- Explosions
- Trails (Homeworld / Spring type) for missiles, swords, etc...
- Build
- Builds at least on Linux and Windows
- Internationalization (Texts only)
- 0.3 - Advanced engine functions
- Physics
- Support for environment (air, water...) friction
- Support for collisions of fast moving geoms
- Display
- Game
- Scripting (Lua and/or Python?) that can read/write engine/game data.
- Python: boost::python
- Lua: use lua lib?
- 0.4 - Full-featured 2D/3D GUI
- Display
- Support for GUI (2D/3D windows, buttons, scrollers, input fields...)
- Console
- Internationalization (Full: Texts, dates, numbers, currencies...)
- 0.5
- 3D
- Support for animated models and their file format (which one?)
- Physics
- Support for a physics model file format (DIF ?)
- Entities
- Support for a unit file format (XML - Home made)
- Utilities
- Unit viewer/editor (Simple)
- Full model (Physics + 3D) viewer/editor
- Basic IA functions
- 0.6
- App
- Multithreaded application framework
- 3D
- Advanced terrain renderer (ROAM, QuadTree...)
- Deployment (using CMake or another full-featured autoconf/automake tool)
Other ideas:
- 2D Post render effects (Generic image processing)
- Per pixel processing
- Ability to render human-type vision of light intensity (Stretch colors when scene is dark)
- Bloom/Convolution filters
- 3D Classes, helpers, etc.
- Tire tracks (road, sand, snow...)
- Water texture effects
- Static lighting (per vertex or with lightmap)
- Squeletal animation
- Ability to clone an animation to another skeleton
- Motion blending (Transitions between animations)
- Screen capture (Image/video)
- On-screen camera (BattleZone II type) with ability to customize detail level per camera
- Portals
- Pathfinding
- IA
- LUA/Other Scripting
- Finite state machines
- Events/Messages between IA and other IAs, the game, a script, etc...
- Sound
- Event based changes of musics
- Crossfading musics
- Block-based change of musics (blocks are written in a separate file, and describe when and how change occurs: "before/after the end of the block", "anytime", "never"... "with crossfading of 'n' ms", "with slowdown", ...)
- Other