Currently im certified unfit for work, and this state will last about a year. I want to start creating video games. I worked as junior software developer in java about 3 years ago, but my programming skills are rusted, and i never programmed games before.
My tools of choice are C# and Unity 3D. So this is my “learning plan”, if you have other ressources, or think i should tackle this whole thing differently, please let me know. I will be very thankful for every opinion i can get.
Programming/C#/Visual Studio
Learn to Program from scratch again
Learn further Software Engeneering aspects (Object Oriented Programming, Patterns)
Get Experience (Mainly exercises you can find online, for example this - if you have more of them please tell me!)
Ressources: I cant decide between Begin Coding with C# or C# Programming yellow Book . Both seem to be from the same author one of them seems to be rather slow, but detailed. The other one seems to more a script than a real book.
My own route for learning C#, having already picked up C++ and .NET, was to simply use the official MSDN tutorials for the language (there is a newer section too). I learned the basics of Unity in much the same way by reading the documentation and watching a handful of videos off YouTube (the learning section wasn’t around at the time).
thanks for your help! I guess i should get into programing actual games a bit faster… But i really like to read at least one book about C# first. Have you made any expiriences with Fundamentals of Computer Programming with C#?
I’m hardly an expert at anything, but from where I see things, Java and C# are cousins that share a last name. They’re similar enough in structure that if you’ve used one enough, you can figure out the other no problem. You have the fundamentals of programming down, so if it were me, I wouldn’t waste too much time going back through all that. Instead, focus on the Unity API-specific things and familiarize yourself a bit with the available .NET libraries.
Books are great and all, but as someone who has a whole impressive shelf full of programming-related books that never get touched, I’d say just dive into the official tutorials and splash around for a bit. See where you stand in your programming skill after a few days, and decide from there where you should focus your time.
If you have the basics down (variables, branching, loops), there is no reason why you can’t jump straight into your first game in Unity. Build a Space Invaders clone.
Also don’t dismiss the Unity learn section to quick. It’s probably one of the better places to learn C# for Unity.
I concur that learning programming again is unnecessary if you already have the basics down (and if you were in a programming job just 3 years ago, you probably know the basics great.) And yeah C# is basically Java with some keywords changed. Try doing a tutorial in the Learn section, or if following along with that gives you trouble then checkout Unity in Action, the book I wrote to teach Unity to people who already know programming.
A few tips for the Game Design part I would encourage you to strip your ideas down to the core and cut all the “nice to have” parts away. Even a game that you think would be very easy to make can quickly spiral out of control and end up being abandoned. If you manage to finish the core game then you can start to add the nice things.
As for ressources on game design you may want to check out the youtube channel Extra Credits that talk about game design.
ps. Unity3D is the domain name, the program is simply called Unity. People refer to the program as Unity3D so much that it is often forgotten.