PROGRESS UPDATE
|
PLAN FOR NEXT MONTH / WEEK (Including Possible Contingency Plans If Problems Anticipated)
| |
Mon W/B 05/01/15
(Detailed Weekly Summary)
|
This week I have begun working on my 2D game by making tilesets. I will be adding these tilesets to my game after I make more tilesets and a level design.
|
Next week I will be making even more tilesets to go into my game and working on the layout of my level and where things will go.
|
Mon W/B 12/01/15
(Detailed Weekly Summary)
|
This week I continued to work on my tilesets and began to work on my sprites. I started to design my player character and the enemy character so I can begin coding them both and have a prototype of my game.
|
Next week I will continue working on my sprites and tilesets. For the sprites I will also begin to create the animations for the later stages of development.
|
Mon W/B 19/01/15
(Detailed Weekly Summary)
|
This week I finished making my player character and exported the sprite into my game. I also exported some tilesets into my game and began to experiment with level design and where some of the tilesets could go. I was unhappy with some of the tilesets so I ended up not using some of them in my game.
|
Next week I plan to begin working on my level design and, I will be planning what type of location the level will be at (city, village etc) and hidden locations within the level.
|
Mon W/B 26/01/15
(Detailed Weekly Summary)
|
This week I decided to go with my original design plan for my level. The idea was to make the level just one long flat line and have enemies running towards you with guns and different classes, similar to Metal Slug.
|
Next week I will begin designing weapons for the player and the enemies and possibly different classes to use. (sniper, shotgunner etc)
|
Mon W/B 02/02/15
(Detailed Weekly Summary)
|
This week, on multiple occasions, I tried to design the gun and character attached to each other, but it was too hard so I had to find a workaround, which in the end resulted in me placing the gun on the floor, and coding it so that the gun would attach to the player if the player collides with it.
|
Next week I aim to make the gun work properly and as expected as it is currently really bugged and doesn’t work as intended.
|
Mon W/B 09/02/15
(Detailed Weekly Summary)
|
This week after plenty of unsuccessful attempts to fix the bugs with my gun, I decided to instead change the game around. Instead of having the level as a straight line and have enemies running towards the player, I decided to change the level around and decided to scrap the idea of having different enemy classes as having one was difficult enough. The aim of this new level is to get from one side of the level to the other, while killing any enemies on the way.
|
Next week I aim to make adjustments to the level. I will also try to work on getting the gun to work and then applying the same coding to the enemy so that they can shoot aswell.
|
Mon W/B 16/02/15
(Detailed Weekly Summary)
|
This week I have been working on my new level, and I have a rough idea of what I want my level to be like. The level starts in a building in which you must escape while killing any enemy on the way. Then you have to run through a parkour course, and if successful, the player will reach a building and the level is complete. I have also fixed the bug with the weapon and it now works properly. I have also made a sprite for bullets, which is what the gun will shoot and have coded it so that when it touches the enemy, it reduces their health and kills the enemy after a few hits. I have also had to change my shooting buttons around in order for it to work properly as having one button alone was causing issues and not letting my player shoot properly.
|
Next week I want to try and code my enemy so that they will shoot on sight and patrol certain areas. I also want to adjust the level a bit and carry on fixing any bugs.
|
Mon W/B 23/02/15
(Detailed Weekly Summary)
|
This week I am still trying to code my enemy properly, I have tried different methods but they all seem to be bugged and not work as intended. I am also trying to to fix the bugs with the gun not attaching to the player properly.
|
Next week I will carry on coding the enemy making the gun work. I also want to try making ammo capacity for the player’s gun so that if the player is out of ammo, he will be unable to shoot. With this I will also need to place ammo packs around the level, but I will work on that further on in the future.
|
Mon W/B 02/03/15
(Detailed Weekly Summary)
|
This week, due to the amount of bugs that are popping up from the coding of the enemy, I have decided to leave the enemy coding for a future time and carry on working on the other parts of the game. I am currently working on an ammo capacity for my gun and possibly adding a reload feature aswell. I have created an ammunition magazine and I will implement it into my game and work on the coding.
|
Next week I want to carry on working on the ammo capacity for my game. I want to add a number counter on the screen to show how much ammo the player has left, and also an image of an ammo mag next to it to show how much ammo is actually left in the mag so the player knows when to reload.
|
Mon W/B 09/03/15
(Detailed Weekly Summary)
|
This week I have been working on coding the ammo mag. I have made alot of animations to try and make this work and make it look better and more realistic. I have also been working on a reload feature. I tried to code it so that when the magazine is out of ammunition, the player will have to reload and wait 3 seconds before shooting, although alot more bugs came with this well. One of the bugs that was causing the most problems is that the reloading animation would happen, so the player wasn’t able to shoot, but then the player had to wait 3 seconds after the reload to actually shoot, so the animation and the ammunition count didn't work properly.
|
Next week I want to fix the problems with the reloading and ammunition capacity. I also want to implement an ammo pack feature into the game so when the player picks up the ammo, it adds to the amount of ammo the player has. I also want to add a save and load feature so the player can save their game progress whenever, and come back to it.
|
Mon W/B 16/03/15
(Detailed Weekly Summary)
Mon W/B 23/03/15
(Detailed Weekly Summary)
|
This week I have successfully made a save and load feature. By pressing a certain key, the player can easily save the game, and by pressing another certain key, the player can load the level again. I have also designed an ammo pack and added it to my game, and I will begin to code it as soon as possible. I have fixed some of the issues with the ammo and reloading, but I may need to remove the animation of reloading all together as it is causing too may issues that are proving to be too difficult to fix.
|
Next week I will remove the reloading feature if I am unable to fix it to avoid anymore bugs. I will also add a feature so that when the player is out of ammo, the text turns red to make it more clear for the player that there is no ammo left. I also want to code the ammo pack so that it adds ammo to the players gun, but I will make sure that if the player is at or near max ammo capacity, the ammo pack will not exceed the maximum ammo limit.
|
Mon W/B 30/03/15
(Detailed Weekly Summary)
|
This week I have successfully coded the ammo pack to work as intended with minimal bugs. The main bug I have found is that when the player is out of ammo and the text turns red, the text does not reverse back to white if the player picks up an ammo pack. I have also made sure the ammo pack cannot go over the maximum ammunition limit when picked up to keep it fair. Moreover, I have removed the reloading feature altogether as it is causing too many issues.
|
Next week I will try and fix the the bug with the ammo staying red even when ammo is picked up. I also want to try and create new types of weapons to add to my game for the player to use so that there is a bigger choice of weapons to use instead of just one gun.
|
Mon W/B 06/04/15
(Detailed Weekly Summary)
|
This week I have created 2 new weapons for the game, a pistol and a shotgun. However coding one weapon was hard enough so I may not be using these weapons in the final product of my game, but will keep them saved in case I have time and can code them to work properly. I have also been working on collectibles for the game which I am hoping to use, but they are not a priority at the moment.
|
Next week I want to add a health bar for my character, and also possibly change the way my character looks as at the moment the player does not look very detailed and looks too blocky, meaning there are no curves on the character. I want to give the player a more realistic look, by making his helmet round and giving his arms and legs more of a curve than just straight lines. For the health bar, I want to make the player die after taking a certain amount of hits from the enemy.
|
Mon W/B 13/04/15
(Detailed Weekly Summary)
|
This week I have refurbished my character. I made the character look less bland and blocky, and gave more detail to the armour and clothing the player wears. I also adjusted the walking animations for the player so that look like the new character, and when the player moves, there will be an animation instead of just having the character slide across the level. I have also given the player health, so after a few hits the player will die and have to restart the level, although I have not made a health bar to show how much health is left.
|
Next week I also want to refurbish the enemy character so it has the same visual properties as the player. I also want to get my player animation to work and also animate the enemy player.
|
Mon W/B 20/04/15
(Detailed Weekly Summary)
|
This week I have refurbished the enemy player and the animation for it. I coded the animation in construct 2 and it now works as planned. However, the player animation is harder to code than the enemy due to the controls and the amount of coding that’s gone into the player and the gun alone. I will work on the animation at a later stage if possible.
|
Next week I want to put a little bit of time into animating the player, but if it becomes too difficult I will put that aside and work on other things. I will also be working on new tilesets that I may potentially add to the level.
|
Mon W/B 27/04/15
(Detailed Weekly Summary)
|
This week I have yet to animate the player, the animation does not work properly so I will work on that overtime. I have also been working on coding the enemies to move and shoot the player but it is still really buggy and is doing the complete opposite of what it is supposed to do.
|
Next week I will keep on working on the enemy code, I want to try and fix the movement and code them so that when they reach the tileset, the enemy will turn and move the other direction. I also
|
Mon W/B 04/05/15
(Detailed Weekly Summary)
|
This week I have got the enemy to work slightly. The enemy no longer hovers through the level but still does not work as expected. I have also found that the enemy does not respawn if it is killed, and the player dies too, and I will try to fix that if possible. Also, all bugs with the ammo have now been fixed, except from the one with the red text, but that is not important at the moment.
|
Next week, I will work on my main menu screen. I aim to make sure that when “New Game” is pressed, the first level of the game is loaded from the beginning so the player can play from the start. I also want to make sue that when “Load Game” is pressed, the game will load the previously saved file so the player may resume their progress from where they left off.
|
Mon W/B 11/05/15
(Detailed Weekly Summary)
|
This week I have made the “New Game” and “Load Game” features work as intended. The only problem I found is that when the game is loaded from the previous save, it may also load the game before changes were made, so old sprites and tilesets will be seen in the game instead of the updated ones. I have also adjusted the look of the menu.
|
Next week I may need to change the game around as the enemy coding is not working properly, and will be too hard to make the enemy pick up a gun and be able to shoot it. It is also really hard to design the enemy with the gun already equipped, I have tried many times but failed on all occasions. The game may now have to feature enemies without ranged attacks as it is hard to do.
|
Mon W/B 18/05/15
(Detailed Weekly Summary)
|
This week I decided to yet again change the game. I found that coding the enemies to shoot was too difficult and was costing too much time to do. So I have now decided that the enemies would now be zombies, who will damage the player upon touch. This would be easier to code and cause less problems. I also want to try and give the zombie enemies a ranged attack if possible, to make the game harder, but that would depend on the time I have and if the coding works as needed and does not create lots more bugs.
|
Next week I want to also work on an animation for the zombies, so when they are idle or are walking, their body is moving at all times, just like a zombie would. I also want to put in the final tilesets for the game instead of having the plain blocks that I made for the prototype to give the game more detail. I also need to adjust the movement speed of the zombies as they are too fast, but that will be a very easy task to do.
|
Mon W/B 25/05/15
(Detailed Weekly Summary)
|
This week I have found that the zombies aren’t walking properly. The zombie enemy hovers straight through the level as soon as the game starts, ignoring any objects and just going straight to the other side of the level. I am working on fixing this bug. I am also making sure that the enemy animations work as they are supposed to and that the player kills the zombie if the required amount of bullets hit the zombie.
|
Next week I aim to make sure all the bugs are fixed and that the enemies work properly and that their collision is correct aswell. I will try to fix the bug with the enemies hovering straight through the level. I also need to fix the bug where if the zombie dies, and the player dies during the level aswell, the zombie does not respawn when the level restarts. I want to make sure that the game works properly and that the player can actually finish the game.
|
Mon W/B 01/06/15
(Detailed Weekly Summary)
|
This week I want to put the finishing touches to my game. I have decided to remove the zombie army from my game and just have one big zombie boss with alot of health. This was done because when I tried to put more than one of the same zombie into my game, if the player was to kill just one of the zombies, all of the zombies would die instead of just that one. So in the end I found having just one enemy would be the easiest solution, while also making the game somewhat challenging. I also added an ending screen, so when the player reaches the end of the level, he is taken to a screen that says they have beat the level.
|
For the final week I will make sure my game is playable. I will make sure the enemy works properly, the player works as expected and the final tilesets have been added into the game. I will also ensure each menu of the game works, and the save and load features works properly. I will also be adding a control page, which shows the games controls.
|
PROGRESS UPDATE
|
PLAN FOR NEXT MONTH / WEEK (Including Possible Contingency Plans)
|
Sprites:
Sprites I used in the final product:
Ammunition:
Layout Screenshots:
Main Menu:
Level 1:
Control Screen:
Coding:
Enemy Movement & Shooting Coding:
Enemy Health Coding:
Pick Up Weapon Coding:
Shooting Coding:
Weapon Ammo Coding:
Mirror Gun Coding:
Save & Load Coding:
Global Variable Coding:
Restart Level Coding:
Main Menu Coding:
Sprites I used in the final product:
This is the main character sprite I created. This sprite is what the player will be using throughout the game. Since my game was going to be a shooter game, I decided to design my player after a soldier as it will set a setting of war into the game. I originally made the character look less detailed and blocky but decided to update the character to look like this as it is much better looking.
This sprite is the Zombie enemy that I had to fall back to after I found that the enemy soldier was too hard to code. I made him look very bloody and gave him green patches of skin to make him look more like a zombie. The zombie shares a very similar look to the player soldier as the zombie used to be a soldier, before he turned into a zombie, and still has the soldiers armour on.
Sprites I did not use in the final product:
This is the original design for the enemy. The enemy shares a similar look to the player soldier as the enemy is a soldier aswell, but the enemies armour has a white and grey look, as they are winter soldiers. I decided in the end not to use this sprite as coding the enemy to shoot a gun was too difficult, so instead I used the zombie as I could make it attack the player with a melee attack that is far easier to code.
Weapons:
Weapons I used in the final product:
This weapon is the machine gun that is the only weapon available to the player in the game. It has a high fire rate so it is ideal to use as it can deal damage at a higher rate. I designed this by looking at examples of guns and then created it in Piskel to use. This design has 4 different shades of grey to add a camouflage look to it so it does not look plain and boring.
Weapons I did not use in the final product:
This weapon is the pistol that I wanted to add as a secondary weapon to my game, but never got the time to do it as it was too difficult to code the machine gun alone, so coding another weapon would have brought many bugs along with it. I also designed this weapon by looking at examples of pistols online and then used Piskel to create the weapon. The pistol was originally meant to have a medium fire rate with medium damage, but it never made the final game. I wanted to have this as a permanent weapon for the player, and the player could swap between the primary weapon to the pistol I had no time to code it and it was too difficult to do.
This is the shotgun I had designed from online inspirations. This gun would have had been a close range weapons in which when fires, the shells would scatter and cover a wider area, but also would have a slow fire rate and short range. This weapon would have been useful for close quarters and would kill an enemy instantly if the player was close enough to the enemy. This weapon did not make it to the final game as the coding would have been too difficult, like the pistol, and there were plenty of other things to try and fix at the time.
Enemy weapons
This is the zombie enemies long range attack, If the player gets close enough to the zombie, the zombie would chase the player while firing acid, and if it touches the player than the player will instantly die and have to restart the level. I wanted the long range attack of the zombie to be somewhat acidic as the zombies cannot use weapons such as machine guns, but acid suits them better as the saliva of a zombie is extremely harmful. I also made an animation for the acid, so when it is fired, the animation will play until the acid is destroyed.
Collectibles:
Collectibles that did not make the final product.
When I was in the early stages of developing my game, and still planning some stuff, I wanted to have a collectible system. These collectibles would be hidden around the map and would give the player points for each collectible found. I designed this collectible to look like it is covered in jewels and looks very valuable. This did not make the final game as I had forgotten about this as it was not that important, and the coding would also have been complicated although not too hard to do.
This screenshot shows an ammo mag that I had designed in Piskel. This mag was originally supposed to be in the game to show how much ammo is left in every clip of the gun, so when the mag became empty, the player would not be able to shoot unless the gun is reloaded. I did get this to work in the game, but then it became really buggy and too many issues had arose from this, such as the reload not working properly, or the gun not being able to shoot at all until a few seconds after the gun had actually reloaded. I liked this concept and wanted to keep it in the game, but the issues forced me to remove it from the game.
This is my design for an ammo pack. I decided that I wanted to add ammo packs to the game so that the player would be able to replenish ammo if there is no ammo left. I like the design as it is simple and easy to recognize what it is. With this pack, the player gains a certain amount of ammo for the gun, but it cannot exceed the max ammo limit. This pack is very useful and is an important feature of the game.
Layout Screenshots:
Main Menu:
This screenshot shows the main menu of my game. There are 3 options here and a simple background design. New game starts the main game from the beginning, load game reverts back to the previous save point so the player can carry on their progress. Finally, the controls options takes the player to a control page, which shows the player how to play the game by showing the controls. In that screen, there is also a feature to return back to the main menu. The background is orange because I did not have alot of time to make the background look better, and I used the tilesets from my game for the background aswell so that it is not just an orange background, but it also has some tilesets to make it look better and more eye-catching.
Level 1:
These screenshots show what my game looks like. I did not have much time to make a background as I was too busy working on other things, and a background was also hard to do as I am not very good at art so I could not make a good background. The yellow background was instead put in place to make the game look like it is in a beach area, as the tilesets are wood and there is also water in the map. I made the wood textures in pyxel. I made many different designs before I chose this as my final tileset, but I removed the old designs as I did not like them and they did not look good in the game. I also made a crate tileset. The player is currently standing on one right now. This also makes the game look more like it is on a beach as during wars, beaches tend to have crates scattered, usually filled with supplies. I also added some water into the game so if the player falls into the water, the player will die and have to restart the level. I think the water made the game look even better and gave more detail to the level. The screenshot also shows the enemy zombie that the player will have to kill, and the player holding the machine gun on the other side of the map, which shows what the game will play like.
Control Screen:
This final in game screenshot shows the victory screen. This is where the player will be sent to if they have defeated the boss in the first level. I did not have much time to work on this properly as it was something I decided to do at the very late stages of the development of the game. It shows the player, the gun the player and uses and the enemy zombie with some text above. I also used the tilesets I used for the level in this screen to make it look less boring, although it still does not look as good as I wanted it to. I would have liked to add more detail to the screen, possibly a few buildings in the background.
Coding:
Enemy Movement & Shooting Coding:
This screenshot shows the code I had to use to make the enemy move and also shoot. I made an attack state for the zombie so that when the player is in the zombies line of sight, the zombie would go towards the player and attack it. I have also coded it so that if the player is no longer in the zombies sight, the zombie would stand still and play its idle animation until it has sight of the player again. In order to give the zombie the line of sight code, I had to give it line of sight as a behavior, and then set the range and cone of the line of sight. For example, if the cone was 360, the zombie can see all around it, but if the cone size was 180, it would only be able to see in one direction. The range of the line of sight increase how far the zombie can see, so the further it can see, the earlier it can begin to attack the player. For the shooting code, I decided that when the zombie has line of sight of the player, it would use its ranged attack, in which is shoots acid at the player. I coded it so that every 1.5 seconds, the zombie would shoot acid and the player would have to avoid it. The speed of the acid is set to 250 so that it is not too fast, but still puts up a challenge. To make sure the acid cannot just fire through the entire level, I made sure that if it hit a tileset, the acid would destroy itself, and if it hit the player, the player would then die and have to restart.
Enemy Health Coding:
The enemy health code was really simple. I made a global variable and set how much health I wanted the enemy to have. For this enemy, I gave it 35 health. In order for the zombies health to go down, I made sure that every bullet that hit the zombie would take 1 health off the zombie, so it would take 35 bullets from the player in order to kill the zombie. I gave the zombie a high amount of health as it is the only enemy in the game, so I wanted to make it somewhat challenging. I also added a code where if the zombies health fell to 0, the player would then have to wait 3 seconds and once the time is up, the player will be sent to the screen that says you have won the game. Enemy health is a very important factor as without it, the enemy would not be able to die so there would be no point of having an enemy if it cannot die.
Pick Up Weapon Coding:
This section of coding was by far the hardest and most time consuming code of my entire game. It took so many different methods and attempts to try and pin the gun to the player but none worked so I had to find another different method. I had some help with this section of coding, and global variables seemed to have been more effective than using pins. With this global variable, I set it so that when the level starts, the HoldGun global variable would be set to 0. This means the weapon is not in the players hand and cannot be used. Then I set it so that if the player collided with the weapon, the HoldGun variable would go up by 1, meaning the gun is now in the players hand and can be used. In order for the gun to stay in the players hand, I had to add another code where every tick, the gun would be positioned in the players hand, which means it doesn't move away or behave inappropriately.
For the shooting code, I originally used the space button to shoot. But due to the code with holding the weapon and mirroring, I had to switch to different keys, and for the shooting I decided that the best bet would be to use the mouse. Left click makes the player shoot left and right click makes the player shoot right. In order to do this properly, the left click also makes the player look left and shooting right makes the player turn right. I also made sure that the arrow keys, which are the keys needed to move, altered the way the player faces. Pressing left arrow key makes the player look left and pressing the right arrow key makes the player look right. This bit of code also ties in with the enemy health code. In the code I set it so that when the bullet hits the zombie, 1 point is taken off the enemies health and will eventually kill the enemy. In order for the bullet to not be able to travel through the level and tilesets when fired, I added in the code where if the bullet's hit any of the tilesets in the game, the bullet will then destroy itself.
Weapon Ammo Coding:
This smaller piece of code is the ammo counter. This is visible in the top left of the game screen and shows how much ammo is left in the weapon. As shown in the code, when the weapon runs out of ammo, the text that shows how much ammo is left turns red, and also changes from showing how much ammo is left to "Out of Ammo" so the player knows when there is no ammo left in the gun. This also needed a global variable to work properly. The global variable starts at 53 (starting the level always uses a bullet, could never find a fix for that so this work around had to do) and for every bullet fired, the number drops by 1.
Mirror Gun Coding:
The mirror code is what makes the player turn to face the direction in which the player is either shooting at or walking towards. So if the player shoot or walks right, the player will always face right so the player knows where he is moving. There is also code for animations in this, but I never managed to get the walking animations to work so there is no walking animation for my player. Without this code, the player sprite did not work as it should, it usually did not turn right or left when needed to so this coding fixed that issue.
This very simply piece of coding is what I used to save and load the game. By pressing the O key, the player can save their progress and by pressing L, the player can resume their progress from where they left off.
Global Variable Coding:
Global Variables are very important codes in this game. Without these variables, the enemy would have no health, there would be no ammo limit in the game, and I would not have fixed the bug where the player could not pick up the weapon properly. Global Variables are code that are usually used to give objects or sprites health, and are used for many other things.
This is a piece of code that shows how the player can restart the game manually, and what can also make the game restart. The first piece of code shows that when the player is destroyed, the level restarts, which obviously is an important factor in the game. The code below that shows that when the player collides with the enemy, the level automatically restarts and the ammo global variable resets. I also added a manual restart code, so when the R key is pressed, the level restarts and the ammo variable resets yet again. The final piece of code simply shows that when the level starts, the shooting code is deactivated so the player cannot shoot unless the gun is picked up.
This is a very small code which I created for the main menu screen. For the first piece of code, I created an invisible box sprite which went behind the "New Game" text. When this box is clicked on with the left mouse, the player is taken to the first level of the game and then the player can play the game. The second piece of code shows that when the text "Load Game" is clicked on, the game automatically loads the previously saved file. And for the final piece of code, if the invisible box behind "Controls" is clicked on, the player is taken to a screen that shows the controls for the game, so that the player knows how to play the game.
Control Coding:
This is the shortest piece of code in my game and by far the easiest to do. This code is for the "Controls" screen of my game, which is the page that shows the controls for the game. The code simply says that when the left mouse button is clicked, anywhere on screen, the player will be sent back to the main menu. This allows for easy access between the main menu and the controls screen of the game.
























No comments:
Post a Comment