I made myself an engine for my current project and thought to share about it with you.
My main goal is to make:
- something to handle quite large layouts
- something to let me focus more on gameplay and less on placing sprites one by one on layout.
Having this in mind I made it to be very compact (object count wise) and fully automatic - doing all for me on runtime.
So basically what I need to do, is to define specific areas like walls, doors, player start/end positions... Which are represented by simple tiles - like in every level editor but without having one.
Events then translate that areas and place proper objects at runtime and set all needed logic, effects etc.
Engine in current version:
- Top-down perspective
- Making levels is very simple (example below is using sprite animation frames to load and setup level. But it's made to read data from *.png files, Tiled *.tmx files, or simply by drawing tiles on layout...)
- Z sorting with different object types
- Simple enemies AI (chasing player on sight)
- Simple player controls (walk, interact with doors)
- Minimum object count as possible (for Layout 8192x8192 it's using only 82 objects)
- Random level creation (can't find any good solution for that:/)
- Tweak lighting and shadows
- Full player/enemies animations support (Spriter with new plugin will fit beautifully when it is finally released)
- Proper gameplay mechanics
- Art style
Here's a little screenshot (all objects are only temporary placeholders)
Windows, OSX, Linux 32, Linux 64, apk (using Crosswalk), www,
(I'm not able and probably will never be to test OSX and Linux version, but they are here if someone's interested)
On my PC: Win 7 64bit sp1 - Intel Core i7 3770K, 32GB RAM, Intel HD Graphics 4000 (my GeForce 570 gtx broke on a Monday ) on Large map (Layout size 8192x8192) filled with objects I get 60fps all the time, no hiccups or slowdowns.
Even with my current shadow/light engine (based on R0J0hound Paster plugin) I still keep 60fps.
Lighting engine is not present in current preview because it needs many more tweaks and I'm still not happy with it.
So yeah, please test it. Post your specs and fps results. I'm very interested how it's running on different configurations - especially on linux and osx.
Any questions or suggestions post below.
Thanks for watching/reading