{"id":345,"date":"2025-10-03T18:41:23","date_gmt":"2025-10-03T18:41:23","guid":{"rendered":"https:\/\/tangy-fox.linuseast1wp.hustly.live\/?post_type=portfolio&#038;p=345"},"modified":"2026-01-19T06:44:45","modified_gmt":"2026-01-19T11:44:45","slug":"until-death-or-dawn","status":"publish","type":"portfolio","link":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/?portfolio=until-death-or-dawn","title":{"rendered":"Until Death or Dawn"},"content":{"rendered":"\n<nav aria-label=\"Table of Contents\" class=\"wp-block-table-of-contents has-open-sans-font-family\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/?portfolio=until-death-or-dawn#design-process\">Narrative<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/?portfolio=until-death-or-dawn#design-process\">Design Process<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/?portfolio=until-death-or-dawn#implementation\">Implementation<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/?portfolio=until-death-or-dawn#scrapped-ideas\">Scrapped Ideas<\/a><\/li><\/ol><\/nav>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Itch.io: <a href=\"https:\/\/matchagatcha.itch.io\/until-dawn-or-death\">https:\/\/matchagatcha.itch.io\/until-dawn-or-death<\/a><\/p>\n\n\n\n<p>Genre : 3D Tower Defense, FPS<br>Development Tools : Unity, PlasticSCM, Asperite<br>Team Size : 4 Members<br>Role: Game Designer, Lead Artist<br>Development Time : ~ 2 months<br><\/p>\n\n\n\n<p>Until Death or Dawn pits the players against a horde of undead creatures commanded by the wrath Lich! Use the power of various towers to fend off the horrors of the night until the promise of day arrives. Once you construct a Hero Tower, click it to enter the first person view and personally defend your castle.<br><br>IItch.io: <a href=\"https:\/\/matchagatcha.itch.io\/until-dawn-or-death\">https:\/\/matchagatcha.itch.io\/until-dawn-or-death<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"557\" src=\"https:\/\/joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/gameplay-1024x557.jpg\" alt=\"\" class=\"wp-image-347\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/gameplay-1024x557.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/gameplay-300x163.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/gameplay-768x418.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/gameplay.jpg 1058w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Tower Defense<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-default\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"design-process\">Narrative<\/h2>\n<\/div>\n<\/div>\n\n\n\n<p>For this game, my team and I really wanted to have a horror-based aesthetic, with a dark struggle in the night being the core idea of the project. <br><br>With that in mind, the following story served as the creative foundation for the project: A desperate fight ensues into an unforgiving black shroud of night, lit up by few torches that shine upon a sole castle in the midst of the woods. Sound of guttural screams echo throughout, some of true terror, and others of unnatural bloodlust. Arrows fly, oil pours, flames spread, and magic erupts into an unrelenting horde of undead amalgamations that cease to rest.<br><br>Rotting flesh and decrepit bones shamble onwards alongside their cruel commander; a lich. The sight of his opulent pearl and gilded trimmed robes are tarnished with their decaying, putrid figure. Their grand origin of the castles long-ancient saint has since been lost to time, but with the corruption of death, he has come once more to bear witness to the castle. <br><br>Through the darkness, the light of the sun will eventually encapsulate all, the only question is: Will there be any alive to enjoy the warmth of its rays?<br><br>This story is also how I came up with the working title, Until Death or Dawn, that eventually ended as the final name.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"design-process\">Design Process<\/h2>\n<\/div>\n<\/div>\n\n\n\n<p>For this project, I had a unique position of being the lead artist for the first time instead of helping with programming or level design. So instead of designing for the feel of the game, I focused on making visual pieces that would fit the narrative while enhancing the player experience.<br><br>For the enemies, it was straight forward to me. Create the most disgusting and uncanny textures and models to promote that eerie-ness. We knew the our build wasn&#8217;t going to be dark for ease of gameplay and due to time constraints, so the animations and models should have that unsettling and inevitable crawl forward that can send chills down your spine. <br><br>When designing the lich however, I had the idea to give to a luxurious and bougie robe to create the juxtaposition between a seemingly holy role and the earthly grittiness the overall army presents. So I added that part to the narrative as creation of the lich went on. Additionally, to draw upon this idea even further, the lich&#8217;s summoning looks like a prayer, and his death makes him reach to the sky. While seemingly innocuous on the surface, the combination of that with the robes are meant to allude that the lich serves and invokes a higher power.<br><br>The player towers, and their including projectiles, are shaped with a different philosophy. Instead of making them fit the medieval theme, they are shaped and painted with clarity and eye-catchiness instead. While this contrasts the serious narrative, it was more to fit the simple gameplay of our build<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"implementation\">Implementation<\/h2>\n\n\n\n<p>During the development process, I mainly focused on creating 3D models in Blender from scratch. This process involved sculpting the base models, making sure to follow good topography practices, slicing and UV mapping, and finally painting custom materials in Adobe 3D Substance Painter. <\/p>\n\n\n\n<p>Afterwards I had to export it into Unity properly with correct settings for the coordinate system, and assigning normal maps and such. Additionally to the creation of 3D assets, I also was responsible to animating them within Blender to bring them to life. Below is a full comprehensive list of what models I helped developed.<\/p>\n\n\n\n<ul class=\"wp-block-list has-open-sans-font-family\">\n<li>UV Mapping \/ 3-D Painting \n<ul class=\"wp-block-list\">\n<li>Zombie<\/li>\n\n\n\n<li>Skeleton<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Whole Process\n<ul class=\"wp-block-list\">\n<li>Lich Miniboss<\/li>\n\n\n\n<li>Arrow Tower + Projectiles<\/li>\n\n\n\n<li>Flame Tower<\/li>\n\n\n\n<li>Oil Tower + Projectiles<\/li>\n\n\n\n<li>Farm Tower<\/li>\n\n\n\n<li>Hero Tower + Projectiles<\/li>\n\n\n\n<li>Heart (Unused)<\/li>\n\n\n\n<li>Coin (Unused)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Below I&#8217;ve used the Lich and Archer tower to show off some UV-mapping, painting, and animating<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-grid wp-container-core-group-is-layout-80501ade wp-block-group-is-layout-grid\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1247\" src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM.jpg\" alt=\"\" class=\"wp-image-563\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM.jpg 1920w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM-300x195.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM-1024x665.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM-768x499.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.06.30-AM-1536x998.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\">Lich Model and Upper-body UV-Map<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video wp-container-content-5b32f796\"><video height=\"1964\" style=\"aspect-ratio: 3024 \/ 1964;\" width=\"3024\" controls src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/10\/lichdeathdemo.mov\"><\/video><figcaption class=\"wp-element-caption\">Lich Death Animation<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"624\" src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM-1024x624.jpg\" alt=\"\" class=\"wp-image-565\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM-1024x624.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM-300x183.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM-768x468.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM-1536x936.jpg 1536w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.10.19-AM.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Lich Painted<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1197\" src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM.jpg\" alt=\"\" class=\"wp-image-559\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM.jpg 1920w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM-300x187.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM-1024x638.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM-768x479.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-9.41.23-AM-1536x958.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\">Archer Tower UV-Map and Model<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1247\" src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM.jpg\" alt=\"\" class=\"wp-image-561\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM.jpg 1920w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM-300x195.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM-1024x665.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM-768x499.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.03.15-AM-1536x998.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\">Archer Tower Painted<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"647\" src=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM-1024x647.jpg\" alt=\"\" class=\"wp-image-566\" srcset=\"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM-1024x647.jpg 1024w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM-300x190.jpg 300w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM-768x485.jpg 768w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM-1536x970.jpg 1536w, https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-11-at-10.11.52-AM.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Archer Tower Arrow UV-Map and Model<\/figcaption><\/figure>\n<\/div>\n\n\n\n<p>Continuing the line of design work, I also worked to outline, color, and finalize our game&#8217;s poster in order to present it at our school&#8217;s game showcase. During which I helped present it to participants and collected feedback from their playthroughs.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\" id=\"scrapped-ideas\">Scrapped Ideas<\/h2>\n\n\n\n<p>My team and I was quite satisfied with how the final implementation came out to be. However, there were more features that we had planned should time permit, embellishments that were nice to have but not prioritized as they were not crucial to the base game. These following features were cut due to the time constraint of the project.<\/p>\n\n\n\n<p>Some ideas that I pitched:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Dark Night:<\/strong><\/p>\n\n\n\n<p>The game field (excluding the castle) was going to be pitch black to mimic the middle of the night. Players would have to buy torches and other lights to expand their vision. Towers would not be able to spot enemies not within the light&#8217;s reach. This was intended to cause more of that horror feel, with an uncertain scrambling being present especially in the early stages of the game.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Air Field:<\/strong><\/p>\n\n\n\n<p>As the difficulty scales, more enemy types would appear, with some flying towards the castle. This would have its own path, and would take the form of bats, gargoyles and such. <\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Tower Synergies: <\/strong><\/p>\n\n\n\n<p>One of the key towers in the game is the oil tower, while we made it a simple &#8220;lock on and shoot tower&#8221;, initially we had more complex behaviors planned. The oil would splatter and slow enemies while the fire tower would ignite them, dealing extra damage.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Itch.io: https:\/\/matchagatcha.itch.io\/until-dawn-or-death Genre : 3D Tower Defense, FPSDevelopment Tools : Unity, PlasticSCM, AsperiteTeam Size : 4 MembersRole: Game Designer, Lead ArtistDevelopment Time : ~ 2 months Until Death or Dawn pits the players against a horde of undead creatures commanded by the wrath Lich! Use the power of various towers to fend off the horrors [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":346,"template":"","portfolio-categories":[10],"portfolio-tags":[],"class_list":["post-345","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","portfolio-categories-game"],"_links":{"self":[{"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/portfolio\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/types\/portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/users\/1"}],"version-history":[{"count":4,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/portfolio\/345\/revisions"}],"predecessor-version":[{"id":708,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/portfolio\/345\/revisions\/708"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=\/wp\/v2\/media\/346"}],"wp:attachment":[{"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=345"}],"wp:term":[{"taxonomy":"portfolio-categories","embeddable":true,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=%2Fwp%2Fv2%2Fportfolio-categories&post=345"},{"taxonomy":"portfolio-tags","embeddable":true,"href":"https:\/\/www.joshvillaportfolio.linuseast1wp.hustly.live\/index.php?rest_route=%2Fwp%2Fv2%2Fportfolio-tags&post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}