Innovation Engine Roadmap 2009-2010
The XNA Game Engine tutorial series is designed to walk new or experienced programmers through building a game engine from scratch with XNA.
This is actually version 2.0 of these tutorials. If you are looking for the old series, it is available here.
The following is the tutorial road map through the end of the year and into next year.
- Introduction
- Setting Up the Project
- Building the Engine Core
- Building the Components
- 2D Components
- 3D Components
- Camera
- Model
- Actor
- Physics in 3D with JigLibX
- Skybox
- Terrain
- 3D Particles
- Advanced Engine Features
- Serialization
- Object Serializer
- Serializing Components
- Adding Scripting
- Setting Up the Script Engine
- Linking the Script Engine to the Engine
- Linking the Script Engine to the Scene
- Creating and Linking a Console Component
- Serialization
- Adding Effects
- Introduction to 3D Effect Files
- 3D Lighting
- Diffuse and Directional Lighting
- Specular Highlights
- Multiple Light Sources
- Transparency
- Shadows
- Shadows in 3D
- Shadows With Multiple Light Sources and Objects
- Building the Editor
- Setting Up the Project
- Rendering the Scene
- Linking the Engine and Components to the Editor
- Managing Components in the Scene with the Editor
- Adding 2D and 3D Manipulators to the Scene Editor
- Animating Objects
- Script Editor
I’m not sure exactly how far into the year this is going to take us, but keep in mind that I do in fact have to write each tutorial before I post them, which I’ll be doing more regularly now that we have a clear set of tutorials. So, the first few sections should be up very soon!

