4.3 Maintenance and Future Development
Current Limitations of Project
Only one game mode - Endless mode
Could be hosted online for easier access to the game
Not as fun as it could be
More features need to be added to make it more involving to play
Maintenance
The game would require different aspects of maintenance to tailor to the differnet aims and goals of the project, and this would require different strategies to be used to allow the game to grow.
Size of Program
To keep the game at its current size then, it would only need to undergo the short term fixes, as these would simply fix the issues that the current game has, and would not be adding any features to the game. The current limitations of the game do not need to be expanded, changed and retested for the game to work and would be outside of the scope of the project regardless as they lie outside of the specified requirements.
In order to go through with the short term fixes the game would still be able to be developed by one person, and would not require external sources to add to it. The only other maintainence would be to make sure that the game remains hosted, and the website doesn't crash.
As the code is on Github the game can be easily forked and adapted into someone elses version of the game, and those features can be merged with this main branch to add features or ideas from external sources. However a few developers may need assistance on how they code in javascript and phaser especially as it has its own way of writing some parts of the game. It would be best for these new developers to contact me as this would allow me to go through how to code in phaser and how it work, so that they are able to then go away and build upon the code base.
Future Growth
In order to make any future branch merges smoother and easier for developers, I need to make sure to remove any glaring bugs or issues from my game via the short term plan, as this will mean that the developers in the future will have a stable base to start developing and adding features from.
As the game moves from short term into long term development, the game's code base will expand and may need more than just one developer to continue in the game's development. For this to happen I will need to ensure that there is suitable guidance and documentation available so that they are able to understand what is happening in the game. I have done this thoughout the code in the game, by labelling each function with a comment as to what it does. However for a team of developers working on the game, there may need to be training, as to how to code the game similar to how I have done, and to ensure safe commits and merges.
Benefits of more developers are that they will be able to help find and fix bugs as well as being able to add new features and ideas to the game. To manage this it would be good to use a Trello board to be able to organsie what each person is doing, and what needs to be done, and how far through each task everyone is. There is also the potential to make each person work on different aspects of the game. This will allow the player base to expand as there would be more even growth of features in the game. This in turn will make it possible to grow the game even faster, and add more features more frequently.
Future Development
Short Term Bug Fixes
Bug Fixes
The largest bug at the moment is the issue with the enemies only spawning on the left side of the playable area. This means that the player can stay on the right side, and not be killed. Whilst this isn't game breaking, as the player doesn't earn any points for time they survive, they will theoretically be able to gain more and more points if the health pick-ups float into the player.
Below is a list of current bugs that need to be adressed:
Fix enemy spawning on left side only
Player can theoretically make points without playing the game
Looks like lasers shoot invisible enemies at times
Enemy hitboxes are slightly too large
Pause Menu button
Fix enemies just spawning in a line after a few minutes of playing
Main Menu & Pause Menu
I would like to implement the menu and pause menu I was developing, as this would make the game feel more complete and make it easier to navigate for new players. It also means that the player doens't imediately jump into the game as soon as they open the game, and allows the to get ready to play after they open the game.
Openable pause menu, through pressing 'esc' or by clicking on pause button in the top right
Be able to quit to the main menu mid-game, from the pause menu
Load the game into a main menu, which has settings available to press so that the user can navigate to the game, rather than imediatly playing as soon as the game opens.
Long Term Addressing Limitations
These are in order of which would take longest to implement, from quickest to longest.
Quality of Life Improvements
The game had issues being hosted online, and would require a few bug fixes to be able to make the game run online, without having to be downloaded through a complicated installation process (which even though it has been made as easy as possible, is still confusing for people unfamiliar with command line and navigating directories).
Some people may want to still install the game however, as this means they can play when ever they like and they aren't limited by if they have an internet connection or not. Due to this, I will leave the installation process on the Github repository, but I think that the installation process needs to be made easier as inexpereinced developers or users, may not be able to figure out how to install and run the game.
Hosting online needs to work as it improves accessibility
If users want to install the game, the installation needs to be easier
Colour Blind Modes
Furthermore the game hasn't been checked for readability and how it easy it is to read. This may impact how the game can be played by some people who are colour blind, and may make it unplayable if they are unable to see different colours that add to the overall experience. For this I could add filters to the game that adjust all colours in game to be more suitable for those who are colour blind.
Add colour blind modes for people who are colour blind
New Game Modes
Additionally I'd like to implement set length levels to the game so that there is more variety in what the player can do in the game.
Set length levels, with waves of enemies
Pick which game mode you'd like in the main menu
Platform Support
Furthermore the addition of greater platform support such as mobile and tablets, means that the game is far more accessible for players, as they would be able to play on multiple different devices, some of which would be more convinent such as when you're commuting. There could also be more support for different game inputs, such as using a controller to play. This would also give further options for those that are disabled, as they may not be able to use a keyboard easily, and the support of controllers would allow them to be able to play.
Add mobile support
Increase the compatability of game inputs, such as controllers
Improved accessibility to disabled players
Graphics & Art Style
If the game became popular enough, there could be the viability of hiring a graphic designer, to be able to make custom art work for the game that would make the art style cohesive and more consistent, especially if the game were to have extra levels (E.G. extra planets). Futhermore the game may be able to have more complex and realistic art work that would improve the retention of players.
Add custom art work that keeps players engaged
Increase complexity of artwork
Online Leaderboards
This could be an exciting new feature that could be added, as it would mean that the game would be more competitive, as the top players would be able to compete and try and score the highest points they could. This would mean that the players would have to both keep pushing their skills further and be able to improve.
Testing
There would need to be consistent testing throughout the game, as this means that the games new and improved features would be more stable and allow the game to run smoothly for players, without crashes or instability.
This could be achieved through unit testing, via framework such as Jest (a popular javascript unit testing package). This would allow consistent tests to be written for each function of the game and would allow for error checking throughout to handle errors smoothly, rather than simply crashing.
This would be simple to implement and would make development for myself and for other developers much easier, as it means you can quickly and easily find exactly where a bug is occuring, as you are testing each function individually.
Last updated