Game Programmer's Rite of Passage
#1 Members - Reputation: 340
Posted 27 June 2012 - 07:58 AM
Thanks.
#2 Moderator* - Reputation: 5362
Posted 27 June 2012 - 08:02 AM
*Actually, I'd suggest doing several of these, slowly building up in complexity. Don't worry about graphics until you have a decent understanding of your language.
#3 Members - Reputation: 1551
Posted 27 June 2012 - 08:25 AM
When I was learning, I wrote text based games, and had fun with it. I moved to simple graphical games, like connect four, or checkers. Then I made an arkanoid/break out clone. These were done in BASIC or Turbo Basic. I started learning C, and I then tried to make a shoot'em up, and I did OK, but I was missing some understanding of loading levels from a file, etc. (realize this was back in 1992/3 before the internet). Soon after I went to college.
Eventually, I got back to making that space shoot'em up (in 2000), and I was pretty happy with it. I was able to load the levels, enemies, and other objects from external files. From there I made an AI engine, which tried to learn to win using a neural-net type process by playing simple games (tic-tac-toe, connect four, etc.). I then made a Multiplayer engine (MUNE: http://mune.will.jennings.name), and used it to make an RTS type game.
Finally, I've been making action games using 2d physics engines, and I wish I had found out about them earlier.
---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)
#4 Members - Reputation: 150
Posted 27 June 2012 - 09:07 AM
Take it from someone who did it wrong.
#5 Members - Reputation: 785
Posted 27 June 2012 - 10:20 AM
Hey everyone, I was just wondering what games you guys think a programmer should have under their belt. For instance, most people say do a text based game, then pong, then tetris, then ........
IMHO it is better to have games you actually enjoy making under your belt. Personally, I would have been bored to death and given up a long time ago if I force myself to follow that list. My progress was like this:
1. When I was in my early teens, "choose-your-own-adventure" books were all the rage. My first games were such books written in BASIC, which I would pass to friends to play around.
2. Later on, I got interested in drawing and picked up Flash to animate my comics. Turns out that it is really easy to program games in Flash, so I had a vertically scrolling shoot'em up with RPG elements. Because I was hooked to similar games like Solar Winds, Tyrant2k, and Raptor.
3. I tried to learn C++ and go through the "text game -> pong -> tetris -> ..." route but got bored and quit lol.
4. Was hooked to persistent browser based kingdom management games and decided to try making one of my own. Picked up PHP + MySQL. Realized that I could do something more advanced if I switched to node.js/socket.io and HTML5. And thats how I end up writing a multiplayer browser based RPG from scratch. Most of the coding is done, its now at the polishing stage (art, music, features etc). ^__^
My (newbie) advice would be to design a game you would like to make, something that you enjoy playing/making. Strip it down to the basic elements, see if it is a realistic project. Then try doing it!
Good luck.
#6 Members - Reputation: 965
Posted 27 June 2012 - 01:42 PM
But a general path that I'd suggest...
A text game because text is ~usually~ the easiest thing to output. A simple Guess the Number game can help get used to some basic stuff like conditionals, loops, user input and basic output.
A buy low sell high game could make for an interesting text based game without needing to go into too many advanced concepts.
A navigate the maze game seems to me the next step as it doesn't yet require you to continuously update the display. It also may be an appropriate opportunity to try to get some simple graphics on the screen but can still be done with just text. When I first tried something like this, I think the maze was just 1s & 0s in an array that I entered by hand (not procedurally generated) and I think I tracked the player's x,y co-ordinates. If the player presses right, check the location at x+1 and if there's an empty space (0) then move the player.
A Pong game is likely the first sort of game a programmer might try involving collision checking and a continuously changing display. Up until now, probably everything else has been turn based. I don't think I ever got any sort of Pong style game to work.
Tetris follows as the next step because it has a continuously updating display. The well in which the blocks fall is usually a simple array not unlike the maze game described earlier.
Probably next would be some game that involves enemies of some kind that require some sort of AI or simple set of behavior rules. Something as simple as an enemy moving towards the player on a big empty screen, possibly with a wall in the middle.
Doing up some sort of demo project involving frame by frame animation would make sense about here.
Pac-man can be pretty hard to put together but probably tempting to try at this point. A person wouldn't be wrong to try but odds are that their first shot at it probably won't be like the original.
Personally, I didn't try Pac-man until I've been programming for many years just because I figured I knew enough and it'd be easy so I never bothered. When forced myself to give it a go I found that it was a pretty tough project and realized I still had a lot to learn.
Six years after my attempt at Pac-man, I'm working on a scrolling platform style game. The main reason for such slow progress on my part is my hobbyist approach.
#7 Moderators - Reputation: 7557
Posted 27 June 2012 - 02:39 PM
[Work - ArenaNet] [Epoch Language] [Scribblings] [Journal - peek into my shattered mind]
#8 Members - Reputation: 690
Posted 27 June 2012 - 04:15 PM
#9 Members - Reputation: 239
Posted 27 June 2012 - 06:32 PM
My (newbie) advice would be to design a game you would like to make, something that you enjoy playing/making. Strip it down to the basic elements, see if it is a realistic project. Then try doing it!
I'd have to agree with this without a doubt!
Most people struggle to grasp concepts or retain information because they are doing something that doesn't interest them or doesn't keep their attention.
I'm a complete noob and have only made one game, so take my advice with a grain of salt. I also wrote an article about going ambitious from the start, if you'd like to check it out.
No matter what you do, I wish you luck and can't wait to see some finished stuff that you make.
#10 Members - Reputation: 210
Posted 27 June 2012 - 06:40 PM
The lack of hardware sprites made me shun PC's during almost the entire nineties and I desperately clung to my Amiga. LOL
#11 Members - Reputation: 340
Posted 28 June 2012 - 08:26 AM
I recently read Head First: Object Oriented Design & Analysis which was a great read. I'm trying to keep the concepts from this book in mind when I program now and I think it's helped a lot so far.
I didn't think of trying to program Pac Man, that should be fun. A maze game would also be fun to make. It could definitely be expanded upon to add traps and monsters, maybe that will be our fourth project!
ApochPiQ, I read that a while back, it motivated me a bit to move my butt haha!






