All recommendations are based on my experience and research as a programmer. The intent of this page is to share my findings with you. If you are in a friendly mood and/or have a recommendation to share with me, please do e-mail me at info@speersoft.com.
Game Engines
There are many game engines out there today. Starting with the right one can save you time. Be sure to do your research, but here are my recommendations:
|
Programming Languages
Starting with the right programming language for you can save you time (and headache). Here are my recommendations from a game developer point of view:
|
Reading Material
I learned these topics a while back, so the books I read are dated, and actually a bit lame. Authors now days get the same information across without taking themselves so seriously, which actually makes reading them more enjoyable. Given that, I did research on the list of beginner books and these are the ones that I believe will help you get started on your journey as a game developer.
I learned these topics a while back, so the books I read are dated, and actually a bit lame. Authors now days get the same information across without taking themselves so seriously, which actually makes reading them more enjoyable. Given that, I did research on the list of beginner books and these are the ones that I believe will help you get started on your journey as a game developer.
Beginner
Learning C# Programming with Unity 3D
If you are new to C# and you want to apply it to game development, I recommend reading material that takes both into factor. I also recommend a book (physical or digital) over web sites for the same reasons that the author of this book covers in its intro text.
If you are new to C# and you want to apply it to game development, I recommend reading material that takes both into factor. I also recommend a book (physical or digital) over web sites for the same reasons that the author of this book covers in its intro text.
C# Programming for Beginners: An Introduction and Step-by-Step Guide to Programming in C#
This is a good book If you want to learn raw C# without being tied to a game engine or game development. Learning C# alone like this has its advantages. Maybe you don't want to use Unity 3D? Maybe you don't want to do game development? *gasp!!*
This is a good book If you want to learn raw C# without being tied to a game engine or game development. Learning C# alone like this has its advantages. Maybe you don't want to use Unity 3D? Maybe you don't want to do game development? *gasp!!*
Jumping into C++
I haven't personally read this, but I've heard positive feedback on this book. One of the cons about it, is that there isn't an index, so it makes it a bit tougher to use as reference. Web sites are great for language reference though.
I haven't personally read this, but I've heard positive feedback on this book. One of the cons about it, is that there isn't an index, so it makes it a bit tougher to use as reference. Web sites are great for language reference though.
A Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half
So the cover is not poster worthy and you probably couldn't say the whole title in one breathe. But this is a highly reviewed book that teaches JavaScript in a bite-sized course format. The con is that this book isn't geared towards game development. But I recommend using C# over JS, and therefore assume here that you are interested in JavaScript as more of a web development language and less as game development.
So the cover is not poster worthy and you probably couldn't say the whole title in one breathe. But this is a highly reviewed book that teaches JavaScript in a bite-sized course format. The con is that this book isn't geared towards game development. But I recommend using C# over JS, and therefore assume here that you are interested in JavaScript as more of a web development language and less as game development.
Intermediate
Code Complete: A Practical Handbook of Software Construction
I have read this book and I highly recommend it to anyone who wants to hone their programming skills. Learning to write code is easy. Learning to write low risk, easy to maintain, and robust code takes time, discipline, and experience. Do yourself a favor and read the wisdom this experienced programmer has to share with you. You'll be glad you write good code when you come back a year later to find bugs, make behavior changes, and/or implement fixes to that code base.
I have read this book and I highly recommend it to anyone who wants to hone their programming skills. Learning to write code is easy. Learning to write low risk, easy to maintain, and robust code takes time, discipline, and experience. Do yourself a favor and read the wisdom this experienced programmer has to share with you. You'll be glad you write good code when you come back a year later to find bugs, make behavior changes, and/or implement fixes to that code base.
Game Programming Patterns
This book is a gaming approach on Design Patterns. Design Patterns are like tools in your programming tool belt. They are different design strategies to handle certain situations. Each come with their lists of pros and cons, and aren't the solution to every software. You will very likely come across many of these designs in your programming career, so its good to brush up. This book draws from the strengths of the great Design Patterns: Elements of Reusable Object-Oriented Software book, but in the context of game design.
This book is a gaming approach on Design Patterns. Design Patterns are like tools in your programming tool belt. They are different design strategies to handle certain situations. Each come with their lists of pros and cons, and aren't the solution to every software. You will very likely come across many of these designs in your programming career, so its good to brush up. This book draws from the strengths of the great Design Patterns: Elements of Reusable Object-Oriented Software book, but in the context of game design.
Online Resources
This is a list of resources I've bookmarked over the years. There are many resource sites and I'm sure I have yet to run into many good ones. However, I would have loved to run into a list like this in my younger years. So here ya go!
This is a list of resources I've bookmarked over the years. There are many resource sites and I'm sure I have yet to run into many good ones. However, I would have loved to run into a list like this in my younger years. So here ya go!
Unity 3D
- Unity Development - I have a separate page for all of my Unity 3D links.
- Udemy - There are a lot of neat online classes at Udemy that you can usually find on sale for $10. Here are my favs:
- Complete C# Unity Developer 2D - Learn to code in Unity with 2D game examples. C# and Unity Beginner level.
- Complete C# Unity Developer 3D - Same as above, but learn with 3D game examples. C# and Unity Beginner level.
- Learn Advanced C# Scripting in Unity 5 - If you are past basics, this is a great course for more advanced development.
Programming
- cplusplus.com - C++ Reference.
- learncpp.com - Learn C++. I prefer books over sites for learning, but this is free!
- MSDN C# Programming Guide - Not the most friendly way to start learning programming, but it's free and gets the job done!
- MSDN C# Reference - C# Online Reference Guide.
- W3Schools - Online JavaScript learning and reference site. Also great for many other web related development languages.
- Source Making: Design Patterns - Great online learning and reference material on design patterns.
Cool Stuff
- Smooth Noise - How to generate a cloudy effect that has multiple neat uses, especially with procedural generated content.
- Physics Simulations - Learn physics principles through these simulations!
Software and Services
- BitBucket - Git based code management. Don't overlook this! If you don't know what version control is, read up on it. You will thank me when the time comes. GitHub is also popular, but BitBucket is free unlimited private storage for up to 5 users.
- SourceTree - Git visual client. This is basically the software you use to work with BitBucket (or any other Git based server). Check out this Google Docs Tutorial that steps through how to set up a Unity project with BitBucket and SourceTree.
Development Assets
- Yobi3D (Model Search engine): http://www.yobi3d.com
- Models: http://www.turbosquid.com/
- Textures: http://gametextures.com/
- Textures, Models, 2D art, and Sound: http://opengameart.org/
- 2D Art: http://2dgameartforprogrammers.blogspot.com/
- Audio: http://www.freesound.org/
- Audio: http://freemusicarchive.org/