<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ai &amp;mdash; Lucas Haley</title>
    <link>https://www.lucashaley.com/tag:ai</link>
    <description>Just a personal website.</description>
    <pubDate>Wed, 06 May 2026 12:24:25 +0000</pubDate>
    <image>
      <url>https://i.snap.as/ZE2GBGXr.ico</url>
      <title>ai &amp;mdash; Lucas Haley</title>
      <link>https://www.lucashaley.com/tag:ai</link>
    </image>
    <item>
      <title>Turf, Redux 1</title>
      <link>https://www.lucashaley.com/turf-redux-1?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Turf splash&#xA;&#xA;Revisiting old ideas with new tech&#xA;###### #programming #gamedevelopment #ai&#xA;&#xA;In which we breathe new life into old ideas, with some friendly help.&#xA;&#xA;!--more--&#xA;&#xA;I had an idea.&#xA;&#xA;You can read about it here and here and here.&#xA;&#xA;The tech stack I was working with had some limitations. I started with RubyMotion (because I :heart: Ruby, and it compiles cross-platform) with a Firebase realtime backend (because I wanted pubsub stuff in a database). The problems were that:&#xA;&#xA;any system-based stuff (location, etc.) had to be plugged into RubyMotion, which had mixed success&#xA;the data had to be no-sql, and I was getting the heebies from that&#xA;any server-side logic (for gameplay, and especially for Voronoi calculations) had to be in Javascript, which was a major let-down&#xA;&#xA;So, while I got a working prototype from it, I was reaching the limit of my patience working with that stack.&#xA;&#xA;The first weak point I wanted to eliminate was Firebase. While it&#39;s still a pretty cool tool, the second I poked around in Supabase I was sold. We&#39;re talking:&#xA;&#xA;normalized SQL, ahhhh relief&#xA;really solid pubsub&#xA;and the most best discovery, PostGIS with built-in Voronoi.&#xA;&#xA;As a service, I couldn&#39;t really ask for more for this project.&#xA;&#xA;However, recently at work we&#39;ve been doing a lot of research into AI tools. Claude proved itself quite useful, and in my efforts to understand it&#39;s limitations better, I thought I would put it through a personal project in the holiday off-time.&#xA;&#xA;Well, color me impressed.&#xA;&#xA;After an initial stumbling period (the XCode project still isn&#39;t set up properly, but heck if I&#39;m touching it now), things came together quite quickly. It knows how to make iOS apps. It knows Supabase (at least the 2024 version of Supabase, which is close enough). I was able to recreate the months of work using the original stack in about 20 hours.&#xA;&#xA;So now I&#39;ve had some opportunities to playtest, but really need more. But that&#39;s an issue for another post.&#xA;&#xA;Screenshots&#xA;&#xA;Turf main menu&#xA;Turf game options&#xA;Turf waiting room&#xA;Turf class selection&#xA;Turf class definitions&#xA;Turf in-game]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/zBM0SBA0.png" alt="Turf splash"/></p>

<h5 id="revisiting-old-ideas-with-new-tech" id="revisiting-old-ideas-with-new-tech">Revisiting old ideas with new tech</h5>

<h6 id="programming-gamedevelopment-ai" id="programming-gamedevelopment-ai"><a href="https://www.lucashaley.com/tag:programming" class="hashtag"><span>#</span><span class="p-category">programming</span></a> <a href="https://www.lucashaley.com/tag:gamedevelopment" class="hashtag"><span>#</span><span class="p-category">gamedevelopment</span></a> <a href="https://www.lucashaley.com/tag:ai" class="hashtag"><span>#</span><span class="p-category">ai</span></a></h6>

<p>In which we breathe new life into old ideas, with some friendly help.</p>



<p>I had an idea.</p>

<p>You can read about it <a href="https://write.as/lucas-haley/turf-moving-around">here</a> and <a href="https://write.as/lucas-haley/turf-classes-and-accessibility">here</a> and <a href="https://write.as/lucas-haley/turf">here</a>.</p>

<p>The tech stack I was working with had some limitations. I started with <a href="http://www.rubymotion.com/">RubyMotion</a> (because I :heart: Ruby, and it compiles cross-platform) with a Firebase realtime backend (because I wanted pubsub stuff in a database). The problems were that:</p>
<ul><li>any system-based stuff (location, etc.) had to be plugged into RubyMotion, which had mixed success</li>
<li>the data had to be no-sql, and I was getting the heebies from that</li>
<li>any server-side logic (for gameplay, and especially for Voronoi calculations) had to be in Javascript, which was a major let-down</li></ul>

<p>So, while I got a working prototype from it, I was reaching the limit of my patience working with that stack.</p>

<p>The first weak point I wanted to eliminate was Firebase. While it&#39;s still a pretty cool tool, the second I poked around in <a href="www.supabase.com">Supabase</a> I was sold. We&#39;re talking:</p>
<ul><li>normalized SQL, ahhhh relief</li>
<li>really solid pubsub</li>
<li>and the most best discovery, PostGIS with built-in Voronoi.</li></ul>

<p>As a service, I couldn&#39;t really ask for more for this project.</p>

<p>However, recently at work we&#39;ve been doing a lot of research into AI tools. Claude proved itself quite useful, and in my efforts to understand it&#39;s limitations better, I thought I would put it through a personal project in the holiday off-time.</p>

<p>Well, color me impressed.</p>

<p>After an initial stumbling period (the XCode project still isn&#39;t set up properly, but heck if I&#39;m touching it now), things came together quite quickly. It knows how to make iOS apps. It knows Supabase (at least the 2024 version of Supabase, which is close enough). I was able to recreate the months of work using the original stack in about 20 hours.</p>

<p>So now I&#39;ve had some opportunities to playtest, but really need more. But that&#39;s an issue for another post.</p>

<h3 id="screenshots" id="screenshots">Screenshots</h3>

<p><img src="https://i.snap.as/w91pv96U.png" alt="Turf main menu"/>
<img src="https://i.snap.as/oVSu2MD8.png" alt="Turf game options"/>
<img src="https://i.snap.as/buocDVib.png" alt="Turf waiting room"/>
<img src="https://i.snap.as/QQPTmFhV.png" alt="Turf class selection"/>
<img src="https://i.snap.as/4hn8SmVe.png" alt="Turf class definitions"/>
<img src="https://i.snap.as/h8tp2Uj3.png" alt="Turf in-game"/></p>
]]></content:encoded>
      <guid>https://www.lucashaley.com/turf-redux-1</guid>
      <pubDate>Thu, 29 Jan 2026 22:34:49 +0000</pubDate>
    </item>
  </channel>
</rss>