Er, whoops.. thought this topic died
I''ve made a decent start on rewriting the thing now, and after a brief discussion with Dave, I''m probably going to do it as a series.
Your comments have all been religiously noted down
and I''m bearing them in mind...
The first article will purely cover what a game engine *is*, and lay out a bit of a ''roadmap'' for the rest of the series (it''s more or less what you''d expect from an introductory article).
The second article covers my *revamped* memory manager - which includes my own implementation of Smart Pointers, so you can see how they work, and also includes a way of allocating memory for blocks of built-in data types (CMMBlob and CMMDynamicBlob); error logging, once again (but this time, we use variable-argument lists); and a few utility classes like Functor<>, Singleton<> and ringbuffer<>.
When it comes to my own implementation of all of this - that is, the engine that these articles are about - I''ve already got the networking stuff (mostly) working (UDP still needs some work, but TCP is down pat), with an installable message-handler system; all this to the extent that I can bounce a ball around a box on one computer, and watch it on another.
While I''m aware I said I''m a fan of middleware - and I am - I don''t think people should use it until they understand it to the extent that they could probably make their own. That''s why I use my own implementation of smart pointers, for example, rather than boost or loki; it''s much easier to explain them as I go along.
The engine''s name (and the name of the series)... will be a secret till the first one comes out. It''s a secret because I want to get as far away as possible before you hear it, before being lynched for usage of extremely bad puns.
I fully intend to actually show how to build a game with the engine - I''m not just going to heap it on you and let you figure it out.
We''re talking simple games - like Pong - but they''ll be in there, and hopefully pretty well polished. Because after all, a general-purpose game engine is what you make when you''ve run out of ideas for games.
I want to get at least 4 articles written before I submit them (to make sure that I don''t hit problems after a couple of articles). The 3rd article will (I hope) cover XML-based settings files (which, funnily enough, will be published *after* the second part of my XML article
), a runtime profiler so you can see which tasks are taking longest to execute and stuff, and the ''kernel'' itself. The 4th article.. I''m not sure yet. Probably video, sound, input, and the timer (the ''task pool'').
I guess I''d better go get writing, then.
Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs
The Binary Refinery.