Hi,
Well, I can't not comment, since I am working on a gaming engine right now.
That being said, I am into retro games, so I am 0% interested in most modern gaming features.
It's in Javascript. It's 2d only. There is no scripting, AI or multiplayer, or anything “modern”, and it's tiny.
The end goal was to get my hands dirty with Javascript in the browser, and see if I can create some semi decent 2d retro games for the browser at the same time.
I am avoiding more or less everything that is not standard javascript. Not libs, no nothing.But then again, I am 100% sure there is no money into doing it like that ? But there is some fun to be had. Feel free to check it out.
But in short I needed:
- Framework for loading stuff
- Framework for game states
- Framework for 2d sprites
- Movement
- Alocation
- Some “special” effects
- Collision detection (this is a big one)
- Some reasonable grip on events, for timings, rendering, input, and asynchronous other stuff. (JS is super async)
- Framework for dealing with rendering, processing and input.. timing is still missing.
- Framework for block fonts (coloured fonts)
Things you find obviously missing:
-Multiplayer related stuff
-Saving score related stuff
-Scripting related stuff
-Anything that smells of 3d
I am heavily relying on browser features to display images, animations, play sounds, play music, get input.
The browser is my “hardware” so to say.
I am doing 2 games in it at the same time (actually 3, but who is counting ?)
Since it is more or less as @gotanod says, pretty important to be able to figure out the boundaries between the games and the engine itself, and find out what features you want. 1 game gives you an incomplete engine.
ps. Here is the game engine if you want to check.
https://www.gamedev.net/blogs/blog/5911-game1/
I guess what you find is quite alot of code already for that. Which is maybe what you need to know most. (2300 lines of code or so, and counting)
It is quite the effort, and that's only for a partial 2D gaming engine. If it was not so much fun, I would never even start.
If you go 3D, multiplayer, AI and scripting type of features then I hope you find plenty of collaborators :)
All the best
/C51