The Next Step

Started by
6 comments, last by TraderJack 18 years, 12 months ago
Hey there! TJ here. Just wanted to ask a quick question. I'm studying C++ (accually, I'm coming back to studying it after some time). Like many others, I have long term dreams of making my industry break (I'm soon getting my B.A. in C.S.). So anyhow, I've finally completed a few tutorials (including the full C++ tutorial found at cplusplus.com), and have greated a text based TicTacToe. Anyhow, I want to take the next step, as gradual as possible. Would it be toward games like pong and tetris and brickout and such? Should I stick with textbased or start my jump into 2D graphics. All in all, I would just like someone to point me in my next direction (and if you please, could in include the location of a few good tutorials concurrent with your suggestion.) Thank you! -IV PS: Where can I find a tutorial for a C++ random generator (for guess-the-number games or rock-paper-scisors)? Thanks again.

-IVHumble Student

Advertisement
I think the next step depends upon what you're interested in - it varies wildly from person to person how they progressed.

A lot of people would say that the smart move is to go for something small, like Pong or Tetris - something that lets you figure out the principles of graphics and gameplay but without being too ambitious. But if you're not going to enjoy making/playing your Pong or Tetris clone then this may not actually work for you...

Personally, the route I went was to dive in with the completely rediculously ambitious out-of-reach projects - I didn't get very far, but I learnt masses each time I tried, and every time I started again I always ended up with a much improved version and a much greater understanding of what goes into making a game. I guess that if you're seriously wanting to get into the industry then this may not be the best approach, because while you'll learn a lot you won't have any finished projects to show case.

As for tutorials, etc, I'm not sure I can be much help. But I would recommend something like the Allegro games programming library (found roughly here) - there are various APIs like Allegro that let you dive into graphics programming quite quickly whilst abstracting out the most nitty gritty details.

P.S. As for a random number generator, call the 'rand()' function to generate a number between 0 and RAND_MAX (a very large number) - something like 'rand() % MY_MAX' will give you something in the range 0 - (MY_MAX - 1) which may be more helpful. Always call srand(time(0)) once at the start of the program so that you don't get exactly the same sequence every time. This may require a #include <stdlib.h> and a #include <time.h> to make it compile.
Thanks alot for your help! Allegro certainly seems like a nice transition into graphics-based programming. Another question though; when do you think I should move to DirectX? What kind of programming knowledge should I have to make that jump. Also, one of my goals is to get started on team-based games as soon as possible. What kind of skills should I have before I try my hand at say, a 2D RPG/Action/Adventure game as a part of a team?

Thanks again!

-IV

PS: and thanks about that random generator!

-IVHumble Student

I highly recommend SDL, though Allegro or ClanLib is fine.
My advice would be that moving to DirectX depends upon your understanding of programming - libraries like SDL or Allegro can be very helpful for actually letting you make 'games' almost before you can truly program, whereas IMHO you need to have a much clearer grasp of how your programming language works before you'll cope too well with DirectX. It seems inevitable that you'll have to move to APIs like OpenGL or DirectX eventually if you seriously want to get into the industry, just because that's what they're using, but I don't know that there's any rush - better to learn the principles behind programming/making games first when it'll be much quicker to learn an individual API.

Also, team work probably depends upon the team. If you're a beginner, maybe in theory it would be a fantastic way to get into making games - learning from the other team members, chipping in when you can, but treating it like a sort of apprenticeship. In reality, you'll probably end up on a rubbish team of dimwits (there are a LOT of them out there trying to make games!) and it'll just be a disaster that wastes your time. I'd start small, make some games that you enjoy on your own, then when you've got the skills you'll be better placed to make a contribution as part of a team. But that's just my opinion!
Buy a book. There are a number of books that hold your hand through developing a basic DirectX game, explain graphics, collision detection, user input, basic game maths, etc. If you are about to get a CS degree you should already have the fundamental skills required to understand these concepts. Check out the Books->Beginners section of this site for reviews. Since you mentioned RPGs the title "Programming Role Playing Games with Direct X" got some good reviews.
There are online tutorials and articles which cover these topics, but they usually only cover one aspect of game development and assume you already know everything else. They also do not give you a very good idea where to start.
Wow, thanks guys! Great stuff! Just one more thing...

I downloaded Allegro, and I'm trying to install it (I'm using Dev-C++ on Windows 2000). I've gotten to the point where you have to compile Allegro and install it, but when I try to compile it with the 'make' and 'make install' command, it gives me a bunch of compile errors. Anything?

-IV

-IVHumble Student

anyone?

-IVHumble Student

This topic is closed to new replies.

Advertisement