This is a roadmap to develop games primarily as a Hobby in the style of DIY (Do It Yourself ). Being a hobby does not mean that your games can not generate money later. Note that this is not a guide to create video games in 24 hours, instead it’s a roadmap that will take you months but you will learn programming, art and make awesome and better games.
A key part is knowing English, most resources, tutorials are in English. It would also be ideal as the default language of your game to reach more gamers.
On one part, the roadmap splits between using a 2D or a 3D engine. This is a very important decision, since the scope of your project will change accordingly. 2D Projects can be made with a single person or a very small team, can start with simple art, pixel art, or your own scanned drawings. 2D programming and mathematics will also be less complex inside the 2D engine.
Instead the 3D route is the most complex, as hard as fighting a Metal Gear, if you do not have Grey Fox on your side probably the 2D route could be better to start. You have to model 3D characters, bones and rigging systems, UV textures, 3D physics and dynamics, and many complicated things that can go wrong by adding another dimension. I do not include tools like Zbrush or Mudbox in the workflow since that will increase workforce needed to complete a standalone game. So if you are on the 3D road think games like Rush, Shatter, Bob Came in Pieces, etc. instead of trying to make the next World of Warcraft, Uncharted or Metal Gear Solid. This last group of games can take five years of development, with 1,000 professional employees and a $ 50 million investment, keep that in mind.
Regarding the music is recommended that someone with more experience in that field it’s in charge of that, but you could try to compose some tunes if you wish.
It’s better to start with the first tutorial of Construct and then alternate these with readings of Game Design, Indie Game Development and Business & Marketing.
Update: I updated the roadmap to develop independent 2D games in Unity 3D. After done some researching and see some examples of 2D games being developed in Unity, I can say that it is entirely possible and a good choice, since apparently Microsoft is not updating XNA to support new DirectX and other technologies. On another side Unity has a great community, with many books, tutorials, and plugins that will help you work with 2D sprites within the engine, and is always updated. Another advantage is that if you want to create 3D games after making some 2D games you do not have to learn a new engine or language since it works with C# too. The only downside is that you have to buy a license for Unity Pro
And most important: have fun and love what you do.
Follow us on Twitter @LionInnGames
Like us on Facebook Lion Inn Games
Indie Game Development
First of all it is good to do some research on what you’re getting into. The game development and especially the indie one takes a lot of dedication and discipline. Understand that an idea is not a video game and be realistic to what you can achieve. Here are good reads about it.
- What is an Indie Game? - Wikipedia
- Independent Game Development – Wikipedia
- Ideas are just a multiplier of execution – Derek Sivers
- How to get started - Sloperama
- Lesson 1 Redux – MORE about what to do with your original game concept - Sloperama
- Indie Game Design Do-s and Don’t-s: A Manifesto - Edmund Mcmillen
- Indie Game The Movie – (documentary)
- How do I make games? – A path to game development - Geoff Howland
- Building a game on your own - Nate Miller
- How much fun is game programming? - Francois Dominic Laramee
- General Concepts for beginning developers - HobbyGameDev
- How do I actually finish a game? - Derek Yu
- Inspiration and Game Development - Pixel Prospector
Business & Marketing
Video games are an industry like any other. Many think that creating video games it’s just about playing the whole day playing and money magically falls. But for that to happen you first need to plan how you will sell your game, know about digital distribution sites that will allow your game to be sold. Understand that these places will get a commission (sometimes up to 50%) of the total value of your game. And that to reach more gamers you need to create a community following your updates (the whole social media crap).
- Stop looking for funding - Indie Bits
- 9 Steps to Self Publishing Your First Indie Game - Indie Bits
- Indie Resources Business - Pixel Prospector
- Indie Resources Marketing - Pixel Prospector
- Indie Resources Website creation – Pixel Prospector
Game Design
The heart of your game. Where all ideas and creativity comes together to create the gameplay. Inside Game Design there area other areas like: level design, game writing, world creation, user interface design, content design. The Game Design is an iterative process, that means that it will change and improve while you are developing the game, so do not spend months doing a game design document that will change anyway when the game takes more shape. And remember that it’s important to also learn how to code and make art, so you know how much it would take to do what you’ve designed or if it’s realistic what you have in mind.
- Making Games The Hard Way: How to Start a Garage Game Development Company - Sloperama
- Bottom-Up vs Top-Down Game Design – Hobby GameDev
- Designing Games That Don’t Suck - Gamasutra
- The Fundamentals Of Game Design - Raph Koster
- About Level Design - Sloperama
- The Big List Of Game Design - Pixel Prospector
- The Big List Of Beta Testing - Pixel Prospector
Construct 2
A program that allows you to make 2D games with the option to export for web without the need of programming skills (or very little). I include it because it’s a great way to create your first game quickly and the feeling that you are actually making something it’s great.
UPDATE: I added more tutorials, including simpler games like Breakout, PacMan, Tic-Tac-Toe, which seem silly but you will learn basic programming and gameplay concepts.
- Beginners Guide to Construct 2 - (tutorial)
- Build a Classic Pong Game From Scratch – (video tutorial)
- Cloning the Classics: Breakout – (tutorial)
- Cloning the Classics: PacMan – (tutorial)
- Building a platform game – a beginner’s guide - (tutorial)
- How to make a platform game - (tutorial)
- More Construct Tutorials – (tutorials)
Published Games
Just with learning you are not going anywhere, you have to publish that damn game. Always create new prototype games and finish the ones with more potential. Publishing your initial games will help you grow a community that follows your games and you will gain confidence to start new challenges. There is no point having them hidden in your drawer. Start by creating one simple and minimal game in Construct, publish it and then make another with more advanced engines. But if you can not at least create a simple 2D game like Breakout or Tetris, it will very difficult to develop your dream game in Unity.
Programming Foundations
Programming is not just learning a language, there are certain concepts that you need to learn before talking to machines. If you do not want to learn to program, then indie game development is not for you. The point is not to learn to be the best software developer in the world, but to be able to create your own prototypes and video games without depending on others. It is one of the most powerful skills that you must learn.
- Getting Started to Programming - Code Academy
- Javascript Fundamentals - Code Academy
- Foundations of programming - Lynda (video tutorial)
- Foundations of Programming Object Oriented Design – Lynda (video tutorial)
- Javascript – Essential Training – 1-3, 10,13 Lynda (video tutorial)
- Fundamentals of Software Version Control – Lynda (video tutorial)
- How to program independent games – The Witness
C#
A language created by Microsoft that is widely used in the field of games, not as complex as C++ but enough to be able to develop games for consoles, mobile and web.
- Introduction to the C# Programming Language - video tutorial (video tutorial)
- C# Tutorials – Riddlersoft - (video tutorial)
- C# Yellow book - (book)
- C# Essentials – Technotopia - (book)
- C# Essential Training - Lynda (video tutorial)
- Head First C# - (book)
- C# 5.0 Pocket Reference - (book)
- C# Crash Course - (tutorial)
Music & Sound
Music and sound, a very important part of your game. At the beginning you can use stock sounds and music, and when you have more experience you can try creating your own sounds and music. If everything fails then there is always the friend who knows how to compose.
- Basic sound theory & synthesis – Dr Petter
- Indie Resources Music - Pixel Prospector
Art Foundation
Like programming, art is not only knowing how to use a program. Photoshop and 3dsmax are just tools but good fundamentals of art will help you become a better artist and know why you’re doing what you’re doing.
- Practical Light and Color - Gnomon (video tutorial)
- Color Theory: The Mechanics of Color, Applied and Theoretical Color with Richard Keyes - Gnomon (video tutorial)
- Graphic Style Analysis – Part I, II, III - Black Golem
- Animation Principles - John Lasseter
- More Animation Principles Tutorials - Angry Animator
- The Animator’s Survival Kit - (libro)
- Fundamentals of Perspective 1, One-Point Principles and Concepts with Gary Meyer - Gnomon (video tutorial)
- Fundamentals of Perspective 2, Two-Point Principles and Concepts with Gary Meyer - Gnomon (video tutorial)
- Fundamentals of Perspective 3, Three-Point Principles and Concepts with Gary Meyer - Gnomon (video tutorial)
- Conceptual Storyboarding: Storytelling and Struggle, Storyboarding Techniques with Derek Thompson - Gnomon (video tutorial)
- Visual Storytelling with Iain McCaig Vol.1, Anatomy of a Story - Gnomon (video tutorial)
- Visual Storytelling with Iain McCaig Vol. 2, Cosmic Mermaid Character Design - Gnomon (video tutorial)
- Visual Storytelling with Iain McCaig Vol.3, Sea King/Space Witch Character Design - Gnomon (video tutorial)
- Visual Storytelling with Iain McCaig Vol.4, Human Character and Environment Design - Gnomon (video tutorial)
Photoshop (or others) for 2D – Pixel Art
Pixel Art is an art common in independent games. It doesn’t have all the complexity of 3D art and also you can get fun graphics.
- A Beginner’s Guide to Spriting - TigSource
- So you want to be a Pixel Art Artist – Gas 13
- Pixel Art Tutorial – Derek Yu
- Learning Pixel Art – Black Golem
- How to make Pixel Art – Drububu
- Pixel Tutorial Introduction Theories & Techniques - Final Boss Blues
- The Big List Of Pixel Art Tutorials - Pixel Prospector
- 2D Tile Art basics - Flash Game Dojo
Photoshop for 2D – Digital Paint
This requires more skill and practice. But as the great Iain McCaig said: “Everyone can draw”, so draw only one hour per day for 6 months and you are good to go!
- Concept Design 1, Vehicle Sketching - Gnomon (video tutorial)
- Concept Design 2, Sketching Environments - Gnomon (video tutorial)
- Concept Design 3, Quick Sketching - Gnomon (video tutorial)
- Concept Design 4, Digital Painting - Gnomon (video tutorial)
- Beginner’s Guide to Digital Painting in Photoshop - Digital Tutors (video tutorial)
- Getting Started with Digital Painting in Photoshop - Digital Tutors (video tutorial)
- Creating Unique Environments with Scott Robertson - Gnomon (video tutorial)
- Environment Art Direction for Games Volume 1: Sketching - Gnomon (video tutorial)
- Environment Art Direction for Games Volume 2: Painting- Gnomon (video tutorial)
- Painting a Landscape - CGArena
- Digital Illustration Techniques with Christian Alzmann - Gnomon (video tutorial)
- Character Design for Games and Animation Volume 1 - Creating an Iconic Character with Cameron Davis - Gnomon (video tutorial)
- Character Design for Games and Animation Volume 2 - Designing Digitally with Cameron Davis - Gnomon (video tutorial)
- Designing and Rendering Fantasy Characters in Pencil, with Wayne Barlowe - Gnomon (video tutorial)
- Creature Design with Terryl Whitlatch 1, Bovine Creature, Moo Monster - Gnomon (video tutorial)
- Creature Design with Terryl Whitlatch 2, Avian Creature, White Fright - Gnomon (video tutorial)
- Creature Design with Terryl Whitlatch 3, The Marine Mare and Uberhorse - Gnomon (video tutorial)
- Creature Design with Terryl Whitlatch 4, Toad-ogre Creature Concept and Story - Gnomon (video tutorial)
- The Techniques of Christian Lorenz Scheurer 2, Advanced Digital Painting in Adobe Photoshop - Gnomon (video tutorial)
- Grayscale Shading and Non-Destructive Coloring Techniques for Photoshop Artists - Digital Tutors (video tutorial)
- Light and Color Study: Night Scene - Digital Tutors (video tutorial)
- Digital Painting: Human Profile and Figure - Digital Tutors (video tutorial)
- Digital Painting: Facial Features - Digital Tutors (video tutorial)
- Digital Painting: Arms and Hands - Digital Tutors (video tutorial)
- Digital Painting: Lower Body - Digital Tutors (video tutorial)
- Creative Development: Zombie Concept Illustration in Photoshop with Stanley VonMedvey - Digital Tutors (video tutorial)
- Using Texture to Enhance Digital Paintings in Photoshop - Digital Tutors (video tutorial)
- Other Entertainment Design Foundation Tutorials - Gnomon (video tutorial)
- Design a Game Boss - Digital Tutors (video tutorial)
- Other Illustration Tutorials - Digital Tutors (video tutorial)
XNA
The framework (not to be confused with language) created by Microsoft to develop games for Xbox 360 and Windows. There are also developed tools to port your game to Mac, Linux, iOS and Android. While you can create 3D games with XNA is mainly use for 2D. Examples of games created with XNA: Bastion, Fez, Dust: An Elysian Tail.
- Microsoft Developer Network – 2D Shooter Game Tutorial - (tutorial)
- Brick Breaker Game - (tutorial)
- Star Defense - (tutorial)
- XNA 4.0 Game Development by Example: Beginner’s Guide - (book)
- Beginning C# Programming with XNA Game Studio - (book)
- Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 - (book)
- Tower Defense - (tutorial)
- Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - (book)
- XNA Tutorials RB Whitaker - (tutorial)
- XNA 101 – Volume 1 – 3D Buzz (video tutorial)
- XNA 101 – Volume 2 – 3D Buzz (video tutorial)
- XNA 101 – Volume 3 – 3D Buzz (video tutorial)
More C#
Return to C# and level up!
- Essential C# 4.0 (3rd Edition) (Microsoft Windows Development Series) - (book)
- C# Patterns - (tutorial)
- C# 5.0 in a Nutshell: The Definitive Reference - (book)
- Design Patterns in C# (The Software Patterns Series) - (book)
- Agile Principles, Patterns, and Practices in C# - (book)
- Effective C# (Covers C# 4.0): 50 Specific Ways to Improve Your C# - (book)
More XNA
Return to XNA and learn more advanced stuff.
- XNA AI programming – 3D Buzz (video tutorial)
- XNA 2D Shooters - (tutorial)
- XNA 4.0 RPG Tutorial Series - (tutorial)
- Tile Engine Series - (tutorial)
- XNA: Side Scroller – 3D Buzz (tutorial)
- XNA Game Studio 4.0 Programming: Developing for Windows Phone 7 and Xbox 360 - (book)
3D Foundation
Before entering 3dsmax, Maya or any 3D program, it’s good to know the basics, fundamentals and concepts so you are not lost.
- Visual Guide - Digital Tutors (video tutorials)
- Efficient Cinematic Lighting - Gnomon (video tutorial)
Photoshop for 3D
Learning Photoshop for 3D production is quite different than learning Pixel Art, there are more things to learn as handling textures for 3D models and retouching images.
- Adobe Photoshop® for Digital Production – Gnomon (video tutorial)
3dsmax
One of the most used 3D software in the movie and games industry. Learning the basics is easy, you can create primitive shapes for your games with few polygons. But making models like Uncharted, is another thing, and you will need a battalion of people to do it. One free alternative 3D software is Blender.
- 3ds Max 2013 Essential Training - Lynda (video tutorial)
- Introduction to 3ds Max – Gnomon (video tutorial)
- Game Prop Creation in 3ds Max - Lynda (video tutorial)
- Modeling a Character in 3ds Max - Lynda (video tutorial)
- Creating Urban Game Environments in 3ds Max - Lynda (video tutorial)
- Character Animation Fundamentals in 3ds Max - Lynda (video tutorial)
Unity 3D
Lately Unity is gaining more popularity for its continuity and support. Although you can create games with 2D sprites in Unity it’s specialty is being a 3D engine. The advantage is that you can port your game to a wide range of platforms such as Android, iOS, Windows, Mac, Linux, PS3, Wii and Xbox 360.
- Unity 3D 3.5 Essential Training - Lynda (video tutorial)
- Beginner’s Guide to Unity - Digital Tutors (video tutorial)
- Introduction to Unity - Digital Tutors (video tutorial)
- Introduction to Scripting in Unity - Digital Tutors (video tutorial)
- New Features in Unity 3.5 - Digital Tutors (video tutorial)
- Melee Weapon Systems in Unity - Digital Tutors (video tutorial)
- Customizable Characters in Unity - Digital Tutors (video tutorial)
- Unity Lesson 01 - (tutorial)
- Unity 3.x Game Development Essentials - (book)
- Holistic Game Development with Unity: An All-in-One Guide to Implementing Game Mechanics, Art, Design and Programming – (book)
- Beginning 3D Game Development with Unity: All-in-one, multi-platform game development – (book)
Unity 3D (para 2D)
Doing a little more research I found that with Unity 3D you can develop 2D games (with the help of some plugins). One of the most used plugins is 2D Toolkit with the ability to create 2D tiles and sprites.
- Unity Game Development Basics Your First Game - Walker Boy Studio (video tutorial)
- Unity Game Development Basics Your Second Game - Walker Boy Studio (video tutorial)
- Unity 3D Pong Tutorial Series – BuildThatGame (video tutorial)
- Unity 3D Breakout Tutorial – BurgZergArcade (video tutorial)
- Simple 2D Shooter – 3DBuzz (video tutorial)
- Sprite Manager & Unity – 3DBuzz (video tutorial)
- Unity Tool Development - Walker Boy Studio (video tutorial)
- Making your first 2D real game - Walker Boy Studio (video tutorial)
- Making a 2D Game in Unity 3D using only free tools - Rocket5 Studios (tutorial)
- Creating 2D Games with Unity 3D and Sprite Manager 2 - Rocket5 Studios (tutorial)
- 2D Toolkit Official video tutorials - Unikron software (video tutorials)
- 2D Toolkit Documentation - Unikron software
- 46 Tips & Tricks for 2D mobile Performance in Unity - Sidebrick
More Unity 3D
Unity is a large engine, continue refining your skills.
- Lunar Lander - CGCookie (video tutorial)
- Tower Defense Tutorial – CGCookie (video tutorial)
- Unity 3D Game Development by Example Beginner’s Guide – (book)
- Unity 3 Game Development Hotshot – (book)
- Unity Mobile Game Development: Character and Weapon Modeling - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Rigging and Animation - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Communication with Notification Center - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Player Functionality - Digital Tutors (video tutorial)
- Unity Mobile Game Development: User Interface Design - Digital Tutors (video tutorial)
- Unity Mobile Game Development: GUI Functionality - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Saving Data and Highscores - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Concept and Design - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Environment Modeling - Digital Tutors (video tutorial)
- Unity Mobile Game Development: UV Layout and Texturing - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Set Dressing - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Lighting and Lightmapping - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Game State - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Enemy AI and Waypoints - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Character Scripting - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Sound Effects - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Final Assembly - Digital Tutors (video tutorial)
- Unity Mobile Game Development: Level Design - Digital Tutors (video tutorial)
- Unity 3D tutorials – WalkerBoyStudio (video tutorials)
More Unity Tutorials
- Unity CG Cookie - (video tutorial)
- 3DBuzz Unity tutorials - (video tutorial)
Troubleshooting
At some point you will be stuck, don’t worry, usually someone had your same error and solve it, Google it. Also you can ask on StackOverflow a large community of programmers.
- Google (usually someone has already solved your problems)
- StackOverflow
- The Big List Of Indie Game Development Forums - Pixel Prospector
Resources
Take the red pill and enter the Matrix.
- Pixel Prospector Indie Guide - Pixel Prospector
- The Big List of VideoGame sites from all over the world - Pixel Prospector
Follow us on Twitter @LionInnGames
Like us on Facebook Lion Inn Games






















