<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog of Anders Nissen</title>
    <description>Rambling of a spare-time indie game dev.</description>
    <link>http://andersnissen.com/blog/</link>
    <atom:link href="http://andersnissen.com/blog/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>&lt;i&gt;Topics to Revisit:&lt;/i&gt;&lt;br/&gt;Procedural Generation</title>
        <description>&lt;p&gt;Procedural generation is a very broad topic, ranging from generating everything from levels, graphics, quests, music and more. Games like &lt;em&gt;Spore&lt;/em&gt; and &lt;em&gt;No Man’s Sky&lt;/em&gt; and the demo scene take these concepts to extremes in spetacular fashion.&lt;/p&gt;

&lt;h3 id=&quot;resources&quot;&gt;Resources&lt;/h3&gt;

&lt;p&gt;A gentle introduction to procedural generation is &lt;a href=&quot;http://procworld.blogspot.dk/2014/11/cantor-city.html&quot;&gt;cantor city&lt;/a&gt; (see below) that makes a very simple cityscape.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://2.bp.blogspot.com/-4DXBmMcQ7kE/VGfaKyPjzII/AAAAAAAAHJU/xIgDhW_ihFo/s1600/GrammarPreview%2B2014-11-14%2B17-05-42-77.gif&quot; alt=&quot;desk&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For a more detailed, academic, coverage of various topics in procedural generation see Ian Parberry awesome &lt;a href=&quot;http://larc.unt.edu/ian/research/content/&quot;&gt;Procedural Content Generation&lt;/a&gt; resources page.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Lennas Inception&lt;/em&gt;, a game that draws inspiration from &lt;em&gt;Zelda&lt;/em&gt; and &lt;em&gt;The Binding of Isaac&lt;/em&gt;, has a lot of &lt;a href=&quot;http://bytten-studio.com/devlog//tags.html#proceduralgeneration-ref&quot;&gt;good resources&lt;/a&gt; about practical procedurally generating 2D levels.&lt;/p&gt;

&lt;p&gt;Much procedural content starts from simple noise functions. The always inspiring &lt;a href=&quot;http://www.redblobgames.com&quot;&gt;Red Blob Games&lt;/a&gt; has a &lt;a href=&quot;http://www.redblobgames.com/articles/noise/introduction.html&quot;&gt;good introductory article&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://www.redblobgames.com/articles/noise/2d/&quot;&gt;demonstration&lt;/a&gt; of noise generation.&lt;/p&gt;

&lt;p&gt;There’s a great talk from GDC 2015 entitled &lt;a href=&quot;http://www.gdcvault.com/play/1022134/Making-Things-Up-The-Power&quot;&gt;Making Things Up: The Power and Peril of PCG&lt;/a&gt; that gives a broad overview of procedural generation and where it can be applied. On of the resources that is mentioned in the talk is the &lt;a href=&quot;http://pcgbook.com/&quot;&gt;Procedural Content Generation in Games&lt;/a&gt; book, which can be read freely online. Another good resource is the &lt;a href=&quot;http://pcg.wikidot.com/&quot;&gt;Procedural Content Generation Wiki&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;my-work&quot;&gt;My work&lt;/h3&gt;

&lt;p&gt;I have made an implementation of &lt;a href=&quot;http://en.wikipedia.org/wiki/Perlin_noise&quot;&gt;Perlin Noise&lt;/a&gt; in Haxe. It can be run from &lt;a href=&quot;http://try.haxe.org/#f1cc2&quot;&gt;here&lt;/a&gt;, which will produce the following 2D noise:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/blog/images/gamedev_topics/hx_noise.png&quot; alt=&quot;perlin noise&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The code is also &lt;a href=&quot;https://gist.github.com/anissen/fae4fa40a41e08430ae2&quot;&gt;available as a gist&lt;/a&gt;:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/fae4fa40a41e08430ae2.js&quot;&gt; &lt;/script&gt;

&lt;h3 id=&quot;ideas-for-revisiting&quot;&gt;Ideas for revisiting&lt;/h3&gt;

