Jump to content
  • Advertisement
Sign in to follow this  
Patriot Coder

Where do I start?

This topic is 4523 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

Hi all, I'm new to gamedev(just joined this morning), and I was wondering now that I know C++, where I should go next. When ever I search, I find tons of tuts on how to do things like set up windows and blit bitmaps, but nothing that shows me how it applies to games development. I know a little SDL, and I don't want to do win32(cause it takes to much time that I could spend on design and programming the actual game mechanics). So here are the Questions: 1. Is SDL the way to go(It seems simple.)? 2. Does DevC++ work as well as commercial compilers(I hear it's actually better!)? 3.Using DevC++ and SDL(or better alternatives that work with OpenGL), can someone provide a complete path to making my first graphical games(say, Tetris and Pong)? 4. Are there any good web pages on designing programs(technical, not games theory I.E. Whether to implement something as an array or linked list)? I do realize I need to start small, and my eventual goal is to Program OpenGL in 3d(crossplatform). I know I'm asking a lot, so thank you in advance, and I will rate you up if you help me get where I'm going. Thx!

Share this post


Link to post
Share on other sites
Advertisement
Welcome to Gamedev.net! Glad to have you as a member!


If you want Simplicity, definitely go with SDL and DevC++. I know these tools have saved me valuable dev time, and let me concentrate on the actual game implementation. As for a complete path, I'm trying to build one in this thread. Any help is appreciated(rate ups are involved ;).

As for program design, I'm looking for some good pages myself. Hope this helped you!

Share this post


Link to post
Share on other sites
Well here is how i started and i am far from where i want to be:)

I learned C/C++ and a few other languages in University
then i started by:

1. Created a Window (Fullscreen/Windowed)

2. Learned how to draw a Square

3. then i made a little breakout clone

After that i did a lot of testprograms on GUI-Programming, Pathfinding and other things like Skyboxes,Alphablending, Resourcefiles, Resourcemanagement and Language independency

Right now i am trying to put all this together with a few friends to make a 3d space shooter

In the mean time i got a lot of books and found some interesting things in them that i could start building on.

Its not much but i hope it helps

Rozik

Share this post


Link to post
Share on other sites
Quote:
Original post by Patriot Coder

Hi all, I'm new to gamedev(just joined this morning), and I was wondering now that I know C++, where I should go next.


Hello! It may make things easier if you elaborate as to how well you know c++. How many programs have you written?

Quote:

1. Is SDL the way to go(It seems simple.)?


It works fine for games that dont mind being 2d. If you go about it right it's quite a powerful little library.

Quote:

2. Does DevC++ work as well as commercial compilers(I hear it's actually better!)?


Dev C++ isn't a compiler. It uses the win32 port of the gnu compiler, which is good. As to how it fares against commercial compilers, I'm not entirely sure, but it does the job and is very standards complaint.

As for Dec-cpp the IDE is fine, I use it, but my wants from an IDE are low. Many people seem to like Microsoft's visual c++, there is a version that is downloadable for free I think. Express edition or some such.

Quote:

3.Using DevC++ and SDL(or better alternatives that work with OpenGL), can someone provide a complete path to making my first graphical games(say, Tetris and Pong)?


I have no such link. Its not too hard, just a combination of making images move and detecting collisions. You might learn more trying yourself than looking at a tutorial for that stuff.

Share this post


Link to post
Share on other sites
Wow, no one mentioned NeHe!

I love NeHe's tutorials. They may not be the best for teaching but they show you how to get stuff on the screen, which is a start.

So, if you haven't already, check it out. nehe.gamedev.net

Share this post


Link to post
Share on other sites
NeHe is about OpenGL and the OP was more interested in simpler things like SDL.

1. Yes, SDL is a great place to start. It handles the nitty-gritty stuff like creating a window, loading images, and blitting images to the screen. It *cannot* rotate, scale, or otherwise distort an image(unless you write that functionality yourself). Also, it does not handle the drawing of primitives(triangles, squares, etc. OpenGL/DirectX style), but some of that is done in other libraries like SDL_draw or can be coded in fairly easily.

2. Yes it works well both as a compiler and IDE. It is not as good as Microsoft Visual C++ Express Edition. After switching to MSVC++, I will not be returning to Dev C++, it is simply inferior. Dev-C++ does have one nice feature; its DevPaks. They allow you to easily use libraries, including SDL. However, many of the libraries that they have are slightly out-of-date, but that should be only a minor concern.

3. This is a little vague. Heres a rough idea.

-Make command-line programms with C++ until you get a fairly good grasp on everything up to, and including, classes. Just read through C++ tutorials/book until you get through the classess section and onto inheritance. You shouldn't need inheritance/polymorphism for your early games, though it is necessary for latter ones.
-Do SDL tutorials and learn how to load and draw bitmaps.
-Make your game.

4. There really aren't that many out there, sorry.

Just as an aside, always use std::vector, std::list, or one of the other boost/stl containers, not arrays. Do yourself a favor and do it the correct, easier, and best way first.

And best of luck!

Share this post


Link to post
Share on other sites
Ah, so you've figured out that knowing how lots of little bits work doesn't necessarily mean you know how you can get them all to work together, right?

Making all those bits work together all at once can be a bit daunting. Have a general idea scribbled out on paper somewhere, as this is just you working on the project don't worry about formal methods or anything - just boxes and lines and things that mean something to you.

Get one thing at a time working. Give yourself a goal of always leaving your code in a compilable state before you check it in for the night. And do the things you know how to do first - don't let yourself get bogged down in detail. Getting bogged down in detail means you get fustrated and just leave things alone - or even if you do get something small done you realise it doesn't actually make much difference.

so you know how to make a window and blit bitmaps. Thats a very good place to start. Setup your window, blit something to the screen, get that something to react to your input. Let things grow up organically... so you get to see how things work together. Once you got that down complicate the idea some more... keep building on it with things you know and letting things grow. Don't be suprised that things you write at the begining of this process change a lot, or even get thrown aside as you learn more about the process.

Give yourself breaks, reward yourself and pat yourself on the back. Make sure you use source control so if you screw something up badly you can revert to something eariler on in the day. Set yourself small attainable goals that work towards your overall goal.

As you are tinkering about with things like this, look in to patterns - if you come across a problem time and again you'll probably find someone has already worked out the best way to do it and written it down as a software pattern. Looking at patterns from this end perspective might get you more interested in proper design techinques, uml and the like - esp if you see how they could be physically applied.

I dunno, I'm going off one one. If you are the kind of person that like all the facts infront of them first rather then learning by doing then I would suggest looking at things backwards from what I've said. Just keep in mind design techiniques are only useful when they can be properly expressed in some form of code... an architect for example always has to keep in mind the limitations of the materials and skill of the builders. You need to achieve that perspective, however you achieve that... good luck!

Share this post


Link to post
Share on other sites
Quote:
Original post by Run_The_Shadows
I always love it when users reply to themselves.


did i miss something? Did someone post on an alt to boost his rating or something?

Share this post


Link to post
Share on other sites

This topic is 4523 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.

Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!