Project Information
- Category: Software/Game Design
- Project URL: drive.google.com
- GitHub Repository: github.com
My First Complete Game
The idea behind this game started out as a joke with a freind of mine which has lead this project to be treated more as practice and fun for myself rather than as an outlet for ambition or a source of income. If you are actually
interested in playing the game I have a build for windows in the google drive link above.
Premise: A caveman sees glimpses of shiny objects throughout a cave filled with magical stones. With his ingenius new invention, the slingshot, he uses these stones to solve puzzles and collect his presious,
gleaming objects.
Techincal Background: This game has two main game mechanics: Slingshotting magical stones and solving puzzles. The slingshot mechanic uses one of my top two game design patterns the Strategy Pattern. There are 7
different types of stones that the player can use to solve puzzles; each stone has a different behaviour. This changing behaviour is streamlined to implement, easy to follow, and easy to change/debug all because of some fancy use of
dependency inversion; I absolutely love this pattern. The second mechanic, puzzles, are implemented using the Observer Pattern. This was a great way for me to decouple the dependencies between classes and make world building extremely
streamlined and easy. I created a small collection of prefabricated puzzle tools that could be pieced together any way I liked to eventually trigger a new part of the map to be unlocked; great pattern as well. There was a lot more
that went on to get the game to this state but these two things are the biggest. Please checkout my other project posted named "Nebula" for some more insight on the software that I made during this time.
I have worked on game projects before, but this was the first time I've finsihed a project with a complete, playable game loop. Overall this was a great experience for me. I thouroughly enjoyed the whole process and I am very
proud of what I've learned and what I've produced in the relatively short amount of time I spent creating this.