<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Gamedev on Steven&#39;s blog</title>
    <link>https://landow.dev/tags/gamedev/</link>
    <description>Recent content in Gamedev on Steven&#39;s blog</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>en</language>
    <lastBuildDate>Wed, 13 Sep 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://landow.dev/tags/gamedev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>3D Autotiling pt. 1: Basic WFC</title>
      <link>https://landow.dev/posts/wfc-01-basic-wfc/</link>
      <pubDate>Wed, 13 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://landow.dev/posts/wfc-01-basic-wfc/</guid>
      <description>&lt;video style=&#34;width: 100%&#34;, src=&#34;02-basic-wfc/generate.webm&#34; autoplay muted loop&gt;&lt;/video&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I don&amp;rsquo;t think I would have become interested in shooters if it weren&amp;rsquo;t for Halo
3&amp;rsquo;s forge mode. I probably logged 1000 hours in Minecraft when I was a kid (and
learned Java because of it!). Games that let you make stuff are the best. Making
games is even better. After a few years focusing on my career in network programming
I decided to revisit games, this time looking at 3D.&lt;/p&gt;</description>
    </item>
    <item>
      <title>3D Autotiling pt. 2: Expanding and Optimizing</title>
      <link>https://landow.dev/posts/wfc-02-advanced-wfc/</link>
      <pubDate>Wed, 13 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://landow.dev/posts/wfc-02-advanced-wfc/</guid>
      <description>&lt;video style=&#34;width: 100%&#34;, src=&#34;demo.webm&#34; autoplay muted loop&gt;&lt;/video&gt;

&lt;p&gt;In the last post we were able to randomly generate &amp;ldquo;correct&amp;rdquo; looking 3D
shapes. However, my goal was something that a user or game developer
could create levels with. Let&amp;rsquo;s look at our requirements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The user should have direct control of the generation. &lt;a href=&#34;https://www.boristhebrave.com/2021/06/06/driven-wavefunctioncollapse/&#34;&gt;BorisTheBrave
describes&lt;/a&gt;
calls this &amp;ldquo;Driven WFC&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;We need a lot of tiles. That would take a lot of time to model for a game developer.
This isn&amp;rsquo;t totally avoidable, but we can optimize our workflow.&lt;/li&gt;
&lt;li&gt;If the user is going to interact with this, the algorithm for solving the generation
needs to be fast. Our naive implementation needs a major upgrade.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;driving-wfc&#34;&gt;Driving WFC&lt;/h2&gt;
&lt;h3 id=&#34;initial-constraint&#34;&gt;Initial Constraint&lt;/h3&gt;
&lt;p&gt;Our method of &amp;ldquo;driving&amp;rdquo; WFC will be specifying which cells aren&amp;rsquo;t empty
as an initial contraint.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Faking Buoyancy</title>
      <link>https://landow.dev/posts/buoyancy/</link>
      <pubDate>Tue, 04 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://landow.dev/posts/buoyancy/</guid>
      <description>&lt;video style=&#34;width: 100%&#34;, src=&#34;demo.webm&#34; autoplay muted loop&gt;&lt;/video&gt;

&lt;p&gt;During the intro to a game I (perodically) work on, the player starts on a
pirate ship. Realistic water doesn&amp;rsquo;t fit the style, and scroling textures on a
big plane looked pretty boring. To make things a bit angrier I needed intense
waves, and I needed those waved to actually affect the world.&lt;/p&gt;
&lt;h2 id=&#34;waves&#34;&gt;Waves&lt;/h2&gt;
&lt;p&gt;To keep it simple, I just did procedural heightmap; i.e. set the vertical
coorinate to be a function of the horizontal position and time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Non-Destructive Terrain Editor</title>
      <link>https://landow.dev/posts/terrain/</link>
      <pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://landow.dev/posts/terrain/</guid>
      <description>&lt;p&gt;I am not a good artist. One of the reason 3D is a bit more
attractive to me is that I can usually build something rather
than draw it or sculpt it. Digital art gives you an &amp;ldquo;undo&amp;rdquo;
button, but being able to undo or redo things out of order makes
it even easier to experiment.&lt;/p&gt;
&lt;p&gt;Most of the terrain tools out there have a destructive workflow. Using various
brushes, you write directly to a heightmap. Including the concept of &amp;ldquo;layers&amp;rdquo;
can help here, but I want something closer to modeling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Triplanar with Deep Parallax in Godot</title>
      <link>https://landow.dev/posts/triplanar/</link>
      <pubDate>Fri, 23 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://landow.dev/posts/triplanar/</guid>
      <description>&lt;p&gt;Triplanar mapping is already expensive, and multiplying that by the samples for
paralax occlusion mapping is probably a bad idea. It was fun to implement this
anyway, even if I don&amp;rsquo;t use it in a game.&lt;/p&gt;
&lt;p&gt;In my current WFC prototypes, I&amp;rsquo;m re-using models and rotating them. At some
point I&amp;rsquo;ll need to handle also transforming the UVs based on the rotation of
the tiles&amp;rsquo; models, but for now triplanar mapping is a quick way to get an idea
of how things might look.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
