• Advertisement

Archived

This topic is now archived and is closed to further replies.

What is the best game for beginners to start with?

This topic is 6214 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

There''s a bit of a debate on that subject. I read in an article here that Tetris should be the starting point, and then she should move onto Breakout, PacMan and some sidescroller. I''ve also heard plenty of people say that Tetris is just too complicated for the beginner because there are too many elements involved. In the book, "Tricks of the Windows Game Programming Gurus," the first game source code the reader sees is a Breakout clone called Freakout (though it seems André was just trying to impress the reader with his skill). I''ve also heard that PacMan is the way to go, because it has all the elements of a good game. However if you ask me the enemy AI elements add just as much complication to it as the squares, peices and gameboard in Tetris. You may forget or not even know this, but the ghosts in PacMan actually have independent AI. This means they don''t all act the same and just try to take the shortest path to get to you for the kill, but only one does that, and then another guards the area at the center, and the the third one just takes a bunch of random turns. I say of course you CANNOT learn programming through game programming. Those have become just two seperate things. So of course you should learn a programming language and API before you tackle game programming. Actually, once you have enough skill, you can start programming games at your level while you''re learning an API. This might end up being another forum warzone like Playstation 2 vs. GameCube or Dx vs. OpenGL, of which I never have any part, but I''ll risk it and say I think a short quiz game should come first and then Tetris, then PacMan. If you have a firm knowledge of classes, objects and functions, then Tetris shouldn''t be much of a problem, nor PacMan.

Share this post


Link to post
Share on other sites
Advertisement
Prolly a puzzle game such as Tic-Tac-Toe or Hangman.

-----------------------
Hail to the king, baby.

Share this post


Link to post
Share on other sites
everyone here has most likely read the articles and knows the ideas that your talking about. I just saw you post in a forum your reading a book on c++, so i suggest you finish everything on that, learn win programming, go to dx, and then make a 2d asteroids game cause you wont have any AI really.

Share this post


Link to post
Share on other sites
Actually the first game ever was played in ancient times by the first people of earth, the barbarians. They''d punch each other to see how could cause the most pain. However I doubt that would be much of a computer game.

Share this post


Link to post
Share on other sites
I am the most theoretical programmer i know (meaning wasting time on ''correctness'' instead of just ''trying'' stuff) ... but I still say that anyone who thinks you can learn C++, then Win API, then DirectX, then game programming ... is just being crazy.

You learn something big and nasty (and powerful) like c++, by adding to your knowledge incrementally. So ... you ''learn'' to program just by programming ... always strive to move just one step from what you know ... and if you reach too far ... start over and try to just prove/solidify what you think you know. This to me suggests that you need to know just enough C++ to correctly predict the behavior of an elementary program with a few functions and a few variables... then you write one. Same goes for Windows coding ... just enough of the API to make a WinMain, register and create a main window, and have an ultra simple WinProc() ... once you do that ... you can add exactly the features you want to learn / play with. As for games: just think of a ''game'' that exorcises what you know or want to know about programming.

A game such as Tetris exercises many areas of game programming ... so it would be better to identify them and tackle them independently.

1. GAME DATA - You need to be able to design your data model (the teris board, the falling block(s)).
2. GAME LOGIC - You need to understand the game logic (piece moves down after elapsed time, piece moves or rotates due to user action, piece colides with bottom or existing block, lines are formed and eliminated ... etc).
3. USER INERFACE / OUTPUT / GRAPHICS - You need to know how to draw a game screen, and render the blocks consistently.
4. USER INTERFACE / OUTPUT / SOUND - You would also want to trigger sounds at appropriate times, based on game logic.
5. USER INTERFACE / INPUT - You need to create an input model and code it (decide what happens when the user presses various buttons in various situations).

If you look at this list, you can probably realize there exist stages in which not everything needs to exist to be runnable. Here''s one possible order to develop a tetris game in order to learn the pieces and verify them as you go.

1. Create some basic tetris classes or structs ... including board, block, and score (number of lines for now).
2. Write a framework that creates an empty board. Also write functions to output the boards contents for debugging (like print rows of either spaces or X''s into a file).
3. Add the ability to insert a block into the board at the top middle.
4. Add the ability to move the block down.
5. Test that this works by stepping it through a few move and then outputting the board ...

AT THIS POINT ... you have enough game logic to go in 3 different direction ... your choice.

