New to C++ game development

Started by
4 comments, last by cmkanimations 14 years, 10 months ago
I've been looking into making a sort of "home project" out of an idea i have. It's basically an FPS. I've been programming in basic and C# for about 2-3 years now, and lately i wanted to move to c++, c# i use for small applications and never got too deep into i figured may as well just jump in the programming pool instead of dipping my toes. Well i found out that my engine i wanted to use (Crystal Space) was one of the most complicated engines out there, so i turned to other sources like NeoAxis, which i plan on using, and im downloading it now. But to my question, What should i expect out of making a game with little c++ knowledge? I know people say to just do little stupid applications with c++ then move to more complicated things, but i think that building a project and testing things in it would be more beneficial to my learning style. I'm just curious to things like how to install a game engine and whatnot. Any links pointed towards beginner game development, or just using engines is greatly appreciated. Everyone has to start somewhere and im starting here :P -Cmk-
Advertisement
How well you do probably depends on how much documentation and support there is for the engine you've chosen, and a little bit on how persistent you are.

Most beginners believe that they will learn better if they start with a 3D engine (and often making an MMO with it) because it captures their attention more. They may have a point, but more often than not, the frustration of being unable to see hard work translate to results stops them dead in their tracks. Getting complex engines up and running can be difficult before you even write a line of code, and when you come to write that code, often there's so much stuff already in the files that you have no idea where to put it. That's why we recommend to start small.

Taking an existing project and amending it to learn is a good way of honing your skills. That's how I learned to code in C, many years ago. But that was in a simpler game than a 3D shooter, and it was in a game that already worked and which just required some tinkering - that is rarely the case when you download a 3D engine. You may find that you are biting off more than you can chew and need to step back to writing something simpler first.
Thanks for the reply.
When i was using Dark Basic i went through that whole "MMO" stage and kinda gave up :P. But really i just want to be able to learn the tools well, like i know basic. I'm just asking if there's an engine that has an easy syntax that i can learn within a year or so, so that my limits aren't my coding knowledge after i learn it.

For example, in Dark Basic Pro, i pretty much know how to use all the commands and everything, and that really helped me grasp basic concepts of programming as well as complex maths. I really just need an easy syntax engine i suppose.
I think the reason most people say to make small little demo things and move on is because everyone started at the same point you are at ("I want to build an MMO/FPS") and soon realized their scope was way too large. Smaller demos help you by teaching you the concepts piece-by-piece.

Personally I can't learn from a whole pre-built type engine because there's so much going on in the background that you really have no idea how to function without that pre-made engine. Although if you use it for awhile to understand something like C++, and then move to your own engine you'll be focusing on the game code rather than ALL the code.

Rather than a pre-built engine I would suggest something like XNA or other wrapper style library. This way you could do easier game development and still be focused on learning by programming full games. Even then you'll find yourself needing to build in increments (demos) until you really grasp core concepts.

Good luck!

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Quote:Original post by cmkanimations
But really i just want to be able to learn the tools well, like i know basic. I'm just asking if there's an engine that has an easy syntax that i can learn within a year or so, so that my limits aren't my coding knowledge after i learn it.


SDL is your friend!

then something like:
Lazy Foo's Tutorial

(or any other of the 3763 SDL tutorials you can find on google).

If you can code games in dark basic, coding a game with SDL will no be an issue. SDL basically gives you an easy way to get a window you can draw too and get key/mouse input - its sweet! There is a learning curve, but its about as smooth as you'll find. So you start with a few test apps and once its working you start something like Tetris. Once you've written your a Tetris clone you'll have a few classes such as Texture, Sound, Block and Game. Then read up on some 3D OpenGL tutorials. Now you make a 2D scrolling shooter clone that's rendered in 3D using your last game as a base. You'll get a few more classes such as Mesh, Camera and Scene (Scene has a few subclasses such as InGame, Menu and Splash which engine can switch between).

Now you have a complete engine with resource management, object lists, scene management and any other of the handy things you put in it along the way. You have 2/3 complete projects you can show as Folio pieces, and you have a solid understand how the entire process of update()/render() flow works. Best way to learn IMHO, and by far the best way to get hired if that's your ultimate goal.

Bham!

(Note: This guy explains "write a game and engine appears" concept pretty well.)
Thanks a million PTO!
I'm looking into SDL and i think i'll be writing a few things in that :D

This topic is closed to new replies.

Advertisement