C++ to a whole new level

Pages: 123
Hi. ive been studying c++ for about two years and im thinking of taking it from cmd's to a whole new level (i.e graphics, 2d, 3d, etc) problem is, i dont know where to start. im thinking of starting by making games. any suggestions on how to start? thnks for the reply in advance.
Try SFML, SDL, Win API, or OpenGL(Glut).

I'd strongly recommend OpenGL or SFML at a basic level.

SFML examples: http://codingmadeeasy.ca/tutorialLayout/sfml2
OpenGL Examples: http://cs.lmu.edu/~ray/notes/openglexamples/

P.S.
I know SFML quite well, so feel free to contact me if you need any help ;)
Last edited on
Pick a library (Allegro, SDL, or SFML) to start 2D game programming. If you know an artist for the 2D, great, but if not you can get Gimp to make place holder graphics to do your games. Then you get into music and sound, but that is worrying to much.

Allegro: http://www.allegro.cc
SDL: http://www.libsdl.org
SFML: http://www.sfml-dev.org

Gimp: http://www.gimp.org
You should probably start with basic games like Pong or Pacman clones. I didn't, but I probably should have.
In case you need it(or it's maybe I'm just showing off) I have my first 2D game(Pong) here :
https://github.com/TheIllusionistMirage/Pong

P.S.
This game is not written in the best way(or perhaps it's written in the worst!)
Last edited on
BTW chrisname, what game engine did you use the first? And what games did you first create?
I just make up game ideas and then start writing them. I've never used anyone else's engine, largely because you don't really need to for 2D and I've never done 3D. I did look into Ogre3D and Irrlicht for 3D rendering but I didn't like them.
You mean everything from rendering functions & classes, graphics, etc ?!
Last edited on
To add to chrisname's recommendation of Pong/Pac-man. I found an article that is a nice read and has a decent list of games for beginners to clone.

GD Article List wrote:

Now I'll list some well-known games that will definitely help your game development skills and allow you to have actual complete games under your belt. I'll quickly point out some things that will be learned for each game. These games are:

Pong = Simple: input, physics, collision detection, sound; scoring
Worm = Placement of random powerups, handling of screen boundaries, worm data structure
Breakout = Lessons of pong, powerups, maps (brick arrangements)
Missile Command = targeting; simple enemy ai, movement, and sound
Space Invaders = simple movement for player and enemy, very similar to breakout with the exception that the enemy constantly moves downward, simple sound
Asteroids = asteroids (enemies) and player can move in all directions, asteroids appear and move randomly, simple sound
Tetris = block design, clearing the lines, scoring, simple animation
Pac Man = simple animation, input, collision detection, maps (level design), ai
Ikari Warriors = top down view, enemy ai, powerups, scoring, collision detection, maps (level design), input, sound, boss ai
Super Mario Bros = lessons of Ikari Warriors (except with side-view instead of top-down view), acceleration, jumping, platforms

The list shows games in terms of difficulty from least to greatest as far as programming them goes. There are games that others may suggest but these 10 games will definitely round out what you need to know in 2D game development. If you can make and complete these games, then games like Sonic, Metroid, or even Zelda become that much easier. Those games are just variations or extensions of what you have already learned.


Full Article: http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976
closed account (30X1hbRD)
@The illusionist mirage,
How experienced would you say to be in C++ before starting SFML?
closed account (N36fSL3A)
You really need to know the basics, advanced topics are nice to know about but aren't required.
It may make it a little more difficult, but you can learn to program games while learning C++. You just have to take it slow as you go.
ive been studying c++ for about two years

I'd say that is enough for SFML.
closed account (N36fSL3A)
I guess I take a similar approach to chrisname. I look at game engines, but I don't really like how they're structured, so I just end up writing my own. I guess I'm reinventing the wheel, but meh. It doesn't bother me.

ive been studying c++ for about two years
Probs more than enough, however it really depends on how much attention you've been paying to C++. Do you know how to use classes, namespaces, etc? Because SFML is OOP, and it can bite you in the rear end if you don't understand them.
Once you've done some game programming. I strongly recommend looking into low-level OpenGL and graphics card programming. Shaders, projection matrices, how your graphics card renders stuff, etc. I find these things extremely interesting.
closed account (N36fSL3A)
Kinda OT: I do too. I find GPUs very interesting, the history of them is great too. Matter of fact, I find CPUs interesting aswell, especially older ones where the power of them were limited.
Last edited on
closed account (Dy7SLyTq)
speaking of older cpus... im interning at this place and one of the guys im working for have old computers next to their main machines. like one has an original apple II. idk what the others were (i didnt get a good luck at them) but they were along the same make
Do you know how to use classes, namespaces, etc?


yep, i know that. question thought, do i need to know pointers?

1.) Da Button factory : http://dabuttonfactory.com/

2.) Some Pokemon sprites : http://fanart.pokefans.net/ressourcen/tilesets/pokemon-pmd/


i can pretty understand the last two but I dont quite get the first two of them...how do i use dabutton?
Last edited on
Dammned Programmer wrote:
yep, i know that. question thought, do i need to know pointers?

Yes, I'd recommend that you study it since it can be of great help. But again, since you're just stepping into the game dev waters, have no worries about what you've not learnt. With patience and practice you'll surely understand what to use and when to use. And sometimes, as it happened with me, a concept may become more clear to you after programming a game since game programming uses all your knowledge. If you'll look at my own example game I provided above, you'll see I didn't use pointers too because when the game was made, I didn't know pointers :)

i can pretty understand the last two but I dont quite get the first two of them

Say, you're making a game and you have UI with menu. So, You'll need to make buttons. DaButtonFactory just helps you create neat and fast buttons so that you can save time and devote it to coding, sprites, etc.

The second link contains Pokemon spritesheets which you can use as animals, warriors, or enemies in your game.

Lumpkin wrote:
I find GPUs very interesting, the history of them is great too. Matter of fact, I find CPUs interesting aswell, especially older ones where the power of them were limited.

Yea, me too. GPUs are interesting to me though I don't have detailed knoledge about it. You know the way they process huge amounts of graphics.

EDIT:
@BHXSpecter

Thanks for the great list cause I never made or heard about this missile game :)
Last edited on
Pages: 123