Route1 - More game logic ... keep going until the internals support all tertis features.
Route2 - User Interface / Output ... dig into learning the basics of graphics code now ... and create an ultra simple tetris board drawing function ... .then you can run your game and see blocks moving down the screen (and off the boards
Route3 - User Interface / Input ... code the basic user interface ... controls that don''t DO anything yet .. but call stub funcitons for rotating the peice, creating a game, whatever.

I suggest you add minimal keyboard input first ... like X to quit, S or T to step forward one step (move the piece down), and D or L to log the board to a debug file. Then you can run your game ... hit S a few times, hit D, hit S a few more, hit D again .. and quit ... then go look at your file ... see if it''s right. If so ... move on

Then you create the graphics ... purely for personal satisfaction ... so that ... combined with S ... you can make the peice zoom of the board in real time ... at this point ... you are ready to simply begin adding features incrementally. You can add whatever you want ... in any order ... let the user rotate, or detect colisions .. it doesn''t matter ... spawn new games, or add a timer to step for you .... play sounds or make pretty color cycling ... it''s all about what you want to learn next.

I figure this should help people who don''t know where to start or what to think when they hear "start with a tetris clone" ... this is not the only way to do things .. but if you don''t have one in mind ... just start on this one ... the key is to start somewhere ... anywhere ....

good luck

Share this post


Link to post
Share on other sites
Geez, you guys don''t know anything. Your first game is supposed to be a massively-multiplayer real-time strategy game with role-playing elements and a true 3D graphics engine.

That seems to be the trend, anyway.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Here is how I figured out how to program games:

My first games were text oriented (like mud''s) they would allow me to organize data structures to they way I wanted.

From there I tried writing games that used Graphics, but just basic symbols. Sort of like the battle sequences in Pokemon or Dragon Warrior. Nothing fancy just the basics to learn how to display stuff.

The next step was to do tile engine games.

Finally if your daring try doing 3d stuff. Where I am currently stuck. I can''t seem to get my 3ds models to ever load correctly =(.

I hope this helps.

PS. As a good ego builder I did 2 or 3 games of each type. It''s nice to complete a project, and feel like your improving with each game you write. As opposed to the neverending uncomplete blob you call a project!

Share this post


Link to post
Share on other sites
quote:
Original post by Martee

No! You're all wrong!
The absolute best thing to do is to start with an RPG!




On one hand you might be considered right by some people's standards: most text adventures are indeed RPGs, but the fact is I don't like RPGs. Notice I said I would start with a short quiz game or something-- not a text adventure. If you're going to learn how to program a game, you might as well start with a genre that you actually like. I don't like RPGs so I will not start with one.

quote:
Original posts by MicahJon and Pik

PONG!

What better first game than the first game!




Actually Pong was NOT the first video game. It was only the first one to really gain true popularity. Just to let you know.

Edited by - Some Guy on February 15, 2001 6:02:07 PM

Share this post


Link to post
Share on other sites
quote:
Original post by multitap

Actually the first game ever was played in ancient times by the first people of earth, the barbarians. They''d punch each other to see how could cause the most pain. However I doubt that would be much of a computer game.




Yes it would-- it''s called Mortal Kombat.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
To be honest whatever game you first write depends on the skill level you feel comfortable with. Learning directX and windows programming is liable to make you feel like banging your head with a large blunt instrument, e.g. a frozen block of cheddar or perhaps a galvinised mallet if you have one handy. If you are really looking at a first game you may need to stick to something simple and text based. Hangman, noughts and crosses, whatever. I know whatever people answer by human nature you will ignore all advice and do your own thing anyway. Probably attempting a bomberman clone or something. If you need a place to start and want something that is reasonable to use, you might want to look at http://www.talula.demon.co.uk/allegro for the simple to use game programming library available there. Its not for 3d and it uses a dos programming style, it will run under windows and there is plenty of support documentation. It is also on the verge of its fourth incarnation too I believe. If you want to try graphics I think pong is good idea, a circle and a line and a few basic rules. If you feel adventurous you can even make it into a breakout clone.

Share this post


Link to post
Share on other sites
The BEST game to start out making would have to be Quake 3. If you prefer RPGs than make Ever Quest. heh no really, i think some one''s first game should be pong. It was my first game and it was not real hard, but it wasnt very easy. Well now to me it is but at the time it wasnt. Pong is very simple, yet its perfect to understand the basics of how a game runs. After that i would say a more advanced pong. Like breakout or some other variation. Then i think that is the time games like tetris and what-not should be attempted. Well anyway theres my 2 pesos, or is that cents. Maybe yen? hehe

-SirKnight

Share this post


Link to post
Share on other sites
quote:
Original post by SirKnight

The BEST game to start out making would have to be Quake 3.




Bad joke.

Edited by - Some Guy on February 15, 2001 9:34:56 PM

Share this post


Link to post
Share on other sites
The first real game I made was for the Apple ][c in BASIC. It was 5 bugs (real graphics even, not ASCII) moving back and forth across the screen at varying speeds. You had to use the joystick to avoid them and get to the top of the screen.

Ben
http://therabbithole.redback.inficad.com

Share this post


Link to post
Share on other sites
I''m writing a tetris clone right now for my band. The very first game I made was a tic-tac-toe game using ascii characters. Then I made 2 rpg''s (which were REALLY crappy) using BGI graphics in Borland C++ 5.0. Now I''m coding the tetris clone in Direct X. It''s actually harder than one would think. I''d suggest doing pong first, then tetris if you want. And whatever you do, FINISH WHAT YOU START! But that''s just my opinion, I can easily be wrong

Share this post


Link to post
Share on other sites
Now Some Guy, was that comment about my post really needed? I think not. If you didnt like my joke then just dont say anything about it.

-SirKnight

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
hi
board/card/puzzle/logic games are a good thing for learning the
game logic, then pong is better for some realtime action stuff,
pacman is good for both action and AI, then some simple 3d engine
and...
You see game programming has too many aspects to work with, each
game genre focuses on some of them. There is no exact path to
learn GP, just write different kinds of games and you''ll be
a guru.

--MFC (The Matrix Foundation Crew)

Share this post


Link to post
Share on other sites
There''s not much simpler than the towers of hanoi. After making that game, make tic-tac-toe (player vs computer... it''s not that hard), then try programming tetris.

Share this post


Link to post
Share on other sites
I''ve written a few games, my most recent being a 3D racer, but now I''ve started uni, its back to basics, and our assignment for this first year is to write a tetris game, so I would say yeah, its a pretty good first game, but IMO pong is easier.

----------------
Freeride Designs
----------------

Share this post


Link to post
Share on other sites
quote:
Original post by Beer Hunter

There''s not much simpler than the towers of hanoi.




What is that?

Share this post


Link to post
Share on other sites
Towers of Hanoi is more of a puzzle than a game. If I remember correctly, you have three pegs with 3-7 disk of decreasing size on the peg at far right. Objective is to get all the disk over to the far left peg without ever having a larger disk on top of a smaller disk. I think this is it. It was more to show how a seemingly simple problem can quickly take forever (literally) to solve. In mythology once the Tower of Hanoi was finished, the universe would end...gives you an idea of how long it takes with more and more disks.

Just to add my $0.02. I agree with what someone else said, it depends on your level of skill. Definately try not to start off to big, or you will just be dissappointed. If you are just starting to code, try a game of high/low. You type in a number, the computer tells you whether your high or low. Or vice versa. Get the computer to guess your number.

If you''re wanting to do graphics, keep it to a single screen. My first semi-arcade game was in VB where I just blitted all my bitmaps into a picture box. You can also work on smaller projects by not working on a game, but parts of a game. Get a bitmap moving on the screen. Then make it collide with something. Then add animation. A score for killing. Incremental improvement is the way to go...

The important thing is to finish whatever you start. One game guru once said "Your first 10 games will suck. Write them and get them over with." I''ve got at least 8 more to go...maybe more.

Ut

Share this post


Link to post
Share on other sites
I read that same article and made a tetris clone as my first game using C++ and DirectDraw. It was actually quite a bit easier than I thought it would be - but it really helped me to seperate what I thought I understood from what I truly understood. The lack of AI helped me get right down to what I needed to learn - DirectDraw.
I don''t think it matters so much WHAT you program, as long as you make something. And like the article says, complete whatever you start. I almost didn''t bother to make menus because they seemed like a waste of time, and that I would have no problem implementing them in any games in the future. Well it turned out that my concept of how I would design menus was quite a bit different from how I actually managed to get them working. The extra knowlege from adding the menus will help a LOT in my next game (a turn based strategy), where menus will be much more important. Experience is experience - whatever you decide to make, you will be getting experience, and that is all that matters.

Share this post


Link to post
Share on other sites

  • Advertisement