Woah now, what did mice ever do to us? and why make a game about hunting them?
I’m happy to say that learning c++ is coming along nicely and will continue to. It’s no small thing for someone to say “I know all of c++”.
Pointers, references, lists and iterators, I’ve had the pleasure of using them all and more so far.
I am getting what I want from learning c++. A deeper understanding of programming for creating full blown applications and games and knowing how to approach the structure of these applications, classes and headers… Lots of them.
Base game play (straight from the tutorial)
The player can shoot fireballs at “evil monkeys”, these evil monkeys hunt the player relentlessly. This tutorial from 3D buzz was recommended to my by a colleague and mentor.
After working through it I can see why. It’s solid learning material.
New game play (It’s mouse hunting time)
Doing tutorials are great, Do them, do lots of them. But don’t’ “just” do them. Take the knowledge you have gained doing a tutorial and apply that to create something new and your own.
My own version has the following additions to the game you have on completing the tutorial:
- Game states (splash, win, lose, game)
- Leader board that loads from disk
- modified player
- Game mode
The gameplay is based around either defeating the mice or collecting the cheese before they do. Once a mouse has cheese they cannot be hurt.
The player loses lives every time a mouse gets cheese, pretty simple!
And you can play this cheese eating, mouse hunting fun here
If you happen to play it and find any bugs or feedback i’d love to hear it, although it definitely has some balance issues.
3Dbuzz tutorial – This tutorial stands the test of time, it’s still a fantastic intro to programming in 2014 and I recommend it to anyone wanting a friendly introduction to c++ with a focus on games development.
The Academy of Interactive Entertainment – As staff at AIE I have access to the programming curriculum, all the lectures etc. This has been great to see how an introduction to programming has been structured.
I’m in a pretty lucky position, I’ve got three mentors available who love it when I corner them with coding roadblocks. I find I am able to move quickly when I bring my roadblocks to a mentor, whether in person or online.
The main thing you get from a mentor is feedback and the mind expanding experience of approaching a problem from a different angle. Pen and paper often comes into play as we work our way through each new obstacle.
It also good to have people with experience guiding you through program construction, why things are done a certain way and what the repercussions might be if that certain way isn’t followed.
Everybody should seek feedback from their peers and people with experience who can provide constructive feedback.
Extending the game play (resources)
The only additional resource needed to create my version of the game was SQLite to allow database use. I’ve done plenty of web dev but this was my first c++ Library I installed purely from the documentation.
Working with a c++ library for the first time was an experience in itself, it assumes you know your way around Visual studio and know how to get a library going… I did not.
After stumbling around with code implementations I can safely say that the “five minutes or less” introduction tutorial took me significantly longer. As soon as the database was up and running though, awesome! I got it working all by myself, taking a few baby steps out from under my mentors wings.