One of the real monsters in the game
Magic writer is a game concept me and a group of other people are developing.
In this you play as a magician that has a holiday on a tropical beach. Unfortunately he is interrupted by monster invading the beach. Ah no holiday this time.
The magician is skilled in summoning magic. So he uses this to summon objects and throwing them with magic on the monsters. By doing this the monsters will be defeated and the oncoming tide halted. Summoning is done by typing in the word of the item displayed on the screen.
In this game there are supposed to be at least three power-ups and some of them are connected to the items that you throw. First it is a freeze power-up that freezes every monster in the character’s field of view rendering them unable to move. The second power-up is called pierce and is supposed to go through all the monster in one lane and dealing damage to them. The third was supposed to be a power-up that makes the item thrown bounce on every enemy on the screen, it was however decided to make it into a power up that shoots at all monsters at once a multi shot. At the moment it is changed to be lightning bolts that hit every enemy on the screen.

These power-ups needed to be implemented in the game and exits now though they are not complete, there needs to be more balancing as well as more graphical feedback when a power-up is activated. The freeze for example needs to actually be seen freezing the water for the player to understand what happens, at the moment the monsters only stops moving like if the magician froze time for them (which would have been a great feature though it also would have needed more visual feedback for the player to understand what’s going on). So this needs to be fixed, the power.ups in them self works they are activated and do something but they need to look better.
I begun with creating a class for power-ups and a manager to handle them, this to more easily manipulate them since the class can contain all data belonging to them instead of like when doing a prototype and writing everything in main and everything is scattered around. Now we got a class with all data and functions, there are timers for cooldown and sprite to show the heads up display (HUD) version of the power-up that show when it is possible to activate and the cooldown. The timers are for how long the power-up should be active and for how long the cooldown, when activating the power-up it checks if it is active and if not activates, when activating it starts the timers at a certain number and then counts down until zero. When the first timer reaches zero the power-up stops having an effect in the game. When the power-up is activated the HUD version changes sprite to one that shows that you can not activate it.
Since no good lightning is implemented in the game this is an example of how it could be when the lightning strikes
Sketch of magician holding an item and planning on throwing them on some enemy. Power ups are the three round balls in the left corner and below are items that can be summoned
The power up manager handles the power-ups and lets the gamestate know that the power-up can be activated as well as when it is activated. It also creates lightning that hits each monster on the screen, for this it get the position of each active monster in a list as a parameter and uses a sprite and renderstate were it transforms the position of each strike. Renderstate lets one use one sprite and produce it on several different locations and can shape them differently, so I do not have to have several sprites taking up memory space. The bolts do damage when they hit and is implemented in the gamestate, it checks if the power-up is gets activated and then removes some of the enemies life, since the attack is instant it does not have to be at collision but rather when activated so there is not any risk of it happening more than once.
About Isak Ekedahl
2014 Programming
|