# 4.3 Maintenance and Future Development

## Current Limitations of Project

* **Content** - Can finish the game fairly quickly due to a small amount of content
* **Limitations to only one platform** - Can only be played on PC inside a browser
* **Graphics and art** - Whilst some of the assets were custom made others were free for non profit so the game being monetised without a change in assets is unfeasible.
* **Performance** - Performance is limited to the capabilities of the computer and browser
* **No variation** **/ Replayability** - Same tasks and missions every play through
* **No music or sound** - Takes away immersion&#x20;

## Maintenance

The game would require a variety of maintenance strategies depending on the whether the aims are to work on performance and expand the gameplay or work on game art and sound design

### Current size

If the game was to remain its current size by the number of features and content then I would only need to undergo and consider the short term development plan mentioned later on. This means I would have adequate time to fix any serious bugs and issues impeding gameplay but would not address any of the things pointed out in the [**#Current Limitations of Project**](#current-limitations-of-project)**.** The game does not necessarily need to address these ideas pointed out earlier since the game can still be played and enjoyed without these changed.\
\
After this stage of development of fixing crucial gameplay affecting bugs there would then need to be another phase of testing to make sure the game would be appropriate for a full release. After a full release is published, the only maintenance needed is to make sure the game is still running on Github Pages which integrates easily with Github, which is where my code is already hosted.

### Room for Growth

If the game is to continue to grow and expand, first it needs to undergo the short term development plan to make sure the game is free from bugs and is suitable to undergo further development beyond this. With the long term development plan, the game would undergo development for new features and content increasing the code base. If this were to happen, current limtations may need to be adapted and changed to cope with how the project would grow and what new features could be added.\
\
If the game were to continue growing at the pace it was, the game may become too difficult for one person to manage and may need contributations from a small team of developers. I aimed to write the code in a way that others can easily understand if they understand Phaser concepts to some degree. A small team could benefit the development by searching for bugs, adding new features or improving quality and readability of the existing code.  This team would allow multiple tasks to be achieved simultaneously with the main source code being hosted on Github where all developers can push their work to streamline development.&#x20;

## Future Development

### Short Term Plan

#### Bug Fixes

Before further development were to take place adding new features I would need to fix some current bugs / problems addressing the game in its current state first. If the game is to present as polished and finished then all types of bugs whether they effect the gameplay or not should be tackled. A list of a issues/bugs that I have come across independently or through [**Usability Testing**](https://marling-school.gitbook.io/arthur-freebrey-project/Mj2I68ZOKe1UymCYBtl6/testing/3.2-usability-testing) are below.

* *You can trick the main quest by leaving and re-entering the starting area:* How this would be tackled is changing the way the quest objective is measured. By changing to a sceneEmit that tracks across all Phaser scenes then the need for separate measures in different areas of the map is unneeded and can work with missions later on.
* *Certain parts of the map have invisible colliders*: This is a texturing issue that can be changed by changing the graphics and art of the game and making sure there is no empty space on the assets that would be handled by the collision engine.
* *Player has to be positioned very precisely to interact with NPC*:  This can be fixed by changing the parameters needed to interact with the NPC. It is currently measured by the player having to press the interact key and be stood in a certain pixel precise area facing the NPC. This could instead by changed to a radius measurement of how far away they are to the NPC removing the precise positioning needed that can become inconvenient when playing.

#### Changing Enemy Behaviour

Implementing enemies with changed properties such as spawn rate and movement speed can make the game more engaging and interesting to play. This would mean more skill is required for some parts of the game to complete but would also not be complicated to implement since it mostly involves changing existing parameters I had set up earlier in the code to be easily adapted.

### Long Term Plan

#### Current Limitations&#x20;

The current limitations outlined earlier will be essential for allowing the game to grow so they will be the key focus of a long term plan of development.  The current limitations of the project are listed below.

* **Content** - Can finish the game fairly quickly due to a small amount of content
* **Limitations to only one platform** - Can only be played on PC inside a browser
* **Graphics and art** - Whilst some of the assets were custom made others were free for non profit so the game being monetised without a change in assets is unfeasible.
* **Performance** - Performance is limited to the capabilities of the computer and browser
* **No variation** **/ Replayability** - Same tasks and missions every play through
* **No music or sound** - Takes away immersion

#### Content / Length of gameplay

As there is only one main quest to complete and a select few areas to explore and enemies to fight, the gameplay amount remains quite short. In order to attract new players and keep current ones engaged more gameplay would need to be added and can be done many ways. Whether this is through more challenges with each building containing their own NPC and task to complete or more enemies scattered throughout. Other changes could be more areas to explore or changing the types of enemies faced would each increase retention and time spent by the player hence inducing a more positive experience.

#### Support for more platforms

If I was to move the app into a standalone app that can be ported and have specific builds tailored to each platform. Controls would be changed for different devices such as touch support for mobile and controller inputs for consoles. Each port will be unique with their own scaling and will not include the controls of the other platforms to minimise the size and load of the game.

#### Graphics and art

If I was either to spend more time making more custom assets tailored to my game and how I envision it or hire an artist this can make a more engaging experience for the player since it will match the style I aimed for. This would also allow the game to be monetised due to any free assets for non-profit use being removed in favour for personalised ones giving me more freedom where to put the game and the incentive I would like from it.

#### Performance Limited to the browser and device

Due to the game right now being web based the resources are effected by what the computer chooses to allocate towards the browser potentially decreasing potential performance. If the game was to become a standalone app the computers resources can be more effectively managed and not need to focus on the browser as a whole. This could improve the current performance of the game and allow for more complex mechanics that may be too intensive for a browser based game.

#### No variation / Replayability&#x20;

At the moment in the game there is one set path and set of quests for the player to complete in a set order giving the player less reason to replay the game for a unique playing experience. Creating a more unique and varied experience when playing the game such as randomised enemy locations or quests can extremely improve the quality of gameplay and give players more of a reason to keep coming back. One other idea is the concept of procedurally generated maps for the player to explore which would maintain the open map criteria I set out early on in my development but would be a long task to complete.

#### Music and Sound

At the moment the game is lacking in custom music and sounds which can really add to the quality of gameplay and can keep the player engaged. Good music selection in a game can create memories associated with the game wanting them to keep coming back for the music. Whether I am to compose my own music and design sounds myself or hire somebody to do them for me would allow a more personalised experience with the gameplay and style of content I am aiming for.

#### Testing

Throughout this future development plan, testing would need to be consistent on my development side as well as user testing and feedback to make sure features work as intended. Once feedback has been received to fix crucial bugs and all tests I set out pass the next stage in the development can begin to begin for the next version.

#### Future Limitations

After progressing through these stages of development new limitations will come about to what the game can achieve since there is always room to improve. Some examples are:

* Hardware requirements - Even if the game became a standalone app, the game becoming more complex and intensive, better hardware will be required to play potentially removing some older devices by playing by increasing the minimum specifications to play.
* Style of game - The game will still remain as a 2D RPG and the quests will still be based on that style of gameplay not venturing out much into different styles of games restricting it slightly.&#x20;
