Prototype Development: Week 2

This week there were 2 main things that I introdcued to my prototype that I felt expanded the idea to a basic game using the foundation that I had created in the previous week to demonstrate the potential of the prototype.

The first was a time system which is an essential to a simulation oriented mechanic like this; I started by tracking the amount of frames that had been rendered for a basis for the time system. Next I had to make the date into a readable format, so I added a variable for years and months and had an array with the month names, these would increase every certain amount of frames passed which was done in a function that would be called every now and then in the render function. The final step was to create speed option so that players can speed up and pause the time, these would become more useful during the second feature that I added, but with the time features all finalised, I could move on to the more major feature that I planned.

The final part of my prototype was to create a money system, where players would spend money to build and upkeep buildings, but would get income from tax. Adding the spending was a fairly easy task, with a few lines a and variables it was working smoothly, I also made the bulldoze tool give back half the cost of the building demolished too which was a few if else statements. For income I used the date system as a basis were money would be given or taken away at the turn of a month, so I simply made that function call a function that calculated the income for a month with different types of buildings contributing differently to the value.

With all these new features, I had to re-arrange the UI so that it was readable and not cluttered and added a simple tutorial for understanding the income mechanics. The end result of my prototype looked like this:

The UI is something I will have to make minor tweaks to in accordance to the testing hardware since it is hard-coded which changes location based on monitors, but since it is a prototype and only a minor issue, I decided not to fix.

Overall I think my prototype when very well, I managed to achieve my goals that I set out to do with very few setbacks, Though there are some bugs, I don’t beleive they’ll impact the user negatively. Making a prototype is something rather new to me so getting a chance to practice making one will be a good learning experience and I hope to learn throught the testing that will commence too.