Prototype 6

Prototype 6 Solo:

Overview:

Prototype 6 follows the second playtest and is critical in determining the future of this vertical slice, as such, this prototype was refining the game based on the feedback from both my group and player feedback we received through our second playtest. From this feedback, I focused on developing the tutorial, changing the click and drop to the drag and drop mechanic, and fixing bugs / issues with camps. These changes should not only make the game feel smoother but also make it more intuitive by explaining the different components within the game.

Research and Inspiration:

After looking back and reading through some of my earlier notes I decided to look further into how some of my game inspirations create that smooth and satisfying drag and drop mechanic. I mainly looked at 60! Seconds, This War Of Mine, and Darkest Dungeon as these games were going through my head whilst developing this game. Each game has its own drag and drop features and all are really smooth, however, Darkest Dungeon stands out due to the intuitive feel. See her at 14:25 as an example: https://www.youtube.com/watch?v=B32-Yp38AJo&ab_channel=Splattercatgaming

In addition to revisiting my previous influences and researching the drag and drop feature, I had also asked my brother who is a software engineer to have a look through my scripts and see if I’m doing anything wrong or if there is anything I can do to improve. His feedback was saying that i needed to clean my scripts up as they weren’t clear and could be the reason i’m not able to fix bugs and additionally i needed to separate my scripts into separate scripts to reduce the chances of code conflicts and be able to determine which scripts are causing issues to occur. As such during this prototype this is going to be one of my main focuses.

What i ended up developing:

Drag and Drop mechanic:

The drag and drop mechanic lets players now drag the characters icons and release their mouse above any camp they decide to choose and it will automatically get sorted into that camp. It works by detecting mouse clicks and then once released it gets snapped into place with a predetermined position which makes things look and feel significantly smoother, similarly to Darkest Dungeon.

I utilised a lot of Unitys built in system such as the IPointerDownHandler to help with this. The use of this is that it tracks all forms of dragging so means all i have to worry about is how it can be placed into a camp. Luckily, Within Unity you are able to check if an object is over another by using this line of code RectTransformUtility.ScreenPointToLocalPointInRectangle, which then allows it to be dropped on a target. 

Then to arrange the characters once dropped I used a slot system where once a character is dropped it calls CampManager.AssignCharacterToSlot(). This finds the next available slot in the camp and then notes what slot it has been placed into.

For a more detailed look at this all together here is some code snippets:

Simplified Gamemanager Script:

In this new prototype I have significantly reduced the size and simplified the functions to try and reduce errors and bugs. So now the only things my gamemanger is in charge of is:

  • Maintaining all game states such as the days, weeks and resource counts
  • Calculating resource gains each day + bonuses for characters
  • Detecting fail all fail states and show failure panel
  • In charge of scene transitions and UI updates

I now use a dictionary so that I have flexible resource management. Additionally i now have integrated tightly with the ProgressTracker. 

Player tutorial system:

My new SimpleTutorial script creates an interactive tutorial that highlights the selected UI elements and shows a concise explanation that shows players the different mechanics in the game (as seen in the prototype ext). This was a necessary addition that’s been in the progress since the first playtests feedback. After watching some tutorials on how other developers have approached making a tutorial for their game i thought this approach would work best.

Conclusion:

My main milestones of this prototype were:

  • Developing the new drag and drop mechanic so that players have a smoother and more intuitive play experience
  • Breaking down and simplifying the overcomplicated scripts to reduce bugs, errors, and allow me to add new features without causing the game to break
  • Created a tutorial system that walks the player step by step on not only what to do but what the different game objects are for such as explaining the day system and progress requirements.

All these features combined have created a more user-friendly, reliable, fun, intuitive, and smooth gameplay experience for the player. This also leaves the game in a perfect position to take it anywhere based on the group’s thoughts.