Ok so I’ve decided to write my own engine. I’m doing this not to make a game or anything but to learn from it. I’ve read the articles where people say ‘make a game not an engine’ but I think it is very important to actually learn by doing. I’ve been reading a lot recently and feel like a lot of the stuff almost goes in one ear and out the other, mainly because I’m not actually doing anything to follow up my learnings.
So I’m going to begin creating an C++ Open GL based engine (over my lunchtime). The main aims are:
- Minimise the use of virtual functions and inheritance
- Minimise the use of STL
- Have modular and heavily configurable sub-systems
- Aim for deferred rendering in my scene
- Implement a simple data-based GUI that includes an in-game editor (possibly haven’t decided on this yet)
- Incorporate scripting
- Make use of threading/multi cores
Today I’m not really doing anything in particular, just reading. I’d imagine I’ll be doing this for a while before I even write a line of code.
I’ve read the excellent Game Engine Architecture by Jason Gregory but will start again looking at it taking real note and actually sketching out some designs. I like the idea of the way Unity do things with Entities and a property system.
I intend to revisit this post during the coming months and amend, laugh and update it… will be an interesting challenge ahead. It’s certainly going to take a long time given that I can only give it about 45 minutes a day!