Wednesday, 22 June 2016

Task 6 Production

Production





This is an image of the prototype scenery tileset which I have use to create the layout of the level I will be creating my game around. I will eventually be replacing it with my final tileset which will be designed to look like the inside of an old building. 

I then created this prototype of my player character to allow me to test the mechanics and animations which I will replace with my final character design. I am also using a prototype to allow me to get the sizes and proportions of my player correct before using my final character design. Otherwise there would be many complications regarding adjustments to the animations and resizing the player to correspond with the environment.


Once I was happy with the code for the player I began to add the basic door to what is going to be the first of many doors. I will replace this with a final door sprite which will be animated, This current door is a tileset however and I am unsure if I can animate a tileset. If so I will animate the tileset instead of creating a sprite.


I have created the basic prototype for my enemy and begun the coding for it. I have encountered a few bugs and issues when getting it to patrol and attack the player. I may have to spend a long time trying to make the enemy work effectively. This is a mild setback in my production but I think I will be able to make up for the time by creating some of the smaller factors in the game to lower the amount that needs to be added.


This small image is the prototype for a ladder that I am going to spread throughout my level to give the level a variation on how the player will be able to travel through. I have also added small ledges on one side of the building and started working on player code to allow players to climb a small portion of the building and miss the first couple of floors.


This is the finished code for the enemy. I was finally able to create a system which made the enemy patrol within a certain are. I used instance variables to change value when the enemy collided with certain objects. Each value of the variable was the equivalent to a movement e.g. 1 = left: 2 = right. This then made it possible to have the enemy patrol. I was able to also make the enemy attack using the line of sight behavior and adding the doors as objects as well as reducing the range at which the enemy can see the player. 


This is the code for the doors that I have changed to sprites due to not being able to animate tilesets. This has caused the vast majority of my games code to break. I am unsure as to if it is because of the switch from tileset to sprite or if it is the process in changing them which has caused the code to break. I deleted the door tilesets and objects and created new ones with the same name then tried to add them to the areas which had the old doors in place. I feel that this was the cause and I could have avoided this by adding the new doors under a slightly different name and replacing the object to the new doors before deleting the old ones. I will now take extra care when changing anything else to the final version to avoid this happening again.


When making the code for the ladder I had great trouble getting the player to climb the ladder using the same key as they use to jump, despite me deactivating the ability to jump when overlapping the ladder I was unable to make it work. I have had to change the key to the "W" key to allow the player to climb. I am beginning to find that the controls for my game are all over the show and must either create a controls page or make the controls simpler. However There are still a huge amount of code sections that are not working and must fix them before I can progress.  


This is the code for the player that I have managed to get working in the end. I still have a few minor adjustments to make to it and will hopefully be finished with this piece of code soon. I will then be able to dd the final character and the animations for the final character. I am pleased with the fact that I have fixed most of the broken sections of the player code as the player is the most important part iof the game. I will now be able to fix the code for the enemy and add the final animations for it. This will leave me with finishing the tileset and applying it to the level and making sure that there are no more severe bugs and issues. If I have time I will try adding more enemies to the level as fixing the bugs caused by the doors has made me loose lots of time.


I have finally added the finished sprite and animations for the player to the game and have encountered a few issues with the collision boxed and origin points. This should be an easy fix as I am fairly certain that to fix these issues I simply have to adjust the origin points to match on all animations and make minor changes to the collision boxes to allow the player to climb once again.


After fixing the issues concerning the players animations I have added the final sprite and animations for the enemy, however the enemy has far less and much simpler animations compared to the player. I encountered a minor issue when setting the "Player dead" animation to play when the players health was equal to or less than 0. I was able to fix this bug eventually but it surprisingly cost me some time but I think I will have enough time to add the final tileset to it.


I have now finished the final tileset and implemented it into the game. Changing most of the textures should be easy and quick yet I am unsure as there are multiple tiles set to automatically replace the current ones. I may need to simply re-apply the new textures where I intend for them to go if they are automatically placed in the wrong areas.


This is the final outlook of my level now that I have integrated the final tileset with the level. As I suspected, the first tile replaced all the previous tiles set. This left me with no choice but to manually replace the textures where I wanted them to be. This would have been simple but i had some problems with the tiles to be used as the background inside the building. The player collided with the texture yet when I tried to apply the background texture on a lower level the texture would fail to apply. In the end I had to create a new object to be the background tileset and give it a solid behavior then disable the solid behavior entirely before applying the texture to the level once again. This appears to have been a simple solution and the game now looks similar to what I wanted it to.




This is a brief game play video of my final major project. Looking at it I can see that there are features which aren't functioning properly an other bugs. I am pleased to see that there aren't any major features which are broken and that all the bugs which can be seen are minor ones.

No comments:

Post a Comment