Handmade Hero»Forums»Code
6 posts
Starting Problem : How do you reckon one start ?
Hello all,

TL;DR -- Want expert advice on how to start with the series and some design guidance.

I have been following HandMadeHero since the start of its announcement some 9 months back. But my circumstances at work werent conducive for me to follow the series until now. But now that I have some time (well after work hours mostly), I want to seriously devote myself to starting the series. I want a make a proper plan and that is where I need some advice.

1) Well I certainly dont want to make a clone of HandmadeHero, but rather I want to learn to design and make my own engine which I can hopefully extend to make my own games. But I remember Casey saying that he wont be covering any 3D sutff or OpenGL or DirectX stuff with HandmadeHero but just a 2D game from scratch.

My question being - I would rather like to incorporate 3D features into it. So what do you guys (Who have some fair idea what has been covered in the stream till now) recommend I do - Should I watch and follow Casey's series from start and practice on HandMadeHero's codebase then I experiment in separate project (but it will be double the amount of work and effort and I am afraid with my job I might loose the vigor) Another option being - I directly try to incorporate the things from Casey's steam and translate into my game code interpretation - Very risky and can get confusing but I guess it will give me a sense of accomplishment as I would be working on my own engine.

I guess, What I am coming at is, asking for guidance and advice of the seasoned programmers - and try to avoid any pitfalls ( ofcourse not that I will absolutely avoid it but no harm in making conscious decision)

2) About design of the 3D engine from this base - If I am not wrong Casey is currently working on the engine and then will move on to game play stuff. Correct me if I wrong, I guess the engine can be extended to have a 3D renderer in place without much change (?) Basically it can act as a engine code, with separate modules which can be for renderer code and physics engine ? What say? (Just trying to visualize road map to a fully featured game engine)

About my background : I was till recently a computer graphics student and now work in the graphics field but not in game development.

Thanks guys for reading.
Neil Blakey-Milner
45 posts
Starting Problem : How do you reckon one start ?
At the very least, don't start anything of your own before around episode 25. That's where you've got the main bits of the Handmade Hero platform layer done with a first pass. Then you can probably spend some time investigating how to rebuild this platform layer to support your chosen (first?) 3D rendering system.

I've been doing my own 3D graphics exploration alongside Handmade Hero (somewhere between a few minutes and two hours a day) for the last 6 months. I stopped being able to keep up with the videos around day 85, and have been choosing the videos I watch since I restarted a few weeks ago.

These episodes post-25 were the best for what I needed:

41-50 - maths overview, collision detection and resolution
88-89 - push buffers (I wish I'd watched this before doing a lot of my own work)
94 - gamma, linear light operations, ...
112 - understanding CPU performance
122-126 - multithreading, work queue, ...
132 - asset streaming overview
139 - introduction to sound mixing
147-... asset handling
6 posts
Starting Problem : How do you reckon one start ?
Thank you nxsy for your reply, it was of great help. I have finally started with the series.
6 posts
Starting Problem : How do you reckon one start ?
Edited by ZenSoturi on
I can't recommend that you start building some general "3d game engine". General game engine will be endless swamp. Especially if you have this notion that, first you make game engine, then you make game using that engine. Most people who has this approach, don't reach that "make game" part. I would recommend that you have at least some vague idea of game. That idea will nail down some concrete requirements for "engine" and then coding will be easier.

I feel that lot of 3d game engine projects fail because they try to make general game engine without a game. I recommend to be somewhat specific with your "game engine". Or generalize that engine later from your game.
Andrew Bromage
183 posts / 1 project
Research engineer, resident maths nerd (Erdős number 3).
Starting Problem : How do you reckon one start ?
I recommend to be somewhat specific with your "game engine". Or generalize that engine later from your game.

Or, to put it another way: WRITE THE USAGE CODE FIRST.