<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Deurell Labs</title>
    <link>https://deurell.github.io/</link>
    <description>Recent content on Deurell Labs</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 25 Aug 2023 14:05:24 +0200</lastBuildDate><atom:link href="https://deurell.github.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>From Prototype to the Next Phase</title>
      <link>https://deurell.github.io/posts/from-prototype-to-the-next-phase/</link>
      <pubDate>Fri, 25 Aug 2023 14:05:24 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/from-prototype-to-the-next-phase/</guid>
      <description>Starting a new project often comes with the desire for perfection right from the get-go. However, I&amp;rsquo;ve always found immense value in beginning with a rough prototype, whether it was for my recent multiplayer Unreal 5 networking implementation gig for a First Person Shooter, fancy Candy Crush features, or that quirky AR game I spent way too much time and energy on. My latest endeavor? A super simple text adventure game engine.</description>
    </item>
    
    <item>
      <title>Crafting a Text-Based Adventure Game in Swift</title>
      <link>https://deurell.github.io/posts/adventure/</link>
      <pubDate>Sun, 20 Aug 2023 14:19:38 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/adventure/</guid>
      <description>While working on a project, I found myself crafting a super simple text-based adventure engine. Once the core mechanics were in place, it struck me that this could double as a nice Swift tutorial. So, for those who&amp;rsquo;ve fond memories of classics like &amp;ldquo;Zork&amp;rdquo; and &amp;ldquo;Hobbit&amp;rdquo;, join me in recreating that magic. We&amp;rsquo;ll employ JSON to map out our game world and then use Swift to animate our adventures.
1. Our Game&amp;rsquo;s Blueprint: JSON The game&amp;rsquo;s structure is described in a structured JSON format.</description>
    </item>
    
    <item>
      <title>RealityKit &lt;3 PencilKit</title>
      <link>https://deurell.github.io/posts/pencilkit/</link>
      <pubDate>Fri, 10 Feb 2023 10:54:06 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/pencilkit/</guid>
      <description>I had this idea of creating a collaborative AR experience where friends could draw and create art together. I made a small prototype just to play with the format and how it would feel on an iOS device while learning to combine RealityKit and the pretty amazing PencilKit. At this point it mostly serves as a demo of how to integrate RealityKit and PencilKit in a nice way but who knows what will happen in the future.</description>
    </item>
    
    <item>
      <title>RoomPlan using SwiftUI</title>
      <link>https://deurell.github.io/posts/roomplan-swiftui/</link>
      <pubDate>Wed, 08 Feb 2023 10:05:04 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/roomplan-swiftui/</guid>
      <description>I spent almost a year working with VR/AR for a pretty big game company. They make some great games, mostly in Unity and for the Oculus Quest range of headsets. Some of the games needed to mark out the surrounding play area and obstacles manually in order to start playing. Really nice games but that startup process was quite tedious. When I saw the RoomPlan session at WWDC I had this idea to get rid of the manual setup and instead use one of the players iPhones, map out the surrounding area with RoomPlan, sync it with the headset and then anchor it in the game.</description>
    </item>
    
    <item>
      <title>Controlling AR-entities with an iPhone</title>
      <link>https://deurell.github.io/posts/realitykit-interaction/</link>
      <pubDate>Tue, 07 Feb 2023 12:47:16 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/realitykit-interaction/</guid>
      <description>I once worked on adding support for hands tracking for an existing VR game on the Oculus Quest2. Moving from controllers to just using your hands made me think about interaction design in VR/AR in a new way. The dream scenario would be to just do the same thing as with controllers, but with hands. That would be fast, cheap and fancy, right? Turns out it worked but wasn&amp;rsquo;t very fun, and didn&amp;rsquo;t spark joy.</description>
    </item>
    
    <item>
      <title>Adding Bezier animations to RealityKit</title>
      <link>https://deurell.github.io/posts/bezier-fish/</link>
      <pubDate>Tue, 17 Jan 2023 10:15:35 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/bezier-fish/</guid>
      <description>I love animation systems. I wrote animation systems for the C64 and Amiga in the 80&amp;rsquo;s and 90&amp;rsquo;s, for fashion designer apps at H&amp;amp;M, for games like Candy Crush and god knows how many more. RealityKit has a nice and user friendly animation system that can handle different linear world space transforms, play model space animations from usdz models and combine them in sequences or groups. RealityKit entities can play an AnimationResource with the playAnimation method and AnimationResources are created from AnimationDefinitions.</description>
    </item>
    
    <item>
      <title>Using the RealityKit AnchorEntity</title>
      <link>https://deurell.github.io/posts/realitykit-anchorentity/</link>
      <pubDate>Fri, 13 Jan 2023 11:15:08 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/realitykit-anchorentity/</guid>
      <description>We spent last post learning how ARKit anchors work and how they relate to RealityKit entities. In the end we wrote our own RealityKit AnchorEntity based on the results of the ARSessions provided ARAnchors. This is all fine but if we just need a quick anchor we can use the RealityKit provided AnchorEntity.
