-
Notifications
You must be signed in to change notification settings - Fork 1
Basic Features
Ingo Ruhnke edited this page Mar 22, 2015
·
3 revisions
This is a list of basic features we should either get from additional libraries or write small classes ourself.
- Setting up Fullscreen/Windowed OpenGL Context, the mode should be switchable at runtime
- Gathering Input from Keyboard/Joystick/Mouse
- Allow input to be configurable
- Demo recording/playback of input
- Some structured file format parser/writer for config, map, tile- and sprite-definition files
- Optionally support for a binary format, since loading large tilemaps from a structured text file is slow
- Some way to store/retrieve translated strings (tinygettext)
- Loading images (png, jpeg would be a nice addition but is not mandatory) and creating opengl textures from them
- A system that gathers all drawing commands, sorts them and maybe optimizes them for opengl
- The drawing system should be statefull to allow translation and maybe scaling and rotating of following drawing commands. It should be possible to maintain a stack of such transformations.
- We need Fonts to display Text on screen
- Fonts might be based on TTF for easier scaling/unicode support etc.
- it should be possible to apply some effects to fonts, black-border, color gradients, glow, etc.
- Fonts sholud be antialised
- Several Animations that can be switched. Animations are defined from a series of images. Speed of the animation or even single frames should be freely adjustable.
- It should be possible to freely define the origin point of a sprite
- Animation images can be extracted from bigger images (texture coordinate animation)
- Support for reversing animations and mirroring/flipping the images will reduce the number of images needed.
- We might have to extend sprites to support the 3 layer displaying of windstille
- Sprites should be defined in datafiles, so that properties like framerate and such are easily changable
- Sprites can come in the form of 2D (generated from pngs) and 3D sprites (generated from blender models)
- A way to send sound to the soundcard.
- Load wav and ogg files
- Stream ogg files for background music
- Mix several sound sources together
- Positional audio (we could also build a fake solution with adjuts panning/volume)
- Effects applied to sound streams (echo, reverb, etc)