Since early 2002, Shee Labs has been a group of individuals working to produce free game and media downloads. With ever-fluctuate staffing, Shee Labs continues working behind the scenes on various exciting projects for a bewildering array of areas. Shee Labs ceased to exist in September 2009.

Post tutorial Report article RSS Feed Be the Man: Beginning Games Programming #1 - First Steps

The first in a series of programming tutorials aimed at aspiring games programmers, who have never seen code before. This tutorial introduces the programmer, the most basic programming concepts, and handles the simplest application (Hello World) in C#, C++ and J2SE (Java) as an introduction to code and development environments.

Posted by ambershee on Oct 7th, 2009 Page 3 of 8    
Basic Client Side Coding.

We can write code in practically any text editor, and there exist numerous different compilers that can interpet the code that we write, and turn it into an executable program that we can use and run on the computer. Feel free to explore all your different options, but for the purposes of our exercises, we'll be using versions of the most popular text editors and compilers. These come helpfully packaged with a vast array of tools that we can deploy in order to develop, test and distribute our code - and are commonly referred to as an 'Integrated Development Environment', or IDE.

Our IDEs of choice are Microsoft Visual Studio for C++ and C# (aka MSVC++ / MSVC#), and Eclipse for Java (J2SE aka Java Standard Edition). Although Visual Studio itself is generally quite expensive, we are lucky that Microsoft provides us with cut-down free versions of it's tools, that have all the features that we may need - we'll be wanting Visual C++ Express and Visual C# Express.

So let's get started, and let's download and install our tools.

Microsoft Visual C++ 2008 Express can be downloaded from this address;

Microsoft Visual C# 2008 Express can be downloaded from this address;

Lastly, Eclipse Galileo can be downloaded from this address;

It's important to note that these are the current versions as of writing these tutorials. Newer versions may come out in future that will replace these, but the fundamental concepts of each should be the same.

Now that we've downloaded and installed our tools, let's open them up and see what makes them tick....

Post comment Comments
eXeC64 Oct 7 2009 says:

Prehaps on page 5 use cin.get(); instead of that long line. It has a very similar effect (waits for enter key to be pressed) before letting the program continue.

It's far less intimidating on newbies =]

0 votes     reply to comment
ambershee Author
ambershee Oct 7 2009 replied:

Yeah, I could probably do that. Out of habit, I usually do use the more complex 'any keypress'. It's just what I learnt when I first started programming.

+2 votes   reply to comment
cheesemoo0 Oct 7 2009 says:

I love articles like this! Keep it up.

+2 votes     reply to comment
Ark_ Oct 7 2009 says:

This looks like it will shape up into a nice series for tutorials.
At the moment I'm a mapper and modeller but I would like to learn how to program for games.
So thanks for the tuts and good luck.

+1 vote     reply to comment
NullSoldier Oct 7 2009 says:

From the land of managed game programming, you should start out by teaching C#. It's easy to pick up, and XNA is extremely easy to use in comparison with SDL and Allegro for new game programmers. I'll make managed game programming popular even if it kills me!

+1 vote     reply to comment
ambershee Author
ambershee Oct 7 2009 replied:

The aim here, is instead of introducing only one way of doing things, is to go for a broader perspective from the start. Whilst I'm running the risk of confusing people with multiple languages, I'm hoping that an approach that covers the different perspectives from the beginning shouldn't work out that way; all three languages are fundamentally very similar (and in the case of the next tutorial (variables, operators, arithmetic), practically identical...), they're almost identical. Where they'll diverge, comes a little bit later - but it's not a bad selection - where C# is managed, unmanaged C++ is the main industry standard - and then Java and Eclipse is a whole different perspective all together, and still widely used.

thanks for the feedback :)

+2 votes   reply to comment
NullSoldier Oct 8 2009 replied:

Yeah, great tutorials! I just had to add my two cents in because I believe managed code game programming has it's place in the market. (Xbox live arcade for one)

0 votes     reply to comment
Feared Dec 9 2009 replied:

Managed? Blech!
Native please.

+2 votes     reply to comment
BadgerDeluxe Oct 7 2009 says:

OMG WIN! Thank you so much for this article, this is exactly what I need right now!

+1 vote     reply to comment
dill1233 Oct 7 2009 says:

I love where your going with this, but as a intermediate C# programmer, I don't think I quite fit this article. Yet, I'm sure by the middle of this series I'll be thanking you so much for providing me with such great information. By the way, I think it's funny how the differences in length of the different languages vary so much. I think C# is just perfect where it stands on length and complexity.

