{"id":197,"date":"2024-04-02T17:36:01","date_gmt":"2024-04-02T17:36:01","guid":{"rendered":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/?p=197"},"modified":"2024-05-07T19:07:42","modified_gmt":"2024-05-07T19:07:42","slug":"post-mortem-industry-brief-devlog_020","status":"publish","type":"post","link":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/2024\/04\/02\/post-mortem-industry-brief-devlog_020\/","title":{"rendered":"Post-Mortem Industry Brief | DevLog_020"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\">Development Tools for Designer<\/h5>\n\n\n\n<p>As I mentioned in my previous DevLog, I wanted to focus this project development on making tools for the designer to fill out the level and manipulate gameplay mechanics within the Level Editor. Being the only developer on the project, this focus being prioritized would allow me to focus more on the backend of the game functioning properly, while the rest of the team could focus more on the aesthetic and moment-to-moment changes.<br><br>Because I was the only developer on the project, I knew I would have to bounce back and forth between the design work and developing, creating tools for the designers would allow me to do bug fixes while they worked on the level. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Simulation Game Mechanics<\/h5>\n\n\n\n<p>A lot of the mechanics within the sim-game genre, and the ones we were aiming for, are able to be replicated and manipulated during runtime. Meaning the Player&#8217;s actions were facilitate spawning actors in the game and manipulating their properties to have systemic impact on the overall game. <br><br>Many of those systemic impacts we focused on were the in-game Shop Economy that was impacted by the Washing Machines: successful wash, upgrades, and buying new machines. <br><br>Firstly, Machines could be spawned in when the Player had enough money to purchase a new machine through the spawn manager.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"823\" src=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/SpawnManager.png\" alt=\"\" class=\"wp-image-200\" srcset=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/SpawnManager.png 865w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/SpawnManager-300x285.png 300w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/SpawnManager-768x731.png 768w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><figcaption class=\"wp-element-caption\">SpawnManager Class editable in Engine<\/figcaption><\/figure>\n\n\n\n<p>This SpawnManager c++ class could be edited in the Engine by the designer to choose which machine they wanted to spawn, or Decor option which would be a one-time, large increase to the overall Shop&#8217;s reputation, how much that machine should cost, and where fix the position of the machine depending where the SpawnManager lived in the level. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"731\" height=\"1024\" src=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachine1-731x1024.png\" alt=\"\" class=\"wp-image-201\" srcset=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachine1-731x1024.png 731w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachine1-214x300.png 214w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachine1.png 754w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><figcaption class=\"wp-element-caption\">Properties of the Machine spawned in by Player<\/figcaption><\/figure>\n\n\n\n<p>Having these around the level and interactable with the Player (during the night cycle) meant the designer could set them, edit the properties, then let the Player further interact with them without having to do any programming\/BP scripting.<br><br>The Machine once spawned in would take care of the rest during gameplay. Having a wash cycle when the Player initiated it, triggering a percentage chance it would fail, rewarding the player with more money depending on the upgrade status of the machine, and influencing the Utilities section of the ShopManager which took out every night depending on how many machines (upgraded costing more), creating a risk\/reward for upgrading machines vs. buying more machines. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"961\" src=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachineCode-1024x961.png\" alt=\"\" class=\"wp-image-202\" srcset=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachineCode-1024x961.png 1024w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachineCode-300x282.png 300w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachineCode-768x721.png 768w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/UpgradeMachineCode.png 1275w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Upgraded Machine Event Triggered on Player Action<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"858\" height=\"772\" src=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/ShopManager.png\" alt=\"\" class=\"wp-image-203\" srcset=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/ShopManager.png 858w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/ShopManager-300x270.png 300w, https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2024\/05\/ShopManager-768x691.png 768w\" sizes=\"auto, (max-width: 858px) 100vw, 858px\" \/><figcaption class=\"wp-element-caption\">Shop Manager that will be Manipulated during Game and when Designer wants to change values before\/during for testing<\/figcaption><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Thoughts After Submission<\/h5>\n\n\n\n<p>In the final stages, I felt proud of the work that I put in and what I learned focusing my development work in this structure. The shortcomings I found in this structure, for this project in particular, was not having support in other development areas. For example, simple blueprint scripting to help with mechanics polishing, or visual changes. These smaller changes added up fast when it came down to the wire for submission. <br><br>The tools\/code that I made for this project I carried into the next project. Such as the ShopManager and SpawnManager, these two classes had functionality that I believe could be used in many different projects to keep gameplay mechanics easily manageable and manipulated during runtime. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Development Tools for Designer As I mentioned in my previous DevLog, I wanted to focus this project development on making tools for the designer to fill out the level and manipulate gameplay mechanics within the Level Editor. Being the only developer on the project, this focus being prioritized would allow me to focus more on&hellip; <a class=\"more-link\" href=\"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/2024\/04\/02\/post-mortem-industry-brief-devlog_020\/\">Continue reading <span class=\"screen-reader-text\">Post-Mortem Industry Brief | DevLog_020<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-197","post","type-post","status-publish","format-standard","hentry","category-devlog","entry"],"_links":{"self":[{"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=197"}],"version-history":[{"count":3,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/197\/revisions"}],"predecessor-version":[{"id":204,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/197\/revisions\/204"}],"wp:attachment":[{"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/andrewdalaimo.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}