{"id":1289,"date":"2026-05-12T17:12:44","date_gmt":"2026-05-12T17:12:44","guid":{"rendered":"https:\/\/sites.wsagames.com\/theverdanttrail\/?p=1289"},"modified":"2026-05-12T17:15:22","modified_gmt":"2026-05-12T17:15:22","slug":"gdd-breakdown","status":"publish","type":"post","link":"https:\/\/sites.wsagames.com\/theverdanttrail\/gdd-breakdown\/","title":{"rendered":"GDD Breakdown"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1289\" class=\"elementor elementor-1289\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0149687 e-flex e-con-boxed e-con e-parent\" data-id=\"0149687\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c8eb5d1 elementor-widget elementor-widget-text-editor\" data-id=\"c8eb5d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Before starting the actual development, I broke down the expected game loop and required systems for <span style=\"text-decoration: underline\"><em><a href=\"https:\/\/sites.wsagames.com\/theverdanttrail\/\"><b>The Verdant Trail <\/b><\/a><\/em><\/span>\u00a0based on the project\u2019s core gameplay goals. The game was not planned to be a simple collecting game, but a camp-based survival interaction experience built around <strong data-start=\"309\" data-end=\"387\">story progression, NPC relationships, item delivery, and chapter unlocking<\/strong>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-366e012 elementor-widget elementor-widget-heading\" data-id=\"366e012\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Game Loop<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-953676c elementor-widget elementor-widget-text-editor\" data-id=\"953676c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The expected core game loop could be summarised as:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-784ced6 elementor-widget elementor-widget-image\" data-id=\"784ced6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1071\" height=\"859\" src=\"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-content\/uploads\/sites\/86\/2026\/05\/Snipaste_2026-05-12_09-42-25.png\" class=\"attachment-full size-full wp-image-1292\" alt=\"\" srcset=\"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-content\/uploads\/sites\/86\/2026\/05\/Snipaste_2026-05-12_09-42-25.png 1071w, https:\/\/sites.wsagames.com\/theverdanttrail\/wp-content\/uploads\/sites\/86\/2026\/05\/Snipaste_2026-05-12_09-42-25-300x241.png 300w, https:\/\/sites.wsagames.com\/theverdanttrail\/wp-content\/uploads\/sites\/86\/2026\/05\/Snipaste_2026-05-12_09-42-25-1024x821.png 1024w, https:\/\/sites.wsagames.com\/theverdanttrail\/wp-content\/uploads\/sites\/86\/2026\/05\/Snipaste_2026-05-12_09-42-25-768x616.png 768w\" sizes=\"(max-width: 1071px) 100vw, 1071px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e477cb9 elementor-widget elementor-widget-text-editor\" data-id=\"e477cb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>This loop would act as the main design guideline for the whole project. As the Technical Designer, I needed to break this loop down into practical systems that could be implemented in Unity, so that each gameplay step had clear technical support behind it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fcb24d6 elementor-widget elementor-widget-heading\" data-id=\"fcb24d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Player Movement and Exploration System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e887711 elementor-widget elementor-widget-text-editor\" data-id=\"e887711\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The game would first need a basic player movement system, allowing the player to explore the forest camp.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56a7108 elementor-widget elementor-widget-heading\" data-id=\"56a7108\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Opening Narrative and Player Lock System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-331f327 elementor-widget elementor-widget-text-editor\" data-id=\"331f327\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>At the beginning of the game, I expected the player to first experience an opening narrative sequence. The purpose of this design was to help the player understand the current situation, character relationships, and main objective before freely exploring the scene.<\/p><p>\u00a0<\/p><p data-start=\"2063\" data-end=\"2097\">This system would need to include:<\/p><ul data-start=\"2099\" data-end=\"2359\"><li data-start=\"2099\" data-end=\"2166\">Automatically triggering the opening story after entering the map<\/li><li data-start=\"2167\" data-end=\"2220\">Temporarily locking player movement and interaction<\/li><li data-start=\"2221\" data-end=\"2258\">Hiding or delaying some UI elements<\/li><li data-start=\"2259\" data-end=\"2309\">Unlocking player control after the dialogue ends<\/li><li data-start=\"2310\" data-end=\"2359\">Returning the player to normal exploration mode<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d64b04a elementor-widget elementor-widget-heading\" data-id=\"d64b04a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">NPC Dialogue System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9e4ed28 elementor-widget elementor-widget-text-editor\" data-id=\"9e4ed28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"2529\" data-end=\"2791\">The NPC dialogue system was expected to be one of the main systems for progressing the game. The player would talk to Marcus or Sierra by pressing E, receive task information, deliver items, and access different dialogue branches based on the current game state.<\/p><p data-start=\"2793\" data-end=\"2827\">This system would need to include:<\/p><p data-start=\"2793\" data-end=\"2827\">\u00a0<\/p><ul data-start=\"2829\" data-end=\"3084\"><li data-start=\"2829\" data-end=\"2858\">Press E interaction prompts<\/li><li data-start=\"2859\" data-end=\"2930\">Different dialogue for the first conversation and later conversations<\/li><li data-start=\"2931\" data-end=\"2954\">Dialogue text reading<\/li><li data-start=\"2955\" data-end=\"2980\">Dialogue choice display<\/li><li data-start=\"2981\" data-end=\"3011\">Character portrait switching<\/li><li data-start=\"3012\" data-end=\"3084\">Dialogue changes based on inventory items, reputation, and story state<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64ec16a elementor-widget elementor-widget-heading\" data-id=\"64ec16a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Task Mini-game System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2facfb elementor-widget elementor-widget-text-editor\" data-id=\"e2facfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"3267\" data-end=\"3429\">The game was expected to include several lightweight tasks, allowing the player to obtain items through small interactions rather than receiving rewards directly.<\/p><p data-start=\"3267\" data-end=\"3429\">\u00a0<\/p><p data-start=\"3431\" data-end=\"3455\">Possible tasks included:<\/p><ul data-start=\"3457\" data-end=\"3567\"><li data-start=\"3457\" data-end=\"3477\">Collecting berries<\/li><li data-start=\"3478\" data-end=\"3507\">Moving stones to find a map<\/li><li data-start=\"3508\" data-end=\"3567\">Picking up special items in the scene, such as a mushroom<\/li><\/ul><p data-start=\"3569\" data-end=\"3603\">This system would need to include:<\/p><ul data-start=\"3605\" data-end=\"3963\"><li data-start=\"3605\" data-end=\"3671\">Showing a Press E prompt when the player approaches a task point<\/li><li data-start=\"3672\" data-end=\"3710\">Opening the task UI after pressing E<\/li><li data-start=\"3711\" data-end=\"3783\">Changing the game state to prevent other interactions from interfering<\/li><li data-start=\"3784\" data-end=\"3859\">Allowing the player to complete clicking, dragging, or picking-up actions<\/li><li data-start=\"3860\" data-end=\"3905\">Giving a reward after the task is completed<\/li><li data-start=\"3906\" data-end=\"3963\">Closing the task UI and returning to normal exploration<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1868fd elementor-widget elementor-widget-heading\" data-id=\"c1868fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Item and Inventory System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11f28d7 elementor-widget elementor-widget-text-editor\" data-id=\"11f28d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"4135\" data-end=\"4302\">The inventory system was expected to record the items obtained by the player, while also acting as an important data layer for story progression and chapter unlocking.<\/p><p data-start=\"4135\" data-end=\"4302\">\u00a0<\/p><p data-start=\"4304\" data-end=\"4338\">This system would need to include:<\/p><ul data-start=\"4340\" data-end=\"4567\"><li data-start=\"4340\" data-end=\"4354\">Adding items<\/li><li data-start=\"4355\" data-end=\"4372\">Consuming items<\/li><li data-start=\"4373\" data-end=\"4423\">Checking whether the player owns a specific item<\/li><li data-start=\"4424\" data-end=\"4472\">Displaying item icons, names, and descriptions<\/li><li data-start=\"4473\" data-end=\"4520\">Showing items in the order they were obtained<\/li><li data-start=\"4521\" data-end=\"4542\">Task reward pop-ups<\/li><li data-start=\"4543\" data-end=\"4567\">New item notifications<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db8bd8d elementor-widget elementor-widget-heading\" data-id=\"db8bd8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Reputation System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f39a17 elementor-widget elementor-widget-text-editor\" data-id=\"8f39a17\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"4818\" data-end=\"5049\">The reputation system was expected to represent the changing relationship between the player and the NPCs. By delivering items or choosing suitable dialogue options, the player could increase their reputation with Marcus or Sierra.<\/p><p data-start=\"4818\" data-end=\"5049\">\u00a0<\/p><p data-start=\"5051\" data-end=\"5085\">This system would need to include:<\/p><ul data-start=\"5087\" data-end=\"5318\"><li data-start=\"5087\" data-end=\"5135\">Recording reputation values for different NPCs<\/li><li data-start=\"5136\" data-end=\"5173\">Increasing or decreasing reputation<\/li><li data-start=\"5174\" data-end=\"5200\">Limiting the value range<\/li><li data-start=\"5201\" data-end=\"5253\">Passing reputation values into the dialogue system<\/li><li data-start=\"5254\" data-end=\"5318\">Unlocking new dialogue or key items based on reputation levels<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-583b94b elementor-widget elementor-widget-heading\" data-id=\"583b94b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Key Item and Chapter Progression System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73c943b elementor-widget elementor-widget-text-editor\" data-id=\"73c943b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"6194\" data-end=\"6437\">The chapter progression was expected to depend on key items. The player would need to obtain certain items, such as a Map and a Compass, through tasks and NPC relationships before being able to pass the forest boundary or enter the next stage.<\/p><p data-start=\"6194\" data-end=\"6437\">\u00a0<\/p><p data-start=\"6439\" data-end=\"6473\">This system would need to include:<\/p><ul data-start=\"6475\" data-end=\"6725\"><li data-start=\"6475\" data-end=\"6532\">Checking whether the player owns the required key items<\/li><li data-start=\"6533\" data-end=\"6595\">Showing a warning message if the player is missing equipment<\/li><li data-start=\"6596\" data-end=\"6662\">Triggering the chapter ending screen when the conditions are met<\/li><li data-start=\"6663\" data-end=\"6725\">Showing \u201cChapter II Coming Soon\u201d or moving to the next level<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46f2759 elementor-widget elementor-widget-heading\" data-id=\"46f2759\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">User Interface and Feedback System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3591b43 elementor-widget elementor-widget-text-editor\" data-id=\"3591b43\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"6900\" data-end=\"7005\">To help the player understand the current game state, the game would need a clear UI and feedback system.<\/p><p data-start=\"6900\" data-end=\"7005\">\u00a0<\/p><p data-start=\"7007\" data-end=\"7033\">This system would include:<\/p><ul data-start=\"7035\" data-end=\"7272\"><li data-start=\"7035\" data-end=\"7064\">Press E interaction prompts<\/li><li data-start=\"7065\" data-end=\"7086\">Inventory interface<\/li><li data-start=\"7087\" data-end=\"7106\">Item detail panel<\/li><li data-start=\"7107\" data-end=\"7133\">Task completion feedback<\/li><li data-start=\"7134\" data-end=\"7150\">Reward pop-ups<\/li><li data-start=\"7151\" data-end=\"7180\">Inventory notification dots<\/li><li data-start=\"7181\" data-end=\"7206\">Dialogue choice buttons<\/li><li data-start=\"7207\" data-end=\"7230\">Chapter ending screen<\/li><li data-start=\"7231\" data-end=\"7272\">Warning text when key items are missing<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6da531 elementor-widget elementor-widget-heading\" data-id=\"d6da531\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Global State Management System<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ebbf69 elementor-widget elementor-widget-text-editor\" data-id=\"1ebbf69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"7512\" data-end=\"7716\">Since the player might be close to NPCs, task points, items, and exits at the same time, the game would need a global state management system to prevent multiple interactions from being triggered at once.<\/p><p data-start=\"7512\" data-end=\"7716\">\u00a0<\/p><p data-start=\"7718\" data-end=\"7752\">This system would need to include:<\/p><ul data-start=\"7754\" data-end=\"7925\"><li data-start=\"7754\" data-end=\"7780\">Normal exploration state<\/li><li data-start=\"7781\" data-end=\"7796\">Task UI state<\/li><li data-start=\"7797\" data-end=\"7817\">Inventory UI state<\/li><li data-start=\"7818\" data-end=\"7838\">Opening lock state<\/li><li data-start=\"7839\" data-end=\"7925\">Preventing dialogue, tasks, inventory, and movement from conflicting with each other<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Before starting the actual development, I broke down the expected game loop and required systems for The Verdant Trail \u00a0based on the project\u2019s core gameplay goals. The game was not planned to be a simple collecting game, but a camp-based survival interaction experience built around story progression, NPC relationships, item delivery, and chapter unlocking. Game [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7],"tags":[],"class_list":["post-1289","post","type-post","status-publish","format-standard","hentry","category-dev","category-meeting"],"_links":{"self":[{"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/posts\/1289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/comments?post=1289"}],"version-history":[{"count":4,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/posts\/1289\/revisions"}],"predecessor-version":[{"id":1295,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/posts\/1289\/revisions\/1295"}],"wp:attachment":[{"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/media?parent=1289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/categories?post=1289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wsagames.com\/theverdanttrail\/wp-json\/wp\/v2\/tags?post=1289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}