Advertisement

How much C++ experience to make first game?

Started by February 13, 2003 02:47 PM
5 comments, last by Tommy x 21 years, 9 months ago
Hey guys, I been learning C++ through books and off the web, and am starting to feel quite confident with most of what I''m learning. But when it comes to making a game I would have a clue. Especially about graphics and what-not. I really feel like I need to try make one to clear my head up on how it is done. so basically how much c++ experience do I need, and how would I go about making the jump from just doing c++ programs in a console window to game developement. any resources i can read up on? thanks for ur time.
I had a month experience before starting off OpenGL. Before that I programmed Visual Basic/DirectX for a year though. I think you don''t need that much experience, as you''ll learn along the way. But it''s good to have it, since I often had (sometimes still have) problems with basic C++ thingies. A good understandment of things like pointers, OOP, enum, etc. is really good to have. But when you feel you''re experienced enough, don''t hesitate. If you find out you''re not fully experienced yet you can still go back and learn C++. Just start off that game and see where you end up. There''s no real telling how much experience is needed. But start out easy! (oh for game programming it''s REALLY usefull if you learn Win32 programming first... for example on www.gametutorials.com (also good for OpenGL))

Because when making games you also do some win32 programming...
Advertisement
I''m currently working on my first real game. It''s a Tetris clone, pretty much.

It''s sort of difficult to describe my C++ experience. I have most of the concepts nailed, everything from enumurated constants, to pointers and references, to polymorphism, to classes, to understanding the stack and how data is stored. Concepts I''m only semi-familiar with are linked lists, multiple inheretance, trees, etc.

So far I haven''t had any trouble with my game. I haven''t yet seen a use for the concepts I haven''t learned yet. I''m currently using the Win32 API to handle the graphics and sound. Win32 allows you to set up a window, describe how it handles certain events, add menus, buttons, and icons and so forth. Win32 also allows you to handle the input, graphics and sound although most people use DirectX for these, and sometimes OpenGL for graphics. I, however, am determined to learn Win32 and so I''m using it to handle graphics, sound, etc.

In order to use Win32 you have to add windows.h to your program. Some functions require other files, so check MSDN to see which is which. I''ve sortof been going without instruction for the past while here, and so I''ve had to do a lot of my own research when it comes to what functions I need and so forth. If you have any questions along these lines, I''d be happy to share what I already know.
---signature---" Actually, at the time, I didn't give a damn about the FoxNews issue... just that you would come swooping in with your Super Mith cape flapping behind you and debunk it just because it didn't happen in your living room." - InnocuousFox
Well, your first game will probably end up being a mish-mash of classes thrown together until the whole thing works.

My first game was a space shootemup with craft that just chased each other, fired, collided and performed some mundane evasion. It was programmed with MFC as a framework and OpenGL as the rendering API. I learned enough about C++ to get the job done, and learned more about it later (templates, polymorphism, etc.). You don't need templates or polymorphism to program a game, but if you can find uses for them, they can perform some snazzy tricks.

After a few drafts, you'll distill down to the primary components of a game and be able to arrange your objects around those concepts.

I pulled out of dependence on MFC, and my primary components are now:

Window (window creation)
System (poll controls, timer)
Game (main game loop)
Graphics (ALL rendering occurs through this object)
Forms (forms rendered during game, supports buttons, text, etc.)
Gamestate (modifiable data while game plays - object lists, etc.)
Sound (sound loading and maintenance)
Network (Session creation, player lists, message handling, etc.)
Resources (bitmaps, etc.)

But don't try to accomplish too much on your first outing.

As far as how much C++ experience is necessary to perform a full blown professional game is concerned... well, it depends on how easily you want to be able to modify the code and locate what you need to modify. This becomes more and more challenging on the larger projects. Strategies outside knowledge of C++ include splitting routines out to DLLs to reduce overall compile times, as one example.

Sorry, I don't have any books to recommend, but good luck!

I'm no pro, I'm sure others can give you more advice than I can.

[edited by - Waverider on February 13, 2003 4:07:59 PM]
It's not what you're taught, it's what you learn.
Why not write your first game in console mode?
This way, you get a taste for basic game coding before even having to look at graphics, sound etc.

Eg. Tic-Tac-Toe
Text-Based Adventure
Tetris-clone (ASCII Graphics)
...
...
All of the old game source I have that was done in console used conio.h ...and recently someone told me that that basically depends on the ide etc...so what would you suggest one use for console graphics as well as "real time" key input etc...? Thanks in advance.
Advertisement
I have the same question like you before finishing 2 game demo(not complete yet but): Tetris and Chess. What i can say to you is: Don''t be too afraid or spend too much time on wondering "Is my knowlege enough?" or "Is it difficult?"..etc..Believe me! I ask those questions million times before making Tetris game. Let''s start make it right away and you will find out is it not too hard as you imagine before. If there are something you don''t know: commands, file IO...open a book and read it, make an short independent program to try it and put it back to your game. If you still have troubles, post here!. I recommend you to: study C++, Win32, DirectX basic and then make the Tetris first, it is a very basic and interesting game to make.
Good luck

PS: If you want my Tetris''s source code, email me: minhquang104@yahoo.com

This topic is closed to new replies.

Advertisement