[C#] Progressive Exercises to Learn Game Programming

Started by
8 comments, last by Theis_Bane 11 years, 10 months ago
Long-time forum lurker here. I've been mulling getting back into the game programming scene for some time now, and I've finally taken the plunge and started back at school. I've dabbled in Visual Basic for some time now, but I felt it was time to upgrade to a big boy language, and the general consensus is the C# is a great alternative to (ugh) C++.

That being said, I'm looking for some homework. I ultimately want to build multiplayer action/adventure/rpg-type games, but I know that's not in the cards for my first (or second (or third ( or...yeah I get it))) game. What I'm looking for is so advice on what to build in the mean time. What sort of projects should I undertake in order to learn the necessary skills to get me where I'm going? If someone wants to post a series of increasingly difficult tasks, I would love to go at them one at a time. Plus, this could eventually make a good source for novice programmers who want to learn the craft.

EDIT - I suppose I should mention I have Visual Studio 2008 Standard Edition and plan on getting in Microsoft XNA 3.1.
Advertisement
Wow. No one's even LOOKED at this. Not sure what to make of that.
Thats probably because a lot of people place these kind of posts online (me included when i first started :) )

I would suggest you start with the classic tic-tac-toe and go all out on it. Create a nice graphical interface, perhaps even a basic AI and so on. Learn how to store savegames and load them back, etc.

When you have completed that one, i suggest you start by building a simple 2d tilebased game map and learn how to move characters (sprites) around.

That should give you something to start with :)

My personal blog on game development!

Black Wolf Game Development

here you go

it gets hard very fast but if you keep your patience it will pay off! :)

EDIT - I suppose I should mention I have Visual Studio 2008 Standard Edition and plan on getting in Microsoft XNA 3.1.

Hmm, most tutorials are for xna 3 admittedly but alot are shifting to xna 4 being used with C# express 2010. Shouldn't think theres an advantage to upgrading really though, a few procedures have been simplified.

Anyway, I've been using the tutorials on riemers.net for XNA, they are currently maintained to the xna 4 spec I think
XNA is Visual C#'s game "library"/framework. You'll want to check into that. XNA 3.0 works with Visual C# 2008 and XNA 4.0 works with Visual C# 2010. Both can be downloaded for free from Microsoft in their "Express" editions.

Riemer's has got some 2D stuff.
http://www.riemers.net/eng/Tutorials/XNA/Csharp/series2d.php

Be aware that XNA 3.0 and 4.0 code are not fully compatiable. So, you have to match up the tutorials with the version.

Probably the best thing to do is get a C# book and read it cover to cover. Then go write some simple C# stuff. After that doing 2D tutorials for XNA, like Riemer's stuff would be good. I hear there's some really good stuff on YouTube for XNA 2D tutorials.

Honestly, I haven't really done 2D in XNA. I'm all about the 3D.

I have been putting tutorials together at XNA3D101.com for XNA in 3D. Once you feel ready for it, I have some tutorials for C#/XNA for beginners starting out doing 3D in XNA. It's not intended to be the only source for someone learning XNA, but it's there to provide some tutorials that maybe aren't available elsewhere.
Its worth noting that most books available today (including riemers own book) are XNA 3 however its not hard to find xna 4 books. Most popular web tutorials prefer to work in XNA 4. I believe XNA 4 is intended for use on .net 4 but I think it also works on .net 3.5
Jaap85 got it. I already have the programs installed. I've got experience with Visual Basic 2008, but I'm learning C# because it's a more powerful language. I was really just looking for a series of entry-level games ideas to work on to familiarize me with traditional game design. Not to be rude, but I sorta got the feeling like most didn't even really read my post...


here you go [media]
[/media]
it gets hard very fast but if you keep your patience it will pay off! smile.png


And this? If you didn't mean it to be snarky....yeah, seems snarky. Not really helpful at all, especially if you consider the context of my post.

Jaap85 got it. I already have the programs installed. I've got experience with Visual Basic 2008, but I'm learning C# because it's a more powerful language. I was really just looking for a series of entry-level games ideas to work on to familiarize me with traditional game design. Not to be rude, but I sorta got the feeling like most didn't even really read my post...


This is not an easy question to answer, since "entry-level" is pretty ambiguous and depends greatly on your specific experience. That said, here is an example of some beginner projects:

1 - An all text-based (console application) guess the number game. A number is randomly chosen, the user repeatedly inputs guesses until correct. Each guess, report the guess as "too high" or "too low".

2 - A console application version of a simple RPG/adventure game. Actions the player can perform (which are typed in) include directions (north, south, east, west), get an item, view inventory, and attack. Implement a map as a grid of rooms, a couple of items, and a monster to kill.

Those first two should familiarize yourself with the basics of C#.

Using XNA:

3 - Tick-tack-toe - getting textures on the screen, handling mouse input

4 - Snake - animation, timing, etc.

5 - Breakout - simple physics

6 - Platformer or RPG - Microsoft has full examples of these online (they are called "starter kits" I think), very worth checking out at some point.

good luck!

[quote name='Theis_Bane' timestamp='1340596068' post='4952548']
Jaap85 got it. I already have the programs installed. I've got experience with Visual Basic 2008, but I'm learning C# because it's a more powerful language. I was really just looking for a series of entry-level games ideas to work on to familiarize me with traditional game design. Not to be rude, but I sorta got the feeling like most didn't even really read my post...


This is not an easy question to answer, since "entry-level" is pretty ambiguous and depends greatly on your specific experience. That said, here is an example of some beginner projects:

1 - An all text-based (console application) guess the number game. A number is randomly chosen, the user repeatedly inputs guesses until correct. Each guess, report the guess as "too high" or "too low".

2 - A console application version of a simple RPG/adventure game. Actions the player can perform (which are typed in) include directions (north, south, east, west), get an item, view inventory, and attack. Implement a map as a grid of rooms, a couple of items, and a monster to kill.

Those first two should familiarize yourself with the basics of C#.

Using XNA:

3 - Tick-tack-toe - getting textures on the screen, handling mouse input

4 - Snake - animation, timing, etc.

5 - Breakout - simple physics

6 - Platformer or RPG - Microsoft has full examples of these online (they are called "starter kits" I think), very worth checking out at some point.

good luck!
[/quote]

Excellent! Thanks! This is exactly what I was asking for. I'll get right on this.

This topic is closed to new replies.

Advertisement