-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome to the NokiaBounceClone wiki! This is a brief description of how this game works and was developed!
This gane is a C++ clone of old Nokia bounce game that I developed using SFML and Box2D. I used Tiled, a gui map editor software to edit and develop maps for the game, which were stored in an xml type .tmx format. In this game, we control a ball to explore through a 2D world with different hurdles like spikes and fire and collect special flags that will open gate to next level. Thus this game is a physics based RPG game.
SFML is a multimedia library that provides APIs to manipulate Images and sounds. Box2D is a physics engine that periodically calculates physical computations like effects forces, collisions and gravity on a data structure called b2Body in Box2D's terms. This game reads the information from the tmx maps and creates game entities on runtime. Thus by feeding different maps we can dynamically load different entities in the game.
This system is divided into several part based on their utility. These subsystems are entity factory, responsible for reading tmx map, generating Box2D entities and subsequently the various game model objects like ball, walls, spikes, etc; Resource holders, that loads and keep track of resources like images (textures), audio sounds and background music; game logic module, that keeps track of collisions and handles the necessary action like ball respawn to last checkpoint, incrementing score on collecting dimonds and crystals, and finally the main module that ties these all modules together. Information about flip time and distance of moving hurdles (spikes), position, is the wall a rubber wall, that increases bounce, are all stored in map and can be changed externally without changing code. This was done to make game more modular and hackable :p