Let's get to specifics, below is a list of engine features for today:
Input System:
- touch-screen
- keyboard
- music
- sound effects
- dynamicly loading fonts from *.ttf files
- textures
- sprites
- rendering modes
- tile based world
- save and load map from files
- customizable WorldObjects
- supporting up to 4 map layers
- supporting 2D Roguelike RPGs
- advanced experience system
- hero's abilities (customizable action and effect)
- build-in Inventory System (customizable ItemObejcts)
- support for Achievements and Titles
- vectors math
- matrixes math
- customizable world rules
- support for velocity, acceleration, gravity, wind force, elasticity, friction, air resistance, displacement of water
- custom forces and resistances
- point lights (tile based)
- global lightning (tile based)
- customizable light colors
- world collisions
- objects collisions
- customizable effects
- highly efficient - 20.000 particles without fps drop
- custom file formats
- saving and loading game data
- JSON writer and reader
- XML writer and reader
- Particle Editor
- Level + Dungeon Editor
- Bitmap Font Generator
Anyway let's talk about things we did in May.
First thing we did was implementing graphics system. We created basic OpenGL structure (GLSurfaceView, Renederer, etc.) and we designed method to load, release and hold textures in GPU memory. Then we created simple method that paints things on screen using draw_texture() (for testing purpose) and we moved on to programming the core of engine.
We started by creating basic game thread and Update System. Then we upgraded it by adding game loop and FPS counter. Of course we made sure that game will run smoothly and with stable speed on slow and fast Android devices.
After that we implemented Input System and we spent next two days on synchronizing it with game loop.
25th May we implemented structure for objects in game (which can be found below), and designed basic usage of sprites. We also fixed some bugs and added support for landscape mode.
LD Engine - Objects Model |
I think that is enough informations for today :) In the part three of this series I will say something about "parallax scrolling", Font System and World System that we have developed.
No comments:
Post a Comment