Is this a waste of time?

Started by
7 comments, last by epsilon42 22 years, 8 months ago
hey, i''m reading some c++ book at the moment, about half way through and so far it''s only been teaching me how to make programs that... well ... dont include graphics... so i''m like making stupid calculators and stuff when all I really wanna do is make games :D could someone brief me on the steps on how to make a basic 2d side scroller game? how does learning all this accounting type programs from the book help me understand what I need to know for making games? oh yeah the book im using (probably not the best choice according to reading other peoples posts) is sams publishing: c++ in 24 hours or something. okay i''m just gonna blab on about what I understand some game programmers do. THIS MAY BE INCORRECT! some of the hardcore programmers code their engine from scratch, and then once the engine is complete, start working on their game. OTHER programmers download pre-made engines and really just do the game concept (of course programming is involved but not as extensive as the previous option). Is coding a primative 2d side scroller (using this as an example), a possible task for a beginner programer who has just read a book about C++ to undertake? is writing a game using someone elses engine an easy task to undertake? i''m also given the impression that libraries help a lot for people making their own games. graphic libraries and things such as allegro. i''m really quite unclear about a lot of the concepts i''ve mentioned above and it''d be great if any of the pros could give some input. thanks for reading
Advertisement
ok, reading C++ books teaches you the programming language which is applicable in your games, if you don''t understand the basics you will never make a game-
Try buying a game programming book, or look for other sources of information to help you if you get stuck

I would be suprised if anyone could start coding games straight away.
(SAMS C++ is a good book, though the 21 days version is better )
Don''t skip any parts of the book. Don''t rush through them, they will be needed. You must have a very strong grasp of the C++ language to make games, so it wouldn''t be wise to assume that certain parts of the language aren''t important for your purposes. My suggestion to you is just get games out of your head and forget that''s what you''re trying to learn. Focus on C++ only, and then once you understand everything, only then go on to learn game programming. I don''t know of anyone who can make a full game with graphics and all, but can''t make a simple DOS program.
You are correct in that there are a lot of people using other peoples engines to make their games, but there is no substitute for making the whole thing from scratch (although using hardware-abstraction libraries like DirectX or OpenGL are always worth it). Even if in later life you end up using the Quake3 engine or the Lithtech engine, you will never be as flexibl or competent a coder than if you have experience of writing your own engine, even a real simple one.
Where I work we have some very very good 3D coders that do all the difficult 3D stuff (Which is beyond me) but I can vaguely follow whats going on in their code as I write my bits, beacuse I undertsnad the principles of Vertex buffers etc from when I coded positech''s 2D games.
When it comes to games coding, knowledge learned is never wasted. Recently, whlst doing sound coding, I had to write an interface for the sound editor to Microstf Access. Who would have thought that boring old SQL knowledge would come in usefull on Republic:The revolution?
Anyway, the main advice is to be patient, don''t try and run before you can walk, pick up a basic book on 2D directX, and code your first shootemup game, even if its just space invaders.
Good Luck

http://www.positech.co.uk
If you want to get the feeling that you are actually doing something look up some tutorials for game programming. Mostly the intro ones are simple stuff - but at least you''ll feel like you''re doing something. Also is best to use a library (at least at first) because being a beginner, you won''t be able to do stuff as fast or as well as a pro. In fact even being a pro (I guess I am ''cos I program for a living) you won''t make a lib as fast as the gurus who write the libs. For 3D I''d go the OpenGL way, for 2D I hear that Allegro is good.

Brad
Just take things at a pace, learn c/c++ and learn it well.
Once you have a good grasp of c/c++ ,id personally say to start reading some tutorials and such on graphics,how to plot a pixel, lines, circles,and such. Some people suggest grabbing a library right off the bat. I personally am against that ,libs are great for doing work, but I feel they fail to actully teach you much other than there interfaces. In general I would say study some of the low level stuff, mode 13/mode x, the vga adaptor, vesa,framebuffers,etc. While you probally won''t use this type of knowledge in a game nowadays. It gives you a good understanding of what is really going on and I belive that really helps you in the long run. After you understand basic things like how a video adaptor works and how you would program it, pick up some lib or api like opengl or directx.
Where do you got to learn that low level stuff that you just mentioned?
Well I learned most of it from a old book I picked up for about 15$ the name was Zen of Graphics Programming. That book covered tons of low level information, from the DAC''s in vga cards, to mode-x to lines,circles,polygons,texture mapping,lighting,etc. It was written in C and ASM, really great information. One site that I dont know if is still around was the game programming megasite, which I remember covering alot of information.

Cool, guys thanks alot for all your advice. I guess I was setting my goals a bit high in the first place aiming to make the first 4d shooter or something i''ll stick to learning plain c++ in-depth before i even think about games. just thought i''d let you know.

-epsilon

This topic is closed to new replies.

Advertisement