Hey thank you very much for the long awaited update! I look forward to this road map. If you want I have started on the Scene editor im not sure if its the way you were thinking about doing it but it works so far =P. I also created a very detailed particle engine which i am almost done with if you wanted to take a look. Let me know
Great looking forward to more of your work…
Good to see that you will continue your tutorials. I am currently working myself through the tutorials and find them really helpfull. When I have finished your tutorials I will try my luck on deferred shading. Could take a while as I am still really new to C#.
Also I am too looking forward to additional tutorials made by you
When it comes to scripting will it be a custom script language, if so what type, or will it be a existing language plugged in, like lua. Or have you not decided yet.
Also, is their a chance the terrain will be more indepth, with splatting, atlasing, blending and the like, if so I think this would be one of the only tutorials on the wbe that covers everything with concert code examples.
It will either be a VERY simple custom script language- just the basic basic stuff, or something slightly more complicated like lua or python. I’m playing around with both. I’ve written a simple parser and it’s actually not terribly complicated, and it works directly with the engine- no setup or trying to figure out how to force another language to fit.
The terrain will actually be more simple than what we have now (1 texture on a bitmap-generated heightmap) until I get to the fancy effects section, at which point we will go into a lot of stuff like that.
Hello,
Someone told me you are the same guy who posted the roeengine, is this true?
nope
Ok, cool none the less. I am courios though are you going to be doing any Occlusion Culling and Frustum Culling, or skydomes those would all be really awesome I have read through your post and left a couple questions but I like what I saw thanks man.
updateee
Hello, keep up the good work! Between your website and Riemer Grootjans book and website, I am in tutorial heaven.
Dude I love you, putting all i need to know under the same roof
Keep up the great work!!
Hi, contrats for your great tutorials. But… so long since last update, are you going to post more?
Any ETA on further updates to this tutorial, or is it dead in the water?
I am with these guys dude update please and I also sent you a friend request on XBOX LIVE and have not gotten it accepted yet man. None the less please keep the tutorials going .
I’m really busy… not that that should be a surprise. I have a free Saturday tomorrow hopefully, and in a week I’ll be free for a few weeks of Christmas. If not this weekend, then a while into the break. (I’m going to Seattle next Friday and get back a week later or so). I really hate having these periods of nothingness, sorry. I’ve just got a gazillion other things to do as well.
Robert I accepted all the friend requests I had about 30 minutes ago. Haven’t had much time for live either…
Not a problem I appreciate the acceptance dude and Thanks for checking back in have a nice time in Seattle dude and enjoy your holidays
Thank God I read good news
I’m sorry about your busy-ness, hope it wont be too hard. I’ll wait patiently.
Regards
Just posting to let you know that I am still visiting this site to check for updates. I can’t wait for more
I waiting for next tutorials.
WOOOOT new tutorials. thanks for all of your effort
Hey Sean,
Thank you so much for the tutorials, especially since you are rolling them out so quickly. These are without a doubt the best XNA tutorials I have come accross. Of course, you are a genious, working with XNA and games dev for several years.
I would like to take this minute to say a HUGE thanks for these tutorials, you are really helping me with my dream to becoming a games programmer in the near future, and also helping my brother with his college courses. He has has been doing a games development unit in his BTECH Course, and your programming has helped him to write better, more efficiant and tidy, useful code. Before your tutorials I would have to battle him trying to teach him how to code in a tidy manor, ensuring that he only wrote methods et cetera that were useful and efficiant.
Thank you very much, we are both getting alot of help and joy from these. Each step gets us closer to a working 2D game in xna (with a engine), and soon a 3D one.
Again, thank you so much. I can’t wait, like I said, to be able to make some 2D games with this engine when you have hit the end of the 2D section of the road map!
Many, many thanks!
PS: I wrote a comment on the GameScreen Road Map step that I believe to be a bug; I could be wrong however, and I found it hard trying to explain the bug. Hope it makes sence.
Thanks!
Oh, sorry for another comment, but will you be doing the collision stuff with the 2D side still?
Collisions in 2D has got to be the hardest thing I have ever tried and failed at!
Yeah I’m still going to do the physics and particles and the rest of that stuff. I just removed it because the structure will end up being a little different (different chapter titles and such) than what was on the map now that I’m actually writing it.
I updated your bug btw- thanks!
And of course thanks for all the nice comments.
Oh brilliant, I am just glad you understood my explaination of the bug. I knew when I meant, and how to fix it, just not quite how to explain it!
I really cannot wait until the rest of your 2D tutorials come out so I can get making some 2D games (working with real collisions for once)
Many thanks mate!
I don’t mean to rush things of anything. but I was just wondereing if you knew roughly how long was left until you had finished all the 2D section. I wish to make my college game based of this engine, my college project is supposed to just be a working game, any resources from elsewhere (such as this engine) will of course be creddited to the creator/owner.
Really cannot wait until the next updates, this engine tutorial is by far the best XNA tutorial out here!
Hey there,
Any progress on the tutorials?
Can’t wait for the new part to come out!
Then i can built some 2D games on this engine!
I really don’t know. I’d like to work on the tutorials but as always I’m really busy. At the moment I don’t have a minute of free time until at least February 6th, unless I can magically cram some work in. It bothers me as much as it bothers you, trust me.
I have a lot less free time this year than I did last year when I started the site…
Hmm, i was afraid that i had to wait longer xD Thnx for telling =]
Beter this way then be waiting without you letting anything out!
A question for the future 3D part tutorials. When you reach that part, will you put up an sample on how to import animated models and how to play the animation and such?
I can’t wait for new updates, I be sure to check for updates after February 6th
So true, can’t wait for the sprite component! (Is it bad to get excited over mere pixels?)
To be honest, this tutorial is and will be the best game development tutorial out on the internet, or in books et cetera.
I’ve never really been able to find a tutorial that runs you through from start to finish, giving you the most detailed information, and actually gives you something to look at and play will althroughout. I find that a tutorial without much detail, or doesn’t allow the user to see parts working and improving over time, allowing them to have a fiddle, looses their interest and they try to find another tutorial elsewhere.
Hope you have time to get some more of this Engine tutorial done soon, I know what it is like being busy all the time (I follow this tutorial on my lunch break most of the time); days can be long at the moment.
Keep up the brilliant work, and look forward to more progress.
Hope you are well!,
Shane
Yeah this is going to be one of a kind. There are some great tutorial sites out there, like Riemers, but there are not any engine building tutorial sites. On top of that, there are not any XNA books on engine building either.
No there certainly are not a great deal of books out for XNA at the moment, and there isn’t a great deal of tutorials/resources out there that help to learn and understand game engines, and other major functionallity of a ordinary game.
There are however alot of tutorials on how to do certain little things, such as using voice to control in game actions, or short tutorials on terrain generation; All of which are still pretty good.
Shame Ziggyware went down, they had alot of interesting and useful tutorials that I wished I have saved locally somewhere :’(
beautifuly done
regards !
+ thanks !!!
Would you happen to find more time to complete all the tutorial parts right to the end if you happen to get some donations? Starting with one from me for about £50 ?
I know alot of us are dying to get these tutorials finished, they have and are helping us so much, we just really want to push forward with having learned enough to perhaps make our own engine in the future.
I am pretty certain most of us would link you in our code to this website stating where we first began learning how to program XNA 3.0+ game engines…
Gotta admit man these tutorials look pretty sweet. I can’t wait till you can get some more done and online that’s for sure. Thanks a lot for helping people out and good luck with it all.
Just wanted to say thanks for the tutorials. I have been trying to write games but have been missing a nice structure that an engine would provide. Going through your tutorials has helped me alot (especially with virtualization and inheritance).
This tutorial has just died then? Only us, the ghostly followers, following in Sean’s steps of game engine design and implementaion can understand the fustraion of looking every day to see if a new tutorial is on, so only find there isn’t. At this point we feel disapointed and left in the dark when the overview shows the tutorial has so much to offer.
I, like many, are dying to get to the end and be able to implement a game engine and editor with 2D, 3D and Scripting support.
Sean,
Please, please find some time to get these done. We are all dying to get this going back on track and moving towards the ultimate goal!
Your tutorials are the best, don’t let them die and fade into the distance. You are like a god and we all look up to you for guidance. Please show us the light, the way to eternal greatness!
Many thanks for your work so far, look forward to hearing more!
It wont go any further than it is now since he’s putting all the 3D stuff into a book.
So yeh the tutorial is dead unless you buy the book which wont be out any time soon.
The tutorial is not “dead”. This book is only about 3D stuff. The 2D graphics and the rest of the engine stuff will still be online. As the tutorial is more geared towards engine design anyway, it’s not a problem. The 3D stuff can be supplemented with other stuff online anyway. No other site will, however, show you how to add scripting to your engine or how to save the state of your scene to file and edit it in an editor.
And the book should be out in six months… not all that long
Sean, so where do you plan on taking the rest of this tutorial? I am particularily interested in the 2D aspect.
Will this awsome serie be continued after you’ve finished the book? Or will there be any updating before it…
Ey man, really cool tutorials, I hope you’ll continue updating
getting excited about the 3D part
cheers
Hi man!
Just wanted to say THANK YOU for your work. It’s great to have so many things covered. I, for one, feel quite confident about coding algorythms. But I’ve never had proper training in software-design. So as long as I have a certain goal, I can pretty much work straight on towards it. But as soon as I have to plan my code, set up stuff or something, I’m pretty much in trouble. Your tuts give a nice insight about how an engine is build up. So it pretty much picks me up from where I need it.
If you could go a tad more into detail about why you code things the way you do, or could provide a few links that lead deeper into the topics discussed in a chapter – that would top the awesomeness of your tutorials off. For example your namingconventions and why you chose the style you use, intrigue me.
Anyways, I’m already curious about the next chapter, whether it be in form of another post or your book ^^
Cheers,
MEDooSA
P.S.: I would, just as Shane, be willing to donate if the money would buy you some time off to work on further chapters of the engine.
P.P.S.: Be assured that I’ll buy your book.
Aye, I second that MEDooSA.
I will buy the book the second it comes out (well assuming it doesn’t come out whilst I am away in China, otherwise the moment I am back!
Out of interest, what shall the book be called? Is there going to be anywhere we can pre-order it before its release to ensure we get a copy?
Keep up the good work!
Cheers,
Shane
http://www.innovativegames.net/blog/2010/03/16/writing-a-book/#comment-8188
“I don’t know anything about pricing or pre-ordering yet, sorry! I’ll post when I find out. All I know at the moment is that we’re shooting for a mid October release.”
Hi, I just wanted to leave a message to say how much I appreciate your tutorials. It really is a great help and am glad I stumbled across your page whilst browsing around.
Thanks again and if your tutorials are anything to go by then am sure your book will be a great asset to learn from also.
Thanks MEDooSA, I am supprised I didn’t see that yet!
It has been very busy at work! :p
Thank Jebus, it’s back!
Any idea when you might be starting again, Sean?
Sean,
The book you’ve published is brilliant and has kept alot of us busy for a long time and now have a good reference and starting point for 3d games dev.
When do you think you’ll next be likely to carry on this engine 2.0 tutorial, I am dying to see how the 3D engine stuff and scripting engine et cetera ties in with the rest. Am really looking forward to the rest of this road map!
(PS: I’d rename it to roadmap 2010-2011 since we are not in 2011 and the book will tie into it.
Many thanks for everything,
Shane
Hey Sean,
These tutorials are awesome and give great depth into the structure of an engine, although I am still a bit foggy about how to add more support to different parts of the engine such as shadows etc. Any idea if you will be continuing the tutorials or if this is dead??
Thanks
The tutorials are still alive. Sean is just taking a break (I figure about another month or so) before he continues since he just finished his 3D Graphics with XNA book. That really took him a long time to put together and get published, plus he was saying he wants to change the website around before he gets back to the tutorial writing. I’m pretty anxious as well for these tutorials to come back, I check the site about twice per day. lol
=
Don’t worry Joe, I also check this site even more than twice a day
P.S.: Sorry for my bad English.
Thats really good to know, Im looking forwards to the actors, model, materials and scripting parts as it will be really helpful to know how to integrate them into a full game engine.
I’ll keep checking back daily haha
[...] we move on further with the tutorial, readers are alerted to the nice tutorial offered by Innovative Games. This probably explains things the way they should be implemented, which is excellent background [...]
[...] the best way to understand how an engine works is to create one of my own. So, I found this fantastic, albeit incomplete, engine tutorial that really assisted in understanding how to construct an engine around the concepts and logic [...]
[...] a mashup of the ideas and principals outlined in the demos on the App Hub and the tutorials, like Innovative Games’ and Riemers, I found via [...]
Hi Sean,
When will you be finishing these tutorials? Am really interested in the adding Scripting section and the building the Building the Editor sections.
Thanks Iain