<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>JDMdev</title>
    <subtitle>Portfolio website of Joe McDonnell</subtitle>
    <link rel="self" type="application/atom+xml" href="https://jdmdev.co.uk/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://jdmdev.co.uk"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2029-12-31T12:00:00+00:00</updated>
    <id>https://jdmdev.co.uk/atom.xml</id>
    <entry xml:lang="en">
        <title>Coming Soon</title>
        <published>2029-12-31T12:00:00+00:00</published>
        <updated>2029-12-31T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/coming-soon/"/>
        <id>https://jdmdev.co.uk/projects/coming-soon/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/coming-soon/">&lt;p&gt;I can announce that I&#x27;m working on a new personal project. One that is intended to challenge me and venture outside my comfort zone. It&#x27;s not related to any formal career and won&#x27;t intefere with one if you wish to discuss an oppourtunity with me, so don&#x27;t hesitate to reach out! I&#x27;m still open to work.&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;re intrigued by this project, keep an eye on this page and my LinkedIn for future updates!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A little bit about who I am</title>
        <published>2026-08-05T12:00:00+00:00</published>
        <updated>2026-08-05T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/about/"/>
        <id>https://jdmdev.co.uk/about/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/about/">&lt;p&gt;From an early age, I&#x27;ve always loved technology and video games. Depsite technology typically being quite systematic, there is something so wonderful and artistic in the creative process of game development that makes it stand out amongst other sectors. The stories, the worlds, even the variety of ways to interact with them, are all things I love to experience and, one day, would love to try a hand at myself. I am both a variety gamer, and a variety developer. There is no genre or platform or medium that I don&#x27;t appreciate and want to try atleast once.&lt;&#x2F;p&gt;
&lt;p&gt;Six years ago (2020), the world froze in time. Literally right before that moment, I bought my first desktop PC. I&#x27;d always loved video games through Nintendo consoles but this opened up my world to the true expanse of gaming experiences. From deeply emotional stories, to incredible mechanics and gameplay, to musical soundtracks that rivalled some of the most famous pieces. I loved and appreciated all of it!&lt;&#x2F;p&gt;
&lt;p&gt;I already had a strong interest in computer science and programming. And from that point, I decided I wanted to take that direction specifically into game development. I loved experiencing all these different games, and I wanted to try my own hand at them too! Right there and then, I started my journey by buying RPGMaker MV and making my first project. Needless to say, I ran head first into every rookie mistake you could imagine; From overscoping to the moon and back, to having combat more boring than a school lesson.&lt;&#x2F;p&gt;
&lt;p&gt;But I was learning! And since then, I&#x27;ve graduated the University of Portsmouth in a Bachelor of Science with Honours in Computer Games Technology with a First Class degree! I have accrued multiple skills and projects – some of which you can read about on this website – and gained incredible insight into the development process and industry.&lt;&#x2F;p&gt;
&lt;p&gt;While I started down the path of a programmer, these days I am positioned as a &lt;strong&gt;Technical Designer&lt;&#x2F;strong&gt;. That means, on top of my dual-discipline skills allowing me to both design and program (two for the price of one!), I bring an invaluable power to the table: The ability to design &lt;em&gt;technically&lt;&#x2F;em&gt;. I can take ideas, and fully detail their inner-workings for the dedicated programmers to understand and implement. I don&#x27;t just design what will happen, I design &lt;em&gt;how&lt;&#x2F;em&gt; it will happen, while still providing all the flexibility and freedom for the programmers to implement it in their style. I also know the complexity and weight of designs on programmers, and can ensure ideas and plans remain feasible and appropriate for the teams&#x27; capabilities.&lt;&#x2F;p&gt;
&lt;p&gt;This doesn&#x27;t lessen my expertise in either discipline. I&#x27;m a thorough designer with a strong focus on game feel and user experience. I take pride in going the extra mile to make levels&#x2F;worlds feel cohesive and immersive, game mechanics feel fun and engaging, and user interfaces feel intuitive and responsive. I also do my research, ensuring that every aspect under my direction meets player expectations.&lt;&#x2F;p&gt;
&lt;p&gt;Likwise, I am a confident programmer that writes clearly, professionally and efficiently. I take pride in my modular approach to mechanics and systems, making them easy to use, tweak and customise by designers and be applied across projects if desired. I love polish and implement it into my systems to benefit both internal teams and player experiences. I also add failsafes and recoveries in all corners of my code to prevent hard crashes and disruptions to the experience.&lt;&#x2F;p&gt;
&lt;p&gt;All in all, I&#x27;m an enthusiastic, passionate and creative Technical Designer that is ready to dive in and make fulfilling experiences, tell incredible stories, and remind both gamers and the games industry what creativity is truly capable of!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Mousechitect</title>
        <published>2026-06-12T17:00:00+00:00</published>
        <updated>2026-06-12T17:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/mousechitect/"/>
        <id>https://jdmdev.co.uk/projects/mousechitect/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/mousechitect/">&lt;h1 style=&#x27;text-align: center;&#x27;&gt;Technical Design and Documentation&lt;&#x2F;h1&gt;
&lt;p&gt;Across the games&#x27; design, I was responsible for the Economy, Camera &amp;amp; Game Modes, User Interface &amp;amp; Experience, Buildings &amp;amp; Structures and Core Gameplay Loop. During the pre-production stage, design quickly fell behind schedule, with the documentation already accumulating technical debt that made it difficult to navigate and understand. Taking the initiative, I rebuilt the entire documentation into the format of a wiki; seperating categories into individual pages and creating a clear numerical heading structure that could be navigated through a master document holding a table of contents.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;mouse-img-2.png&quot; alt=&quot;Comparison of structure in each set of documentation&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Comparison of structure in each set of documentation&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The original documentations&#x27; language was very strung-out and desciptive, leading to a bloat of irrelevant information that resulted in the documentation overall lacking any technical depth or insight. I took personal resposibility of the many areas of the documentation listed above and rewrote them with improved clarity, technical depth and systematic design. Miscommunication happens when the answer to a question is missing in the documentation, even if a simple one. I made sure to explain every piece of the gameplay and technical experience in a clear and concise manner to get the information across as effectively as possible. The programmers responded well to this improved documentation, finding considerable value in its directiveness and technical design.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;mouse-img-3.png&quot; alt=&quot;Comparison of language in each set of documentation&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Comparison of language in each set of documentation&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Below is a selective compilation of the Games Design Documentation containing all the areas that I contributed towards throughout development.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Clocking Out (Revised)</title>
        <published>2026-06-08T12:00:00+00:00</published>
        <updated>2026-06-08T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/clocking-out-revised/"/>
        <id>https://jdmdev.co.uk/projects/clocking-out-revised/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/clocking-out-revised/">&lt;p&gt;From the start of the game, there is an immediate change with the counter area of the shop being redesigned with more detail, and the post-it note for the cash machine puzzle being moved to make better narrative sense in the context of environmental storytelling.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-3.png&quot; alt=&quot;Comparison of counter design&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Comparison of counter design&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Also present in the counter area is the integrated tutorial taking an active-learning approach to teaching. Where before the player was spawned by the front door, in the revised version they start behind the counter, facing a poster instructing the player how to look around. In doing so, the player will encounter a second poster on their right, instructing them how to move. Finally, to access the rest of the shop, the player will need to open the gate which has another poster on it detailing the interaction controls. These steps have to be completed linearly for the player to progress, reinforcing the information as the player completes them. If a player already has this knowledge when they start the game, they can easily progress without feeling like they are being forced through a stagnating or boring segment.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-4.gif&quot; alt=&quot;The integrated tutorial&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;The integrated tutorial&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As part of the general improvements to the game, I added a pause menu that was absent from the original. It is simple but matches the aesthetic of the game and also provides the infastructure for the second psychological design feature: an achievement system.&lt;&#x2F;p&gt;
&lt;p&gt;The achievements are designed to extrinsically motivate the player once the intrinsic motivation provided by the games core experience begins to subside. It adds additional replayability to the game by leading the player towards alternative endings and giving them small challenges that they can complete along the way. The achievements are intentionally secondary to the game experience so as to not remove any intrinsic value and make the game less enjoyable to some audiences.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-5.gif&quot; alt=&quot;The achievement system and pause menu&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;The achievement system and pause menu&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The achievement system is a modular tool that can be easily expanded and applied across different projects. Achievements are stored in a configuration file that the pause menu reads upon opening the achievements screen to proceadurally create and display. All of the tracking and award functions of the system is handled in an Autoload (Singleton) that is referenced across the game where progress on an achievement needs to be recorded. It is integrated robustly with failsafes so that the game can execute with or without it.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-6.jpg&quot; alt=&quot;The achievement config file&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;The achievement config file&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In terms of other changes to the game, the lights puzzle was moved to the left corner of the shop rather than the top middle, to better utilise the space and encourage the player to traverse the whole shop. The poster for the lock puzzle was also moved to the other side of the door where the visual clarity is not weakened by the refrigerated shelves.&lt;&#x2F;p&gt;
&lt;p&gt;While the revised version of the game is not currently available, you can play the original for free on itch.io:&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Black Market</title>
        <published>2026-03-04T17:00:00+00:00</published>
        <updated>2026-03-04T17:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/black-market/"/>
        <id>https://jdmdev.co.uk/projects/black-market/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/black-market/">&lt;p&gt;&lt;strong&gt;[This is a solo project. All of the design, programming and creative writing were created by myself]&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In my final year of University, I joined a club to improve my narrative design skills. During my time in that group, a game jam was held to challenge our relevant skills, and from that came this project: The Black Market. The two core aims of this project were to:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Learn a new engine: Twine.&lt;&#x2F;li&gt;
&lt;li&gt;Challenge myself to write an interactive, text-based adventure.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I designed the concept of a non-linear navigation system using a market street that the player could &quot;move&quot; through at their leisure – each page giving them the option to approach some of the nearby vendors. At each of these vendors, the player could strike up a conversation that, if played succesfully, would reveal information or knowledge needed to unlock new dialogue paths at a &lt;em&gt;different&lt;&#x2F;em&gt; vendor.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;market-img-1.png&quot; alt=&quot;Initial presentation of one of the vendors&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Initial presentation of one of the vendors&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;market-img-2.png&quot; alt=&quot;Narrative path unlocked following conversation&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Narrative path unlocked following conversation&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There are multiple narrative paths for the player to take, and accompanying endings for each. The paths are also designed in a way where exploration is both important and rewarded. The player must talk to multiple vendors in order to follow any specific plot, with progressive dialgogue options displayed in red to communicate to the player that they are more than just small talk.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;market-img-3.png&quot; alt=&quot;An unlocked narrative option through previous conversations&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;An unlocked narrative option through previous conversations&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;If you are interested in experiencing this for yourself, the game can be played online for free on itch.io:&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Dungeon Looper</title>
        <published>2025-08-03T12:00:00+00:00</published>
        <updated>2025-08-03T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/dungeon-looper/"/>
        <id>https://jdmdev.co.uk/projects/dungeon-looper/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/dungeon-looper/">&lt;p&gt;&lt;strong&gt;[This is a solo project. All of the design and programming were created by myself, with art and music outsourced to pre-made assets and credited as appropriate]&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h1 style=&#x27;text-align: center;&#x27;&gt;Core Design&lt;&#x2F;h1&gt;
&lt;p&gt;The core design of Dungeon Looper revolves around a grid-based camera tool that I built myself. Going the extra mile for modularity, the tool can be added to any project and configured to a grid of any size. While the project itself was in Godot, I used a hybrid C# &#x2F; GDScript implementation for the camera. Although in the future, I will likely translate the tool into just one language.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;loop-img-1.gif&quot; alt=&quot;Demonstration of camera tool in a different project&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Demonstration of camera tool in a different project&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The player moves through four closed-loop rooms in a top-down perspective. In each room, a set of enemies spawn with a small chance that one of them becomes a health pickup instead. After the player completes a loop (returns to the bottom-left quadrant), the number of enemies spawning in each room increases, raising the difficulty. The player must complete as many loops as they can before dying.&lt;&#x2F;p&gt;
&lt;p&gt;Dungone Looper has a very strong core foundation with many avenues for future scaling. The most obvious features include a leaderboard for comparing results against other players, as well as variety to both enemies and player weapons. These latter two features were planned in the initial design and, while I knew the game jam did not provide enough time to implement them, I still created the infastructure in the code base necessary for such expansion.&lt;&#x2F;p&gt;
&lt;p&gt;I am interested in one day returning to this game to make improvements and expand the idea. But for now, you can play the original version on itch.io:&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Level Design in Planet Coaster 2</title>
        <published>2025-03-11T12:00:00+00:00</published>
        <updated>2025-03-11T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/pc2-design/"/>
        <id>https://jdmdev.co.uk/projects/pc2-design/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/pc2-design/">&lt;p&gt;Planet Coaster 2 is one of my facourite games of all time, taking over from my love of the original game. I had built many theme parks in the first Planet Coaster prior to the sequel&#x27;s release, and after some exploration with how the new entry takes everything further, I wanted to challenge myself.&lt;&#x2F;p&gt;
&lt;p&gt;Anyone can build a theme park in these games, but in order to design an authentic, effective and successful theme park in Planet Coaster 2, I had to think critically about pathways, ride placement, immersion and staff management. I can&#x27;t just go in and &quot;build on the fly&quot;, as that will (and has) led to messy, poorly optimized parks that don&#x27;t generate revenue and look ugly.&lt;&#x2F;p&gt;
&lt;p&gt;So I started with a sketch. I took a screenshot of a birds-eye view of the landscape, grabbed my tablet, and made digital sketches of area layouts and building designs. I thought carefully about how people move through spaces, how to balance theming with functionality, and how to cleverly incorporate the staff facilities while maintaining immersion.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;planet-img-1.png&quot; alt=&quot;top down view of landscape with sketch overlay&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Top down view of landscape with level sketch overlay&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Once I was happy with the concept, I moved back into the game, and started with building the pathways to act as a correctly scaled block-out of the area. With that in place, I added the rides; Adjusting designs as I went based on the in-game metrics to fine tune the results. Next I did the buildings and facilities, then finally the scenery and foliage.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;planet-img-2.png&quot; alt=&quot;Comparison of sketch against in-game realisation&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Comparison of sketch against in-game realisation&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;planet-img-3.png&quot; alt=&quot;Changing room facilities designed for optimum traffic flow and hidden staff zone&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Changing room facilities designed for optimum traffic flow and hidden staff zone&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;All of this resulted in an efficient, pofitable and good-looking theme park that looked genuinely believable. Guests move around the space effectively and always in the direction of an attraction. Behind-the-scene facilities are well placed and well hidden, allowing staff to do their jobs without breaking the immersion.&lt;&#x2F;p&gt;
&lt;p&gt;I even made a logo for the park:
&lt;img src=&quot;&#x2F;images&#x2F;planet-img-4.png&quot; alt=&quot;In-game fictional logo&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;In-game fictional logo&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;And with everything in place, here are some final images of the park:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;planet-img-5.png&quot; alt=&quot;A theme park completed through level design&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;planet-img-6.png&quot; alt=&quot;A theme park completed through level design&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;project-planet.png&quot; alt=&quot;A theme park completed through level design&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;A theme park completed through level design&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This process had been a lot of fun! It also showed me how ideas evolve through development, and how planning, iteration, and flexibility all shape the final outcome.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Clocking Out</title>
        <published>2025-02-23T12:00:00+00:00</published>
        <updated>2025-02-23T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/clocking-out/"/>
        <id>https://jdmdev.co.uk/projects/clocking-out/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/clocking-out/">&lt;h1 style=&#x27;text-align: center;&#x27;&gt;3D Programming&lt;&#x2F;h1&gt;
&lt;p&gt;I was one of three programmers on the team for Clocking Out. I was responsible for all the mechanics and functionality inside the 3D environment of the game, the most significant of these being the pixellated shader that gave the game its &#x27;indie horror&#x27; aesthetic. It was my first time exploring shaders and Godot&#x27;s shader language, and I was pretty happy with the result.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-1.gif&quot; alt=&quot;Early work on the pixellation shader and core functionality&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Early work on the pixellation shader and core functionality&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s a lot more nuance to the shader than just lowering the resolution – the image still had to remain clear and not negatively impact the visible experience. One of the issues of the early shader implementation was that objects more distant in the environment would have heavily reduced detail as a result of the pixellation and this removed the depth in the environment, creating a more flat and harder to navigate visual expereince. To resolve this, I added a dynamic outline that would appear as objects moved further away from the camera that kept them identifiable and retained the room&#x27;s depth.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;clocking-img-2.gif&quot; alt=&quot;Development on shader outline and lighting support&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Development on shader outline and lighting support&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Aside from the shader, I also created the &#x27;inventory&#x27; mechanic used for stacking the shelves and elements of the UI such as the crosshair that reacts when you&#x27;re able to interact with something. Outside of my programming duties, I assisted with designing and building the level environment in-editor – ensuring the atmosphere was engaging, immersive and functional to the game.&lt;&#x2F;p&gt;
&lt;p&gt;You can play the game for free on itch.io:&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Stand-Up Simulator</title>
        <published>2024-02-19T12:00:00+00:00</published>
        <updated>2024-02-19T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/projects/standup-simulator/"/>
        <id>https://jdmdev.co.uk/projects/standup-simulator/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/projects/standup-simulator/">&lt;h1 style=&#x27;text-align: center;&#x27;&gt;Gameplay Programming&lt;&#x2F;h1&gt;
&lt;p&gt;I was one of two programmers on this game, responsible for most of the gameplay aspects seen on the performance screen. This included the crowd reactions, performance feedback, score calculations and areas of polish such as the spotlight and sound effects.&lt;&#x2F;p&gt;
&lt;p&gt;My biggest achievement on this project was with the crowd reactions. The number of crowd members that would laugh, and the intensity that they would do so, was all variable and based on the success of the joke. Bad jokes had less audience members laughing, and more modestly, while perfect jokes had the whole crowd roaring.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;standup-img-1.gif&quot; alt=&quot;Different reactions for each joke&quot; &#x2F;&gt; &lt;p style=&#x27;text-align: center; color: gray;&#x27;&gt;Different reactions for each joke&lt;&#x2F;p&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This was my first ever project in C# and Untiy, which under game jam copnditions really challenged my skills. Nevertheless, I was able to adapt and learn as I went. Ultimately still being able to produce a modular, customisable system for the game!&lt;&#x2F;p&gt;
&lt;p&gt;You can play it for free on itch.io:&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>You&#x27;re not supposed to be here...</title>
        <published>2018-11-05T15:01:35+00:00</published>
        <updated>2018-11-05T15:01:35+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/posts/youre-not-supposed-to-be-here/"/>
        <id>https://jdmdev.co.uk/posts/youre-not-supposed-to-be-here/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/posts/youre-not-supposed-to-be-here/">&lt;p&gt;This &#x27;blog&#x27; is currently not in use. I just keep it around for potential future plans. If you have found a way here via the active part of the website, please message me so I can fix that, and I aplologise for the inconvenience.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Elements</title>
        <published>2017-11-05T15:01:35+00:00</published>
        <updated>2017-11-05T15:01:35+00:00</updated>
        
        <author>
          <name>
            
              Joe McDonnell
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jdmdev.co.uk/elements/"/>
        <id>https://jdmdev.co.uk/elements/</id>
        
        <content type="html" xml:base="https://jdmdev.co.uk/elements/"></content>
        
    </entry>
</feed>
