Jump to content
  • 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 6301 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
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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!