Guide for a complete beginner in games programing (1 Viewer)

RyonaDamsels

Ryonani Teamster
Joined
Jan 7, 2012
I am a complete begineer in programming video games whether it was a Java game or Flash game or XNA game or C++ game or any other games using other programming languages

So for the ones who are expert in Game programming field ? What is the general advises for a complete begineer ? Like what programs shall I use for every language , What is the easiest to hardest languages to develop games , Supporting Step by step Tutorials and any advice that can be helpful

Thanks in advance :)
 

Setsunai1111

Potential Patron
Joined
Nov 29, 2010
XNA: Write in C#. Use Visual Studio C# Express.

This is personally my favorite environment to create games. C# is a powerful object-oriented language that is much easier than C++ for beginners because you don't have to deal with memory concepts and applications, which can be obscure for beginners. Also, C# has great documentation provided by Microsoft; you can just google any standard object and usually get all of the information you need.

Unfortunately, Microsoft is not continuing development on XNA. It has an unsure future. Depending on your purposes of this game, it may or may not be the right choice for you.
 

RyonaDamsels

Ryonani Teamster
Joined
Jan 7, 2012
Thanks for your reply :) , So Is C# a language that can be self-learning or it should be learned in an academic way ? and how much it will take for me if I self studied it a couple of hours daily ? and if my main purpose of learning C# is for developing games then shall I stick only with "Creating games with C#" types of tutorials or shall I learn everything about C# ?
 

onlinehero

Casual Client
Joined
Dec 15, 2009
I'm not game programmer, but obviously you should learn C# first. If you just copy paste some code without even understanding any basics or what the code does, you won't get very far. Also I'd say academic way is better. If you start just reading some book, you'll likely just give up after 30 pages or so. But if you take some course, then you're less likely to give up :D
Any way, if you happen to find a copy of "How to create a totally super awesome ryona game with C#", you probably should read it
 

Setsunai1111

Potential Patron
Joined
Nov 29, 2010
I will try to answer your questions as helpfully as I can.

"Is C# a language that can be self-learning or it should be learned in an academic way ?"
It can be learned either way. For a beginner, you are not only learning the C# language, but you are also learning the core computer programming concepts. The best way to learn is by doing. Whenever you do a tutorial of any sort, don't just blindly follow the tutorial, consider 'why?' things are being done the way they are. Go beyond the tutorial to test yourself and investigate the possibilities of what you are learning.

"and how much it will take for me if I self studied it a couple of hours daily ?"
Depending on what your goals are...It will take somewhere between a long time and a really long time. Though, it's not about the destination, it's about the journey.
A lot of beginners make the mistake of thinking the first game they create will be the game they dream of making. Unfortunately, the reality is that you will need to make many lower-ambition, throw-away games before you come close to making that awesome game you currently have in mind. But each time you make something, throw it away, and then make something new, you'll be making things that are better and better. It is a lengthy, growing process, and everyone grows at different speeds (proportional to your dedication and natural talent).

"and if my main purpose of learning C# is for developing games then shall I stick only with "Creating games with C#" types of tutorials or shall I learn everything about C# ?"
You should try to learn everything you can about C# that is relevant to what you are doing. You should definitely start with learning the basics of C#, because any game-making tutorial you find will assume you at least know the basics.
XNA has a number of great beginner tutorials you can find with some bing searches.
 

Atmey

Potential Patron
Joined
May 1, 2012
I use Unity, it supports 2D, 3D and 2.5D games, and it got a decent free license. I highly recommend it.
 

d£t

nu
Ryonani Teamster
Joined
Nov 23, 2009
I'll second the suggestion for Unity as I've found it to be one of the most intuitive "game studio" type programs out there. If you're working on a 2D game, I don't think the free license will limit you in any way. Most of the features for Unity Pro are related to high level lighting/effects. Also if you're thinking about learning C#, Unity is a great choice because it uses the full C# language in the back-end for scripting/programming. A lot of game studio programs use a proprietary language that follows the syntax of an existing programming language but doesn't have all of the features. In fact, Unity does this with Java and calls it UnityScript. Besides the functions specific to Unity, nothing you learn regarding C# will go to waste. It is similar to XNA in that way except that I personally think Unity comes with a much better tool set than XNA, and if what Setsunai says is true and Microsoft stopped development on it, it probably wouldn't be the best choice.

Also his point about having to work on a lot of smaller, less ambitious projects before making your dream game is a lesson learned for me. If you're easily side-tracked, busy with a day job, or burdened with a lot of other responsibilities you'll probably end up burning out well before you get to the finish line. If you want to make a decent game from the ground up by yourself, even with amazing tools and software you'll need to have a basic understanding of every aspect of game development. I would also highly recommend not making your first project a 3D game. Not that I want to limit your choices, I'd just like someone to succeed where I failed the first time around.
 

RyonaDamsels

Ryonani Teamster
Joined
Jan 7, 2012
Thanks for your replies :)

I'm not that greedy of course to begin the first project as a 3d game :) , It is better to take the stairs step by step

So does unity uses C# as its core programming language or its multi-language support ? Following your recommendations I will try to learn C# first as the core programming language either by myself or through course/training and then make applications on XNA or unity engines , If anyone has any experience in programming games using Java then I would be glad if he shares it

Speaking of engines , I heard there is free versions available for cryengine and unreal engine , Did anyone tried those engine and how good they are ?
 

d£t

nu
Ryonani Teamster
Joined
Nov 23, 2009
Unity does full C# and Java/Unityscript. I couldn't tell you exactly how far it deviates from Javascript as I don't know Javascript very well and have never used it within Unity. It's still popular in the Unity community and I'd say at least half the tutorials out there for Unity are based around their Java implementation. They also have Boo script which I've honestly never seen used and a shader language that's based on something nVidia created.

I've seen some videos of UDK (Unreal engine) and it looked pretty similar to Unity although I think it may have some stronger 3D world building tools out of the box. Haven't seen Cryengine at all so I couldn't tell you how that one is. 3DBuzz (video training website) had some good tutorials for Unity 3 although I think they've been hit pretty hard with one of their main Unity instructors leaving. I don't think their series has been updated for Unity 4. Not that there have been any major changes to the UI of Unity between 3 and 4, but there are always those little changes that make following tutorials made for older versions a bitch.

I found this fairly recently and think it's a pretty good resource for starting out with C# in Unity.
Unity C# Tutorials
 

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.