<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Major_project - Category - Aurora Esmeralda</title>
    <link>http://auroraechoes.dev/categories/major_project/</link>
    <description>Aurora Esmeralda</description>
    <generator>Hugo 0.157.0 &amp; FixIt v0.4.4</generator>
    <language>en-au</language>
    <managingEditor>auroraesmeralda@protonmail.com (Aurora Esmeralda)</managingEditor>
    <webMaster>auroraesmeralda@protonmail.com (Aurora Esmeralda)</webMaster>
    <lastBuildDate>Wed, 24 Jun 2026 00:00:00 +1000</lastBuildDate>
    <atom:link href="http://auroraechoes.dev/categories/major_project/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tavern Tussle</title>
      <link>http://auroraechoes.dev/games/tavern-tussle/</link>
      <pubDate>Wed, 24 Jun 2026 00:00:00 +1000</pubDate><author>auroraesmeralda@protonmail.com (Aurora Esmeralda)</author>
      <guid>http://auroraechoes.dev/games/tavern-tussle/</guid>
      <category domain="http://auroraechoes.dev/categories/games/">Games</category>
      <category domain="http://auroraechoes.dev/categories/unity/">Unity</category>
      <category domain="http://auroraechoes.dev/categories/major_project/">Major_project</category>
      <description>&lt;p&gt;&lt;a href=&#34;https://floatiecrow.itch.io/tavern-tussle&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Download Tavern Tussle on itch.io&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This game was made in collaboration with Jessie Rachman, Matthew Baird, Ameen Alqudah, and Alexander Maturan. I designed and programmed all major foundational game systems, including player movement, game flow, minigame structure, and UI.&lt;/p&gt;&#xA;&lt;p&gt;After countless nights of the same old &amp;ldquo;put it on my tab!&amp;rdquo; at the tavern, you have racked up quite the debt. As tavern tradition dictates, those who are unable to pay their dues must pay through another form&amp;hellip; ENTERTAINMENT! Participate in the wizard&amp;rsquo;s games to entertain the fellow tavern goers against other broke adventurers, and hopefully you&amp;rsquo;ll earn some coin along the way with your performance. If your endeavours prove successful, perhaps you&amp;rsquo;ll win enough games to pay out of your debt&amp;hellip; lest you pay through eternal servitude as a frog.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stuff It We Snowball (App Store release)</title>
      <link>http://auroraechoes.dev/games/stuff-it-we-snowball-app-store/</link>
      <pubDate>Tue, 28 Oct 2025 00:00:00 +1000</pubDate><author>auroraesmeralda@protonmail.com (Aurora Esmeralda)</author>
      <guid>http://auroraechoes.dev/games/stuff-it-we-snowball-app-store/</guid>
      <category domain="http://auroraechoes.dev/categories/games/">Games</category>
      <category domain="http://auroraechoes.dev/categories/godot/">Godot</category>
      <category domain="http://auroraechoes.dev/categories/major_project/">Major_project</category>
      <description>&lt;p&gt;&lt;em&gt;Stuff It, We Snowball&lt;/em&gt; (App Store release) is available on the App Store for free, and ad-free, &lt;a href=&#34;https://apps.apple.com/au/app/stuff-it-we-snowball/id6748624919&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;here&lt;/a&gt;. It evolved from the game jam version, which you can read about &lt;a href=&#34;https://auroraechoes.dev/games/stuff-it-we-snowball-game-jam/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In Stuff It, We Snowball, you race down a treacherous mountain, and picking up snow along the way. Each day features a new procedurally generated mountain to race down. Get enough stars to complete each day to bronze, silver, or gold.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Overshadowed</title>
      <link>http://auroraechoes.dev/games/overshadowed/</link>
      <pubDate>Tue, 01 Jul 2025 00:00:00 +1000</pubDate><author>auroraesmeralda@protonmail.com (Aurora Esmeralda)</author>
      <guid>http://auroraechoes.dev/games/overshadowed/</guid>
      <category domain="http://auroraechoes.dev/categories/games/">Games</category>
      <category domain="http://auroraechoes.dev/categories/unity/">Unity</category>
      <category domain="http://auroraechoes.dev/categories/major_project/">Major_project</category>
      <description>&lt;div id=&#34;itchio-container-14170008&#34;&#xA;     style=&#34;position: relative; width: 1280px; height: 760px; background: #111; display: flex; align-items: center; justify-content: center;&#34;&gt;&#xA;&#xA;  &lt;button onclick=&#34;loadItchio(&#39;14170008&#39;, &#39;1280&#39;, &#39;760&#39;)&#34;&#xA;          style=&#34;&#xA;            padding: 14px 28px;&#xA;            font-size: 1.2rem;&#xA;            cursor: pointer;&#xA;            border: none;&#xA;            border-radius: 6px;&#xA;            background: #e33;&#xA;            color: white;&#xA;          &#34;&gt;&#xA;    ▶ Play Game&#xA;  &lt;/button&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;script&gt;&#xA;function loadItchio(id, width, height) {&#xA;  const container = document.getElementById(&#34;itchio-container-&#34; + id);&#xA;&#xA;  &#xA;  container.innerHTML = `&#xA;    &lt;iframe&#xA;      src=&#34;https://itch.io/embed-upload/${id}&#34;&#xA;      width=&#34;${width}&#34;&#xA;      height=&#34;${height}&#34;&#xA;      frameborder=&#34;0&#34;&#xA;      allow=&#34;autoplay&#34;&#xA;    &gt;&lt;/iframe&gt;&#xA;  `;&#xA;}&#xA;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=https://github.com/AuroraEchoes/GDMProject&gt;&#xA;    &lt;div class=&#34;link-badge-background&#34;&gt;&#xA;        &lt;div class=&#34;link-badge-contents&#34;&gt;&#xA;            &#xA;    &lt;svg aria-hidden=&#34;true&#34; class=&#34;hi-svg-inline&#34; fill=&#34;currentColor&#34; height=&#34;2em&#34; viewBox=&#34;0 0 496 512&#34; width=&#34;2em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. --&gt;&lt;path d=&#34;M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z&#34;/&gt;&lt;/svg&gt;&#xA;&#xA;    Source Code on GitHub&#xA;&#xA;        &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/a&gt;&#xA;&lt;style&gt;&#xA;    .link-badge-background {&#xA;        background-color: var(--fi-global-border-color);&#xA;        border-radius: 1em;&#xA;        padding: 0.25em 0.7em;&#xA;        display: inline-block;&#xA;        margin: 1em 0em;&#xA;    }&#xA;&#xA;    .link-badge-contents {&#xA;        display: flex;&#xA;        gap: 0.5em;&#xA;        align-items: center;&#xA;    }&#xA;&lt;/style&gt;&#xA;&#xA;&lt;p&gt;I created &lt;em&gt;Overshadowed&lt;/em&gt; (along with Harlen Postill, Alexander Maturan and Gordon Huang) for a Game Design course at university. I was primarily responsible for gameplay programming, as well as designing Level 3.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Overshadowed&lt;/em&gt; was featured at the UTS &lt;a href=&#34;https://showcase.gamesstudio.org/autumn-2025/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Student Games Showcase&lt;/a&gt; and won Best Game from Game Design Methodologies.&lt;/p&gt;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;technologies-used&#34;&gt;&lt;span&gt;Technologies Used&lt;/span&gt;&#xA;  &lt;a href=&#34;#technologies-used&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;div class=&#34;tech-icon-row&#34;&gt;&#xA;    &#xA;    &#xA;&lt;div class=&#34;tech-icon-container&#34;&gt;&#xA;    &#xA;        &lt;svg aria-hidden=&#34;true&#34; class=&#34;hi-svg-inline&#34; fill=&#34;currentColor&#34; height=&#34;5em&#34; viewBox=&#34;0 0 128 128&#34; width=&#34;5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;m63.991 128 51.702-29.855-19.817-11.461-20.26 11.704a1.151 1.151 0 0 1-1.125-.009 1.145 1.145 0 0 1-.568-.975V69.608c0-.819.424-1.56 1.133-1.968L99.13 53.737a1.119 1.119 0 0 1 1.124.009c.352.195.572.564.576.966V78.11l19.83 11.454V29.855L63.99 62.566Zm0 0&#34;/&gt;&lt;path fill=&#34;#4d4d4d&#34; d=&#34;m52.397 98.401-20.27-11.718-19.832 11.46L63.991 128V62.566L7.34 29.854V89.56l19.825-11.45V54.714c.009-.401.225-.77.572-.966a1.13 1.13 0 0 1 1.13-.009L52.953 67.64a2.275 2.275 0 0 1 1.133 1.97v27.8a1.156 1.156 0 0 1-.565.98 1.131 1.131 0 0 1-1.124.012&#34;/&gt;&lt;path fill=&#34;gray&#34; d=&#34;M68.959 0v22.9L89.22 34.597c.348.203.555.576.555.984 0 .403-.212.772-.555.975L65.137 50.468a2.302 2.302 0 0 1-2.27 0L38.791 36.556a1.122 1.122 0 0 1-.56-.975 1.127 1.127 0 0 1 .56-.984L59.048 22.9V0L7.339 29.855l56.652 32.711 56.665-32.71Zm0 0&#34;/&gt;&lt;/svg&gt;&#xA;        &#xA;&#xA;    &#xA;    &lt;span&gt;Unity&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&lt;style&gt;&#xA;    .tech-icon-container {&#xA;        display: flex;&#xA;        flex-shrink: 0;&#xA;        flex-wrap: wrap;&#xA;        flex-direction: column;&#xA;        align-items: center;&#xA;        gap: 0.5em 0em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&#xA;    &#xA;&lt;div class=&#34;tech-icon-container&#34;&gt;&#xA;    &#xA;        &lt;svg aria-hidden=&#34;true&#34; class=&#34;hi-svg-inline&#34; fill=&#34;currentColor&#34; height=&#34;5em&#34; viewBox=&#34;0 0 128 128&#34; width=&#34;5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path fill=&#34;#9B4F96&#34; d=&#34;M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z&#34;/&gt;&lt;path fill=&#34;#68217A&#34; d=&#34;M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z&#34;/&gt;&lt;path fill=&#34;#fff&#34; d=&#34;M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6zM97 66.2l.9-4.3h-4.2v-4.7h5.1L100 51h4.9l-1.2 6.1h3.8l1.2-6.1h4.8l-1.2 6.1h2.4v4.7h-3.3l-.9 4.3h4.2v4.7h-5.1l-1.2 6h-4.9l1.2-6h-3.8l-1.2 6h-4.8l1.2-6h-2.4v-4.7H97zm4.8 0h3.8l.9-4.3h-3.8l-.9 4.3z&#34;/&gt;&lt;/svg&gt;&#xA;&#xA;    &#xA;    &lt;span&gt;C#&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&lt;style&gt;&#xA;    .tech-icon-container {&#xA;        display: flex;&#xA;        flex-shrink: 0;&#xA;        flex-wrap: wrap;&#xA;        flex-direction: column;&#xA;        align-items: center;&#xA;        gap: 0.5em 0em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;style&gt;&#xA;    .tech-icon-row {&#xA;        display: flex;&#xA;        flex-direction: row;&#xA;        flex-wrap: wrap;&#xA;        align-items: start;&#xA;        gap: 1.5em 1.5em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;lessons&#34;&gt;&lt;span&gt;Lessons&lt;/span&gt;&#xA;  &lt;a href=&#34;#lessons&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Puzzle Design&lt;/strong&gt;. This wasn’t a discipline I had particularly experimented with before. There are countless things I learned from this —  some of which I will discuss in later points —  but an aspect which I struggled to accept was that I had to stop trying to show off to players. I’m writing particularly about the final puzzle of Level 3, which makes clever use of the glass mechanic, elevation, and blocks disrupting light flow. While these are all conceptually interesting ideas, users were consistently confused, and really struggled with this puzzle. What I &lt;em&gt;should&lt;/em&gt; have done is rework it from the concept up, but I was so pleased with it that I just kept tweaking it, and ultimately, users never really &lt;em&gt;got&lt;/em&gt; it.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Art Style&lt;/strong&gt;. Effectively all of the (3D) art assets in this game are store-bought. I am very proud of the way we integrated them together, to form a cohesive and relatively unique visual identity. Ultimately, this was guided by the artistic vision we had —  calm, minimal, similar to Monument Valley. This effect is achieved by two main things: shaders, and lighting. We performed colour-space quantisation on the full frame, which reduced the number of colours and helped create the minimal effect. The sky shader with stars both highlighted the minimalism of the level design, and provided a visual bridge between the hand-drawn style of the trailer, and the minimal 3D style of the game.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;User Testing&lt;/strong&gt;. This is by far the most important learning of this project. &lt;em&gt;User testing is incredibly vital and there is no amount that is “too much”&lt;/em&gt;. There are countless things we changed as a result of user testing, the most important of which was the control scheme. &lt;em&gt;Overshadowed&lt;/em&gt; is an isometric game, so choosing a control scheme presented a challenge. In testing, users chose screen-space coordinate controls and world-space coordinate controls at an approximately 50/50 rate. Ultimately, I created a system to automatically assign a control scheme to users based on their first second of inputs (unfortunately, by the time I had implemented it, I had run out of time to user test). It was a mixed success —  it certainly helped some users, while choosing the wrong control scheme for others. Realistically, I think a better solution would be to explicitly prompt the user, but I (once again) got distracted trying to be clever, at the cost of the game. This project truly drummed the importance of user testing in my head, a mindset I have taken forward into my other projects.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All em dashes in this post were ethically sourced. No LLMs were used in the creation of these, nor any other punctuation marks.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