&lt;p&gt;Use procedural generation for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Auto-generating quests and story&lt;/li&gt;
  &lt;li&gt;Creating a dynamic soundtrack that reacts to in-game events&lt;/li&gt;
  &lt;li&gt;Using text-to-speech (e.g. the Web Audio Speech Synthesis API) to create speech dynamically&lt;/li&gt;
  &lt;li&gt;Boost replayability by generating levels and terrain&lt;/li&gt;
  &lt;li&gt;Create new enemies and encounters from a database of prototypes&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Thu, 07 May 2015 21:00:00 +0000</pubDate>
        <link>http://andersnissen.com/blog/2015/05/07/topics-to-revisit-procedural-generation/</link>
        <guid isPermaLink="true">http://andersnissen.com/blog/2015/05/07/topics-to-revisit-procedural-generation/</guid>
      </item>
    
      <item>
        <title>&lt;i&gt;Series:&lt;/i&gt;&lt;br/&gt;Awesome Game Dev. Topics to Revisit</title>
        <description>&lt;p&gt;Game development has an incredible range of interesting topics to be facinated by. The diversity of concepts and algorithms that can be applied to game development is one of my main interests.&lt;/p&gt;

&lt;p&gt;This series will highlight some awesome topics that I’ve experimented with but would love to revisit. The following unordered list are some of topics that I would like to cover in this series.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Topics:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/blog/2015/05/07/topics-to-revisit-procedural-generation/&quot;&gt;Procedural Generation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Shaders&lt;/li&gt;
  &lt;li&gt;Steering/flocking&lt;/li&gt;
  &lt;li&gt;Behavior trees&lt;/li&gt;
  &lt;li&gt;Story/atmospheric&lt;/li&gt;
  &lt;li&gt;Cinematic scripting&lt;/li&gt;
  &lt;li&gt;“Raw” 3D&lt;/li&gt;
  &lt;li&gt;Language parsing&lt;/li&gt;
  &lt;li&gt;Ray tracing&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 07 May 2015 20:00:00 +0000</pubDate>
        <link>http://andersnissen.com/blog/2015/05/07/awesome-game-dev-topics-to-revisit/</link>
        <guid isPermaLink="true">http://andersnissen.com/blog/2015/05/07/awesome-game-dev-topics-to-revisit/</guid>
      </item>
    
      <item>
        <title>Made a Blog, Why?</title>
        <description>&lt;p&gt;Welcome to my brand new work-in-progress blog! This post will outline my thoughts behind creating a blog and what purpose it will serve. &lt;em&gt;Spoiler: It’s all about fun and games.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/blog/images/134_nP51DVC.gif&quot; alt=&quot;celebration&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I used to have a &lt;a href=&quot;http://andersnissen.blogspot.dk/&quot;&gt;blog back in 2004-2007&lt;/a&gt;. It has gathered a lot of dust since 2007 and now here’s a new blog. So why create a new blog?&lt;/p&gt;

&lt;h3 id=&quot;why-create-a-blog&quot;&gt;Why create a blog&lt;/h3&gt;

&lt;p&gt;In short, I have the following reasons for creating this blog:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;I’m planning on doing a development log (&lt;em&gt;devlog&lt;/em&gt;) on my next game. For this, I need to get into the habit of sharing my thoughts, development process and, especially, progress – however minute.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I’ve had a programming language epiphany. It’s called &lt;a href=&quot;http://haxe.org&quot;&gt;Haxe&lt;/a&gt; and it’s pretty great. I won’t be forcing it down your throat but there’ll be a lot of Haxe snippets strewn around in my posts.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Switching to Haxe for game development had a major positive effect I didn’t quite expect. Prior to using Haxe my primary programming language for game development was JavaScript. With JavaScript I spend &lt;em&gt;a lot&lt;/em&gt; of my time fighting with the language, the tools and the libraries. When I switched to Haxe &lt;em&gt;everything just worked&lt;/em&gt;! Several times I found myself genuinely surprised that everything worked so smoothly. I could start focusing complete on the programming tasks at hand and that increased my enjoyment manyfold.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I’m actually quite fond of writing and haven’t had any proper reason for writing, that is, outside of writing code.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;All the cool kids are doing it.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, there it is. The general purpose of my blog. I hope to be sharing some interesting things here.&lt;/p&gt;
</description>
        <pubDate>Tue, 03 Mar 2015 21:00:00 +0000</pubDate>
        <link>http://andersnissen.com/blog/2015/03/03/made-a-blog/</link>
        <guid isPermaLink="true">http://andersnissen.com/blog/2015/03/03/made-a-blog/</guid>
      </item>
    
  </channel>
</rss>