We start the same way by setting up an ARSession. Requesting horizontal plane detection.
private func setupARSession() { let session = self.</description>
    </item>
    
    <item>
      <title>Realitykit Surface Detection</title>
      <link>https://deurell.github.io/posts/realitykit-surface-detection/</link>
      <pubDate>Tue, 03 Jan 2023 17:23:40 +0100</pubDate>
      
      <guid>https://deurell.github.io/posts/realitykit-surface-detection/</guid>
      <description>I&amp;rsquo;ve spent a lot of time learning and writing code based on RealityKit. I really like the framework. It&amp;rsquo;s nicely written, has a lovely tiny, lightweight ECS implementation and makes writing AR applications and games pretty straightforward. I thought I&amp;rsquo;d write down some things I&amp;rsquo;ve learned in a series of blog posts that might help other AR devs out there in the wild.
The first thing that comes up when writing a new RealityKit app is detecting surfaces in order to anchor virtual objects in the real world.</description>
    </item>
    
    <item>
      <title>Metal shader development on an iPad</title>
      <link>https://deurell.github.io/posts/playground-shaders/</link>
      <pubDate>Tue, 23 Apr 2019 18:53:16 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/playground-shaders/</guid>
      <description>The iPad is an amazing learning device. You can read shader books on it. Draw shader ideas on it. And ever since iOS playgrounds got a major boost you can even develop Metal shaders on it using Playgrounds.
It was the only device I had with me on my easter vacation in the woods. Most of the time was spent like this:
But you need to catch your breath every once in a while and what could possibly be better than coding shaders on the iPad, in the hammock?</description>
    </item>
    
    <item>
      <title>Recreating Beat Saber lazers with unicorns</title>
      <link>https://deurell.github.io/posts/beatlazers/</link>
      <pubDate>Sun, 14 Apr 2019 15:56:27 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/beatlazers/</guid>
      <description>I&amp;rsquo;ve been coding professionally for over 20 years and I still learn new things every single day. One of the most fun and rewarding ways I use to get better is to recreate things in games I love. And I&amp;rsquo;m in love with so many games. It never ends. An endless, lovely, gamedev tutorial!
One of the games I love is Beat Saber. I wanted to recreate it as a VR learning experience on my HTC Vive.</description>
    </item>
    
    <item>
      <title>Setting up ShaderModifiers in SceneKit</title>
      <link>https://deurell.github.io/posts/scenekit-setup/</link>
      <pubDate>Fri, 12 Apr 2019 18:45:31 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/scenekit-setup/</guid>
      <description>I &amp;lt;3 the Metal shader debugger in XCode. It&amp;rsquo;s one of those things that feels like they&amp;rsquo;ve been sent from the future. I&amp;rsquo;ve been doing shaders in OpenGL for years and years. The last five years I&amp;rsquo;ve been helping a nice Swedish game company to code casual games with a lot of Candy. And Crushes. More than once I&amp;rsquo;ve realized that the demos and shaders I did for fun in my teens are the very things that&amp;rsquo;s putting food on the table for my kids over 100 years later.</description>
    </item>
    
    <item>
      <title>Teaching your teen to code a starfield in PICO-8</title>
      <link>https://deurell.github.io/posts/starfield/</link>
      <pubDate>Wed, 10 Apr 2019 16:59:21 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/starfield/</guid>
      <description>Kids love starfields. It&amp;rsquo;s a perfect coding session with a nice visual result and basic highschool math. We&amp;rsquo;re going to build this:
When coding with kids, always keep it simple and at their level. I know most of you reading this are math wizards but kids tend not to be super impressed by your vector math and matrix calculations (believe me, I&amp;rsquo;ve tried). You&amp;rsquo;re going for quick results and simple code, on their math level.</description>
    </item>
    
    <item>
      <title>Teaching kids game development with PICO-8</title>
      <link>https://deurell.github.io/posts/crazy-comets/</link>
      <pubDate>Mon, 08 Apr 2019 22:45:00 +0200</pubDate>
      
      <guid>https://deurell.github.io/posts/crazy-comets/</guid>
      <description>Growing up I loved to play Crazy Comets on my C64. The magic starfield seemed almost impossible to code for a 14 year old and the music by Rob Hubbard totally blew me away. I decided to code a pico8 remake of it together with my 6 year old daughter in order to show her how to make games. We had a fantastic time!
Pico8 has the simplicity needed in order to show how everything fits together.</description>
    </item>
    
  </channel>
</rss>
