Getting Started Designing Game
Hey guys, hope everyone's doing well. I'm working on designing my first ever game in C++ and am having some trouble getting started.
Here are some details about my game:
It's kind of like the good old find the ball under the cup game where you have three cups and see a ball placed under one of them and you have to pick which cup the ball is under after they've all been moved several times, except that instead of cups it's blue rectangles and instead of a ball it's an image of Sonic the Hedgehog (weird I know but it's the first thing that came to mind).
The game will have 4 screens, here are the details about each one.
Game title (Can you Catch Sonic?)
3 buttons (Easy-blocks move 3 times at a slow speed, Medium-blocks move 5 times at a slightly faster speed, and Hard-blocks move 10 times at a fast speed).
3 blue rectangles (blocks) that move in a random pattern. The number of times they move and their speed is determined by what level the user selects at the main menu.
Sonic figure (shows at the beginning and is then covered with one of the blocks).
Displayed if the user clicks the correct block (the one hiding Sonic) after they've completed their movement.
2 buttons (Play Again-takes the user back to the main menu, Quit-exits the game).
Displayed if the user clicks the wrong block after they've completed their movement.
"Try Again" message
2 buttons (Try Again-takes the user back to the main menu, Quit-exits the game).
I'm extremely new to C++, game design, and programming in general and have lots of issues with this, the main one being I have no clue what I'm doing. I'm not really sure where I should start on this, would anyone be willing to at least tell me where I should start and maybe point me towards some help to figure out how to do these things that my game is supposed to do? Any help or suggestions will be greatly appreciated.
For a decent introduction to C++, "learncpp":http://www.learncpp.com/ is a good place to start in my opinion.
As for the game itself (assuming it is 2D), you might want to look at the "Graphics View Framework":http://qt-project.org/doc/qt-5/graphicsview.html
Don't be discouraged by the amount of learning you will have to do...I think there is this idea these days that everybody is writing games and that it is relatively easy, but I assure you that programming and good game design is an inherently complex process, so be prepared to read and struggle a lot! :)
Thanks for the reply! I have been playing around with this for a few hours now and have gotten my main menu pretty much all set up and have a good idea on how the 2 ending screens will work (winning and losing). Now just to figure out how to tie everything together and get the actual game to work. I used to think that I wanted to get into Video Game Development, but if nothing else, my time as an IT major has really made me appreciate what those guys do. I mean I couldn't even get a simple game of Tic-Tac-Toe to work in Visual Basic haha.
Nothing beyond the basics is ever simple in my experience and often even the "basic" tutorials have serious "WTF!?" moments :P
If you really want to pursue the gaming thing, "this guy":http://www-cs-students.stanford.edu/~amitp/gameprog.html also knows what he is talking about...
...oh, and if you want a cutting edge game engine, have a look at "Unity 3D":http://unity3d.com/unity as well.
welcome to the game development world with Qt. :)
Don't give up on learning - the "wow I've made that!?" moments are getting more over time. ;)
You can choose C++ or QML/Qt Quick for developing your games, although I'd recommend QML for getting started and for the game logic as you need less lines of codes and are a lot faster in development.
The performance-sensitive parts are still best with C++ and integration with QML & C++ is quite straightforward with Qt, so learning C++ is never a bad thing!
To help you get started, you can have a look at some of our Qt Quick tutorials to learn game development:
"How to make a simple BalloonPop game with V-Play":http://v-play.net/doc/howto-balloon-game/
"How to make a physics-based game step by step":http://v-play.net/doc/vplay-entity-concept/
"How to make a Flappy Bird Game":http://v-play.net/doc/howto-flappybird-game/
"How to create mobile games for different screen sizes and resolutions":http://v-play.net/doc/vplay-different-screen-sizes/
"How to create mobile games with multiple scenes and multiple levels":http://v-play.net/doc/howto-multi-scene-multi-level/
You can also have a look at our open-source games for puzzle games, arcade, action, etc.: