<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Rory Dungan]]></title><description><![CDATA[Sydney based programmer]]></description><link>https://www.rorydungan.com/</link><image><url>https://www.rorydungan.com/favicon.png</url><title>Rory Dungan</title><link>https://www.rorydungan.com/</link></image><generator>Ghost 1.25</generator><lastBuildDate>Tue, 10 Mar 2026 17:02:00 GMT</lastBuildDate><atom:link href="https://www.rorydungan.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Sydney Global Game Jam 2020]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Mend your relationship with a long-lost friend via text! Made in slightly less than 48 hours for the 2020 edition of Global Game Jam with a team of 4: myself, another programmer, an artist/writer and a producer/musician.</p>
<p>Built in React. <a href="https://rorydungan.github.io/global-game-jam-2020/">Play it online here!</a></p>
</div>]]></description><link>https://www.rorydungan.com/sydney-global-game-jam-2020/</link><guid isPermaLink="false">5e65efe81975ae04e090c7d5</guid><category><![CDATA[Open Source]]></category><category><![CDATA[Game Jam]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Mon, 09 Mar 2020 07:31:41 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2020/03/Screenshot_2020-03-09-Friendship-for-Dummies-1.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2020/03/Screenshot_2020-03-09-Friendship-for-Dummies-1.png" alt="Sydney Global Game Jam 2020"><p>Mend your relationship with a long-lost friend via text! Made in slightly less than 48 hours for the 2020 edition of Global Game Jam with a team of 4: myself, another programmer, an artist/writer and a producer/musician.</p>
<p>Built in React. <a href="https://rorydungan.github.io/global-game-jam-2020/">Play it online here!</a></p>
</div>]]></content:encoded></item><item><title><![CDATA[Music Fandom Map]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Inspired by a New York Times article, <a href="https://www.nytimes.com/interactive/2017/08/07/upshot/music-fandom-maps.html" target="_blank">What Music Do Americans Love the Most?</a>, I decided to make a little app that would collate data on the most popular artists from around the world.</p>
<p>The app collects data from the top 200 songs in each country Spotify is availble in,</p></div>]]></description><link>https://www.rorydungan.com/music-fandom-map/</link><guid isPermaLink="false">5a8999047928ae04d26113a0</guid><category><![CDATA[Open Source]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Sun, 18 Feb 2018 01:37:00 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2018/02/Screen-Shot-2018-02-19-at-1.15.35-am-1.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2018/02/Screen-Shot-2018-02-19-at-1.15.35-am-1.png" alt="Music Fandom Map"><p>Inspired by a New York Times article, <a href="https://www.nytimes.com/interactive/2017/08/07/upshot/music-fandom-maps.html" target="_blank">What Music Do Americans Love the Most?</a>, I decided to make a little app that would collate data on the most popular artists from around the world.</p>
<p>The app collects data from the top 200 songs in each country Spotify is availble in, and works out artist streams per country as a fraction of the total number of streams of the top 200 songs for that country. I also did the project as an oppurtunity to become more familiar with Haskell, which I used for the data analysis and the web backend. The frontend was written in TypeScript with Angular.</p>
<p><a href="https://musicmap.rorydungan.com">Check it out for yourself!</a> The full source is also availble <a href="https://github.com/RoryDungan/music-fandom-map" target="_blank">on GitHub</a>.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Bees Won't Exist]]></title><description><![CDATA[<div class="kg-card-markdown"><p>GIANT BEES HAVE DECIMATED HUMANITY! Every day, the low buzz of death approaches further. Can you hear it? Don’t worry! It’s time for some pest control. Grab your sword. I’ll meet you by the hive!</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/hnVscZwd6nI?rel=0" frameborder="0" allowfullscreen></iframe><br>
<p><em>Bees Won't Exist</em> is a fast-paced hack 'n' slash adventure game, made</p></div>]]></description><link>https://www.rorydungan.com/bees-wont-exist/</link><guid isPermaLink="false">59c8f9ecbb16e649e5374c63</guid><category><![CDATA[Unity]]></category><category><![CDATA[C#]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Wed, 27 Sep 2017 10:58:00 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/gEB4P5D.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/gEB4P5D.png" alt="Bees Won't Exist"><p>GIANT BEES HAVE DECIMATED HUMANITY! Every day, the low buzz of death approaches further. Can you hear it? Don’t worry! It’s time for some pest control. Grab your sword. I’ll meet you by the hive!</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/hnVscZwd6nI?rel=0" frameborder="0" allowfullscreen></iframe><br>
<p><em>Bees Won't Exist</em> is a fast-paced hack 'n' slash adventure game, made as my final year project at QUT. I made it as lead programmer in a team with four others - one designer, an artist, a programmer/producer and a programer/composer/sound designer. The game was made with Unity 5.4, and we spent a lot of time on custom tech. This ranged from bespoke shaders to achieve a unique look to internal tools like the <a href="https://www.rorydungan.com/unity-hex-tile-editor/">hex tile editor</a>.</p>
<p>Check out <a href="https://www.what-could-possibly-go-wrong.com/bees-wont-exist/" target="_blank">my guest post</a> on <em>What Could Possibly Go Wrong?</em> for a much more in-depth retrospective on the development process and some of the other tech we used!</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/2naLoK6.png" alt="Bees Won't Exist"></p>
<p>It was an intense project but the work paid off as we were one of 5 student teams in Australia to make it into the <a href="https://gcap.com.au/gcap-2016-student-showcase-winners/" target="_blank">GCAP Student Showcase</a>.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/pYlBkhF.png" alt="Bees Won't Exist"></p>
<p>Download the game free for Windows, Mac or Linux on <a href="https://gamejolt.com/games/bees-won-t-exist/194883" target="_blank">GameJolt</a> or <a href="https://www.indiedb.com/games/bees-wont-exist" target="_blank">IndieDB</a>.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Unity Hex Tile Editor]]></title><description><![CDATA[<div class="kg-card-markdown"><p>A hex-based tile editor for Unity. Built for <a href="https://www.rorydungan.com/bees-wont-exist/">Bees Won't Exist</a>.</p>
<iframe width="720" height="405" src="https://www.youtube.com/embed/?listType=playlist&list=PLvydZeK3xG9hFWaunAdrvl7W_ExOquTcA&rel=0" frameborder="0" allowfullscreen></iframe><br>
<p>During development of <a href="https://www.rorydungan.com/bees-wont-exist/">Bees Won't Exist</a> it became clear we had a lot of environments to make, and modelling them by hand would take a huge amount of time. Our lead artist, David Upcher, had made a prototype model</p></div>]]></description><link>https://www.rorydungan.com/unity-hex-tile-editor/</link><guid isPermaLink="false">59c8adcbbb16e649e5374c56</guid><category><![CDATA[Unity]]></category><category><![CDATA[C#]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Editor extension]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Tue, 26 Sep 2017 07:36:00 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/Hex-tiles.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/Hex-tiles.png" alt="Unity Hex Tile Editor"><p>A hex-based tile editor for Unity. Built for <a href="https://www.rorydungan.com/bees-wont-exist/">Bees Won't Exist</a>.</p>
<iframe width="720" height="405" src="https://www.youtube.com/embed/?listType=playlist&list=PLvydZeK3xG9hFWaunAdrvl7W_ExOquTcA&rel=0" frameborder="0" allowfullscreen></iframe><br>
<p>During development of <a href="https://www.rorydungan.com/bees-wont-exist/">Bees Won't Exist</a> it became clear we had a lot of environments to make, and modelling them by hand would take a huge amount of time. Our lead artist, David Upcher, had made a prototype model of a level made entirely from extruded hexagons which fit the setting of a giant beehive perfectly, but modelling it manually in Maya was still a very laborious task for a small section and performance wasn't great.</p>
<p>Eventually I decided to work with him to create a tool to help quickly make optimised meshes for levels in that format, and it paid off in spades in art time saved.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/687474703a2f2f692e696d6775722e636f6d2f674542345035442e706e67.png" alt="Unity Hex Tile Editor"></p>
<p>The initial version of the tool spawned each tile as a separate mesh, with side pieces automatically snapped to the adjacent tiles and UV coordinates relative to the whole map to support looping textures. This ended up causing a performance bottleneck though because, even though all tiles used the same material and could use Unity’s built-in static batching, the sheer number of objects in larger levels meant that the batching process was taking up a lot of CPU time. Combining all tiles into a single mesh also caused issues with overdraw, so eventually we worked out a middle-ground where tiles are grouped into chunk objects. The chunks are split up per material so can still be batched and drawn in a single draw call per material, but are also small enough that most can be culled when not within the view frustum.</p>
<p>Check out the <a href="https://github.com/RoryDungan/HexTiles" target="_blank">source on GitHub</a>.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Fluent-State-Machine]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Made at Real Serious Games, this open-source C# library provides a simple interface for setting up <a href="http://aigamedev.com/open/article/hfsm-gist/" target="_blank">hierarchical finite state machines</a>. These kind of state machines are widely used in games for controling things like AI behaviour or player state.</p>
<p>The library is fully unit tested and was designed to be</p></div>]]></description><link>https://www.rorydungan.com/fluent-state-machine/</link><guid isPermaLink="false">59ca2a44bb16e649e5374c6a</guid><category><![CDATA[C#]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Library]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Tue, 26 Sep 2017 00:29:00 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/design-states.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/design-states.png" alt="Fluent-State-Machine"><p>Made at Real Serious Games, this open-source C# library provides a simple interface for setting up <a href="http://aigamedev.com/open/article/hfsm-gist/" target="_blank">hierarchical finite state machines</a>. These kind of state machines are widely used in games for controling things like AI behaviour or player state.</p>
<p>The library is fully unit tested and was designed to be used in Unity, although it is a pure C# library and has no dependency on Unity. State machines keep track of a current <em>state</em>, which defines a behaviour to be called when the state machine is updated. States can be pushed and popped on top of each other, respond to events, and perform special actions when they are activated and deactivated.</p>
<p>Check out the source on <a href="https://github.com/Real-Serious-Games/Fluent-State-Machine" target="_blank">GitHub</a>.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Barcelona Global Game Jam 2017]]></title><description><![CDATA[<div class="kg-card-markdown"><p>In January 2017 I went on holiday to Barcelona. Armed with only my laptop (and after finding myself alone with lots of free time) I decided to join a 48 hour game jam that happened to be on near where I was staying.</p>
<p>I found a programmer, audio engineer/musician</p></div>]]></description><link>https://www.rorydungan.com/barcelona-global-game-jam/</link><guid isPermaLink="false">59c8f7bbbb16e649e5374c5e</guid><category><![CDATA[Unity]]></category><category><![CDATA[C#]]></category><category><![CDATA[Game Jam]]></category><category><![CDATA[2D]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Mon, 25 Sep 2017 12:42:16 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/Screen-Shot-2017-01-22-at-2.22.12-pm.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/Screen-Shot-2017-01-22-at-2.22.12-pm.png" alt="Barcelona Global Game Jam 2017"><p>In January 2017 I went on holiday to Barcelona. Armed with only my laptop (and after finding myself alone with lots of free time) I decided to join a 48 hour game jam that happened to be on near where I was staying.</p>
<p>I found a programmer, audio engineer/musician and an artist, and we banded together for the weekend to hack together a 2D space shooter.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PZgKrfJLPxA?rel=0" frameborder="0" allowfullscreen></iframe><br>
<p>Considering I didn't know anyone before the jam and only spoke basic Spanish, the project went really well. It turned out to be probably the most polished game jam project I have made to-date.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/Screen-Shot-2017-01-22-at-2.26.58-pm.png" alt="Barcelona Global Game Jam 2017"></p>
</div>]]></content:encoded></item><item><title><![CDATA[For The Bird God (2015 game jam)]]></title><description><![CDATA[<div class="kg-card-markdown"><p>In a world ruled by a vengeful swallow god, it's up to you to find items to sacrifice to your deity while the world crumbles around you.</p>
<p>Made for the 2015 Brisbane 48 hour game jam.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/39585279-0eb9-4501-acb1-f4b8ea8cb97d_Screen_Shot_2016_11_09_at_11.59.19_pm__2_.png" alt="39585279-0eb9-4501-acb1-f4b8ea8cb97d_Screen_Shot_2016_11_09_at_11.59.19_pm__2_"></p>
</div>]]></description><link>https://www.rorydungan.com/for-the-bird-god/</link><guid isPermaLink="false">59c8ab76bb16e649e5374c4f</guid><category><![CDATA[Unity]]></category><category><![CDATA[C#]]></category><category><![CDATA[2D]]></category><category><![CDATA[Game Jam]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Mon, 25 Sep 2017 07:17:07 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/080d4fa9-230c-4902-8af4-3f8e780935a9_Screen_Shot_2016_11_10_at_12.14.23_am.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/080d4fa9-230c-4902-8af4-3f8e780935a9_Screen_Shot_2016_11_10_at_12.14.23_am.png" alt="For The Bird God (2015 game jam)"><p>In a world ruled by a vengeful swallow god, it's up to you to find items to sacrifice to your deity while the world crumbles around you.</p>
<p>Made for the 2015 Brisbane 48 hour game jam.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/39585279-0eb9-4501-acb1-f4b8ea8cb97d_Screen_Shot_2016_11_09_at_11.59.19_pm__2_.png" alt="For The Bird God (2015 game jam)"></p>
</div>]]></content:encoded></item><item><title><![CDATA[Winter Maw]]></title><description><![CDATA[<div class="kg-card-markdown"><p>A first person survival horror/runner game in a glacial setting. Developed for PC (Windows, Mac and Linux) using Unity. For this project I worked as one of two programmers (using C#), alongside an artist/designer, sound designer, writer and publicist.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PBlO6gZGygE?rel=0" frameborder="0" allowfullscreen></iframe><br>
<p>Winter Maw was the first full game project I</p></div>]]></description><link>https://www.rorydungan.com/winter-maw/</link><guid isPermaLink="false">59c740a3bb16e649e5374c46</guid><category><![CDATA[Unity]]></category><category><![CDATA[C#]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Sun, 24 Sep 2017 05:24:32 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/winter_maw.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/winter_maw.jpg" alt="Winter Maw"><p>A first person survival horror/runner game in a glacial setting. Developed for PC (Windows, Mac and Linux) using Unity. For this project I worked as one of two programmers (using C#), alongside an artist/designer, sound designer, writer and publicist.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PBlO6gZGygE?rel=0" frameborder="0" allowfullscreen></iframe><br>
<p>Winter Maw was the first full game project I worked on. Our team released it on Desura in January 2015, a year before I started work on my final uni project, <a href="https://www.rorydungan.com/bees-wont-exist">Bees Won't Exist</a></p>
<p><a href="http://www.desura.com/games/winter-maw" target="_blank">View on Desura</a> and download for Windows, Mac or Linux.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/7.2.jpg" alt="Winter Maw"></p>
</div>]]></content:encoded></item><item><title><![CDATA[Gaiascape]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Gaiascape is a program that gives artists and designers the ability to quickly and easily generate terrains and landscapes.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/Gaiascape-2013-02-06_15.59.06.png" alt="Gaiascape-2013-02-06_15.59.06"></p>
<p>Originally designed to showcase the terrain generation algorithm for a separate game project, Gaiascape provides an easy to use interface for proceduraly generating random landscapes according to set parameters and modelling</p></div>]]></description><link>https://www.rorydungan.com/gaiascape/</link><guid isPermaLink="false">59c656d7bb16e649e5374c3d</guid><category><![CDATA[C++]]></category><category><![CDATA[Qt]]></category><category><![CDATA[Ogre3d]]></category><category><![CDATA[Open Source]]></category><dc:creator><![CDATA[Rory Dungan]]></dc:creator><pubDate>Wed, 20 Sep 2017 12:55:00 GMT</pubDate><media:content url="https://www.rorydungan.com/content/images/2017/09/Gaiascape.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://www.rorydungan.com/content/images/2017/09/Gaiascape.png" alt="Gaiascape"><p>Gaiascape is a program that gives artists and designers the ability to quickly and easily generate terrains and landscapes.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/Gaiascape-2013-02-06_15.59.06.png" alt="Gaiascape"></p>
<p>Originally designed to showcase the terrain generation algorithm for a separate game project, Gaiascape provides an easy to use interface for proceduraly generating random landscapes according to set parameters and modelling existing terrain manually.</p>
<p>Along with assistance from Dylan Ford (terrain algorithms), Daniel Docherty (textures) and Daniel Galbraith (3d modelling), Gaiascape was written throughout April - June 2012, the final year of our high school. We also entered it in the annual <a href="https://www.youngictexplorers.net.au/" target="_blank">Young ICT Explorers</a> competition and were awarded <a href="https://www.youngictexplorers.net.au/past-winners/nsw-winners-2012/" target="_blank">2nd place in our age catagory</a>.</p>
<p>The program was written in pure C++, using  <a href="https://www.qt.io/" target="_blank">Qt</a> for the GUI and <a href="https://www.ogre3d.org/" target="_blank">Ogre 3D</a> for rendering the 3d scene.</p>
<p><a href="https://github.com/RoryDungan/Gaiascape/releases" target="_blank">Download (Windows installer)</a><br>
Check out the source code on <a href="https://github.com/RoryDungan/Gaiascape/" target="_blank">GitHub</a>.</p>
<p><img src="https://www.rorydungan.com/content/images/2017/09/Heightmap-2013-02-06_15.59.34.png" alt="Gaiascape"></p>
</div>]]></content:encoded></item></channel></rss>