Milk EngineCopyright © Ek and Ernerfeldt '03. All rights reserved. |
Input
Basic input, key-press, key-release, key-down. Mouse input as well. Simple text input. Controller-mapping.
Sound
fmod? 2D/3D sound. Streaming/preloaded. Volume, priority.
Renderer
Create window, init OpenGL. Culling of objects (i.e. frustum culling).
Vertex-Buffer
Support for CVA (Compiled Vertex Arrays) and VAR (Vertex Array Range)?
Font
Text rendering, 2D and 3D
Camera
2D/3D Camera.
Script-engine
Fast, flexible and easy to use. Simple to integrate the other parts of the engine with this scripting-system.
Menu-system
Standard controls, skinning support.
Console
Pretty much an interface to the script-engine with some nice features like tab expand and history.
Network
Using SDL_net? TCP, UDP. Easy to integrate.
Image
Probably using SDL_image. Will include some simple image manipulation functions, and of course alpha-channel support.
Texture-manager
Multitexturing, mip-mapping, different filters.
Model-manager
Support for some 3d-formats, to start with, Milkshape3d. Full animation support.
Resource-manager
Easy access to resources.
Virtual file-system
Load files from archives, maybe zips?
Particle-system
Very flexible.
Logging
Nice text output. Maybe HTML output support too?
Error-handling-system
This will be done using some nice sort of exception-hierarchy.
Entity-manager
Handling of objects.
Timer
High resolution timer, the SDL timer functions I suppose. Not much to say.
Vector (2d, 3d)
Not much to say here. Template based.
Matrix (4x4, 3x3)
Template based as well.
Quaternion
To be integrated with the matrix class. And of course, some slerp functions.
Collision-detecting
Collision detecting of different primitives, both 2d and 3d. (Boxes, circles, spheres, lines, rays, cylinder and points.)
Random-class
Randomization functions.