With finishing my previous project in this style, Tower Defense Template, I began to expand on what I could do. I kept some of the basics,
like the idea of specific build spots for the player to use. I also kept a fairly similar main menu, but outside
of those and the basics that make a tower defense game, everything else was redo or made as completely new ideas.
With my end goal being that I wished to have a downloadable game for potential employers to be able to see my skill set,
I made sure to push myself in building as many different parts as I could. The result of that push is that everything
within the project was hand-built, besides the models. I am no artist, nor am I looking to work as an artist,
however I did wish to be able to understand the intricacies of building clean UI for the users, and as such that was
the only visual part I handled myself.
To break the game down to its basic game loop, the player selects which mission to run and then reads through the information which includes tutorials for the different parts that are added with each successive level. Once the player either wins or loses the mission, they can replay the same mission or return back to the level select. In the level select, there is also an option to go to the meta-progression shop, which uses points earned in each mission for the enemies slain. The shop allows upgrades across all different turret types as well a generic player upgrades of more life and more starting money. These meta upgrades are then saved to the user's computer with Unity's PlayerPrefs, allowing steady growth across multiple play sessions. That is the full extent of the game currently, with any future plans being put on hold as I continue to look for professional work. If I come back to this in the future, I'd be aiming to add in a few more turret types, as well as make a level generator and infinite wave system.
As I had mentioned in the previous retrospective on the tower defense template, I did end up rebuilding the targeting system, as such the towers now focus fire on whatever the furthest enemy on the path is, regardless of if they are split paths or not. A part I had planned to add in was a targeting selector for the towers to have different targeting rules, but I ran out of designated time to do so. Beyond that, I gave the user a proper target range visual, which helped both my testing of the targeting as well as the user to see the coverage of the towers.
I have to say that the most difficult part for this project was getting the UI to scale across various screen sizes. Honestly, now that it is done, the issue was stupidly simple. I had messed up on the arrays that I was uses to find the different resolutions the user's monitor could handle. As the way I went through and trimmed out the multiple copies of different resolutions at different refresh rates, I had made a secondary copy of the Resolution array as a String array to use a Hashset for the trimming. Unfortunately, due to poor naming convention and working on this across multiple PC's as I traveled, I ended up calling not replacing the original Resolution array with the trimmed down Resolution array that was made, and then was using the trimmed down String array of the resolutions to populate the setting menu dropdown, which led to a disconnect between the two arrays. After fighting with that for an extended period, I have learned my lesson when it comes to naming things too similarly to each other, even if the use of both things are nearly identical.