+1 vote     reply to comment
Necromunger Oct 7 2009 says:

umm can you go any further with this in c++ because the basics is easy enough i want to go to the next step after classes and functions

+1 vote     reply to comment
ambershee Author
ambershee Oct 8 2009 replied:

The series will go further, but it will take a lot of time. A simple tutorial like this takes around four to five hours to prepare and to write, and there's a lot of ground to cover in the mean time.

+1 vote   reply to comment
Arxae Oct 9 2009 says:

for the csharp code, you only need "using System;" :3 the rest is not used and can be left out :)

+1 vote     reply to comment
ambershee Author
ambershee Oct 9 2009 replied:

You can do that, but I just left in what was automatically generated by Visual Studio.

+1 vote   reply to comment
Arxae Oct 9 2009 replied:

ah like that :3 well you could do that to, i prefer to only have the usings in there when i actualy use them xP

general comment tho: i saw you liked the complex solutions more (out of habbit) but this is a beginners tutorial :p so i would advise not to use those solutions and keep it simple xP (but i think your well aware of that)

+1 vote     reply to comment
Artinier Oct 11 2009 says:

Hey, Awesome Work :D.
I know that you said making these tuts is a time consuming process but is there any laid out timeline for there release. Eg Once a month or so forth.

Thanks for the awesome tut

+1 vote     reply to comment
ambershee Author
ambershee Oct 13 2009 replied:

It's literally a case of when I can do it. I'm aiming for one a week or so, but whether I stick to that schedule is another matter - the next tutorial for example is quite a long one, since it covers a fairly broad spectra (variables, operators, input and arithmetic.)

+1 vote   reply to comment
Artinier Oct 14 2009 replied:

Sweet cant wait.

Thanks for the reply.

+1 vote     reply to comment
pitchblack00 Oct 14 2009 says:

I don't see a point of another hello world tutorial, there are thousands of them on internet. I advise you to talk more about structure of modern game code, rather than general programming introduction. Like how do you get camera working, models showing up, animations playing, some intro into shaders and don't try to cover each and every topic completely but point to learning resources instead.

+1 vote     reply to comment
ambershee Author
ambershee Oct 15 2009 replied:

The point is that this is a series of tutorials; not and individual tutorial. It's aimed to start at the absolute beginning and specifically is not aimed at any specific API - and couldn't really be given that it covers three different languages. The purpose is to do something that other tutorials do not do - and that's cover an object orientated approach, and multiple languages from the absolute beginning. The series will then later branch into more specific topics; one of which is being written simultaneously and considers game scripting in Unreal Tournament 3. Other branches will later cover mathematics and rendering, and another both OpenGL and DirectX simultaneously.

+2 votes   reply to comment
PiNwOrM45 Nov 22 2009 says:

edit: ignore me, missed a step :P thanks for this

+1 vote     reply to comment
PiNwOrM45 Nov 22 2009 replied:

Now that I've done it and got it working, are you still planning on released more parts? I know it takes work, but you said you planned for a week and it's a month later. I'm having a helluva time learning how to really get started.. All I can find are articles like this that overview the basic codes and give a basic idea, but nothing more advanced. That and people offering to tell you how for cash. So yeah, are you planning on releasing more? or does anyone have a good site I can check out that's on this tutorials level of knowledge, to learn the next steps? Thanks

+1 vote     reply to comment
ambershee Author
ambershee Dec 2 2009 says:

I do plan on releasing more - although I have actually been extremely busy over the past few weeks or so (and have also had to replace one machine due to a raid 0 failure). I've revised a large part of the original unreal programming tutorial series that I also have (which aims to be incorporated as an extension of this series in future), but I haven't been able to get back up to speed with this series yet.

The next tutorial is an incredibly long one and has taken an awful lot of time to get it as complete as it presently is. I may have to split it into multiple tutorials, although I really did want to get the content into a single tutorial as it is all related. It's presently effectively a heavy book chapter.

+1 vote   reply to comment
Sir_Nicholaz Sep 22 2011 says:

I guess this died out or something?

+1 vote     reply to comment
catharsis20 Dec 17 2012 says:

Thanks! What's next?

+1 vote     reply to comment
christopherlayton5 Sep 6 2013 says:

I enjoyed the freak out of this. Though I noticed you didn't have any more of the series posted in your tutotials section. Probably busy, but I'll pretend to rage anyway.

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Nov 9, 2007
Must apply to join
Send Message
Join this group
Group Watch
Track this company
Report Abuse
Report article
Related Groups
Shee Labs Game Development
Shee Labs Game Development Developer & Publisher with 14 members