Tuesday, 12 April 2016

Space Invaders

Space Invaders

Plan:
I have decided to do Space Invaders instead of Blackjack due to me knowing my skill set. I didn't know how you played blackjack and I knew that most but all of the making of that game would be code, and I knew that Space Invaders would be less challenging with code and that it would be more to do with art.
The idea that I have for the game is to make it completely different from the classic yet keeping its key features (function of game) and then half way through (6 levels in total) would contain the classic sprites (enemy).
I wanted to design a futuristic design of a background, and then a simple black background for the ending.
I also want to add a boss that doesn't get destroyed and doesn't attack except reflect bullets that the player fires so it acted more like a support unit.
I want two different designs of the future aliens and two different designs for the classic aliens.
(Spr-alien 1) looks like a turret that fires at a chance of 1-500 and a alien that looks like its in a UFO which has a fire chance of 1-250
The classic aliens have different colours (green and white)

Sprites
Alien-1

 This is the first sprite, this was created to look like a turret and to act like one. The animation will spin every time it shoots. This also goes red in colour before it fires.
The reason for this animation is that the player will know and expect the shot.

The Sprite is the smallest of all the enemies and for that reason is has less detail.



Alien-2


This enemy was created using Gamemaker but in a bigger size format. This gave me the chance to make edits I wanted then I made a smaller size version with the same detail, to give the effect.
The animation to this sprite is that the alien and the top part of the sprite went down with it.
The fire at the bottom chances so it looks more realistic.

This effect happens every 30 seconds.




Classic alien-1



This sprite doesn't have any animations and has the same function as the original games sprites.
The bigger version of this sprite has the same function except has more health and fires more often.




Classic alien-2


This is a different colour to the first to show the difficulty difference. Because this isn't the original colour it keeps my game my own style.
This has the same function as the first.




Background
I designed this using a variety of different paint tools.
I first placed random layers of paint and filled them in, in light blue going purple, I then blurred the colours together so it doesn't look cut and then used "58" paint tool to give the effect shown. I then added in the alien I created and then blurred inwards to give a grass feel at the bottom.
Other edits followed
(Colours changed and more stars (white dots) added to give the effect of distance.


Second version
This background is for the classic part of the game. I removed the layers that I designed the other background with and filled it white a black background, and left the alien there.
The alien was hardly noticeable which made me have to increase the colour (green) so that it would standout. I also wanted to give the effect that it was fading in the darkness, so I painted over the ends of the alien and painted over it, with the flow decreased to 38% so that it doesn't look like someone has just thrown paint on it.



Object

Obj_wall
The wall's sprite size was edited to 16, so that it was half of what the original size was so it wouldn't seem that something random is blocking the players way.
The sprite doesn't have any design and was left after editing size.
Then the sprite was given commands ("drag and drop") so that no player or enemy could go through it

The Obj_boss was changed in size when first created and imported into game-maker, due to it being much larger than intended.

Obj_player has the most commands (code/drag and drop) which makes this object one of the most important. This object contains the code for the movement, lives, shots and effects. The V2_player also contains most but all of the same code as its used as another life for the player.

Obj_enemy also contains some of the code that the player used but edited in ways which doesn't relay on certain buttons being pressed

Second player:
This is another sprite which is for the same player, the function of this object is exactly the same when movement and collision is involved. I wanted the player to have lives, however I wanted to have some originality, so I designed another sprite similar to the first, yet increased in size to make it harder. When the player is killed the rock in the left part of the screen will blow up and it would contain the other object which it allows you to control.
The problems:
Basic error codes when trying to control the other object. I fixed the problem without code and used the drag and drop technique, (when collide with "enemy_bullet" destroy player and rock) and then added a simple command to change object when killed.
Death when spawn. When the player died the enemies were already on the other side where the player spawns again, which doesn't give the player a chance. I fixed the problem with invisible walls that makes the enemies only travel where the player can shoot, this fixed the original problem with instant death, but it also fixed a problem that I didn't intend, when the walls were not there it gave the chance for the enemies to evade the shoots and cause the player to struggle when killing the aliens.

Effects
When the Obj_player, V2_player, and the Obj-rock are destroyed the effect is an explosion which gives a grey effect.
The enemies on the other hand have "Smoke up" as the effect to give a different feel when taking out aliens. The sizes of the effects are determined by the size of the object in game. An example is the third level, as it contains two different alien objects that have the same effect yet different sizes, this is to give a more realistic feel for the game.
I decided to use the effect of "Smoke up" because it makes the death of the aliens look as if the aliens travelling when they are not.
(I decided not to make the aliens go down due to the game already being difficult as it is).

When bullets are reflected by the enemy boss the bullets change object and turn to a similar sprite but red.

The player doesn't continuously move when no key is active which makes the game much more easier for the players.
Maybe next time it would be enabled and if so I would have to change the bullet rate chance to be lowered it would be more fair.

Functions

Boss:
The Boss is on the last level (level 6) the boss is seen through out the game by being placed on the background. This was intended to make consumers excited and wonder if the alien in the background would be the boss. I had many ideas for the boss to be strong and powerful, yet I wanted to keep it different from the original, so I made it become a support unit. The alien doesn't die and doesn't fire back, yet makes the last level difficult. The alien reflects any bullets that the player has shot at the boss and fires at a much faster rate.(Problem: difficult to notice enemy shots) I decided to make the reflected bullets different and made them red with the same design which gave a nice effect. The boss also hides the aliens behind it which results the player to wait for an available hit, as the last level is more about slow and careful decisions. With a large amount of aliens on the level it makes it very difficult as the player has to make the decision on if they want to play slow and careful or fast but dangerous.
If I did this again I would keep the idea of reflecting bullets but instead place suicide alien bugs that are used as bullets.

Video of gameplay. (All levels)


No comments:

Post a Comment