<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on </title>
    <link>https://mike.slegeir.com/posts/</link>
    <description>Recent content in Posts on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 12 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://mike.slegeir.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>T-Minus Zero (a retrospective)</title>
      <link>https://mike.slegeir.com/posts/t-minus-zero/</link>
      <pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/t-minus-zero/</guid>
      <description>A work-in-progress retrospective for my time working at T-Minus Zero&amp;hellip;
Introduction My situation The studio The project Technology UE5, Lyra, and GAS For this project, we opted to use UE5, specifically building on top of Lyra. Personally, I found this decision to be appealing. I’ve long been interested in really leaning hard into using the Gameplay Ability System (GAS).
In the past, I’ve met some resistance from designers on adopting this system.</description>
    </item>
    
    <item>
      <title>Vampyr Nouveau AI</title>
      <link>https://mike.slegeir.com/posts/vampyr-nouveau-ai/</link>
      <pubDate>Tue, 21 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-nouveau-ai/</guid>
      <description>When I first started out on Vampyr, I was still getting familiar with Unity. I&amp;rsquo;ve been building AI in Unreal for a while, but had only dabbled with stealth AI on one particular project. I was using Game Creator for the player package, but wanted to see what I could do in C# for the AI. The results were difficult to tune and had lots of edge cases. I was focused on sketching something out, and wanted to avoid the common trap of over-engineering, which would probably have sucked the momentum out of my side project.</description>
    </item>
    
    <item>
      <title>Crew 2024</title>
      <link>https://mike.slegeir.com/posts/crew-2024/</link>
      <pubDate>Mon, 06 Jan 2025 00:00:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/crew-2024/</guid>
      <description>Another year, even more skating with the homies: Mike, Kai, Vodak, Shannon, Elizabeth, Tyler, Erik, Keegan, Savio, and Jaeson
This time we&amp;rsquo;re going global! Clips from Austin, Waco, Longview, Amsterdam, Paris, Park City, and Houston.
Thanks all for the good times and dope clips 🤙</description>
    </item>
    
    <item>
      <title>Crew 2023 Wrap</title>
      <link>https://mike.slegeir.com/posts/crew-2023-wrap/</link>
      <pubDate>Tue, 02 Jan 2024 00:00:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/crew-2023-wrap/</guid>
      <description>Skateboarding with my buddies throughout 2023. Featuring clips from myself, Sam, Kai, Vodak, Tyler, Pete, Tom, Shannon, Savio, and Erik.
Today&amp;rsquo;s your day. Wachagonedu?</description>
    </item>
    
    <item>
      <title>Vampyr Stealth Puzzles</title>
      <link>https://mike.slegeir.com/posts/vampyr-stealth-puzzles/</link>
      <pubDate>Sun, 19 Nov 2023 18:33:28 -0600</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-stealth-puzzles/</guid>
      <description>Demonstrating the latest in Vampyr tech and design with the first two stealth puzzles I&amp;rsquo;m prototyping.
I fixed an issue with the camera not properly handling tighter spaces. As a stealth game, the player will be moving through confined spaces to sneak around. So this was at the top of my list after I noticed it messing up in the previous encounter.
Next up was visualizing the AI vision cones.</description>
    </item>
    
    <item>
      <title>New Website</title>
      <link>https://mike.slegeir.com/posts/new-site/</link>
      <pubDate>Tue, 17 Oct 2023 21:43:13 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/new-site/</guid>
      <description>It occurred to me that my old website had gotten pretty stale. What I was showcasing was mostly old stuff from college, and the website was minimalist even by the standards of that time. 😅
So I&amp;rsquo;ve spun up a new website using Hugo. As someone who loves Markdown and hates PHP, this framework really works for me! There&amp;rsquo;s a lot of templates to choose from, and content creation is dead simple.</description>
    </item>
    
    <item>
      <title>Vampyr Stealth Lab</title>
      <link>https://mike.slegeir.com/posts/vampyr-stealth-lab/</link>
      <pubDate>Thu, 12 Oct 2023 21:10:50 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-stealth-lab/</guid>
      <description>A preview of the first few stealth encounters in Vampyr.
These are designed to be simple introductions to the mechanics of the gameplay. Currently this is just block out art so it&amp;rsquo;s easy to hone in the geometry and timing of the playspace before we ground it more in the game world and add in some environmental and interstitial story telling amongst the encounters.</description>
    </item>
    
    <item>
      <title>Timescapes 1</title>
      <link>https://mike.slegeir.com/posts/timescapes-1/</link>
      <pubDate>Tue, 05 Sep 2023 20:42:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/timescapes-1/</guid>
      <description>I&amp;rsquo;ve been experimenting with Stable Diffusion&amp;rsquo;s Deforum extension for creating a living landscape painting. I&amp;rsquo;m using the following generation settings: Stable Diffusion v1.5, revAnimated_v122EOL, Deforum in 3D mode.</description>
    </item>
    
    <item>
      <title>Ink Punk Crook</title>
      <link>https://mike.slegeir.com/posts/ink-punk-crook/</link>
      <pubDate>Tue, 29 Aug 2023 20:37:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/ink-punk-crook/</guid>
      <description>I&amp;rsquo;ve been experimenting with Deforum in Stable Diffusion. Using the Ink Punk Diffusion model, I rendered a background and the foreground separately and composited them. I could better replicate the camera movements in this shot using Deforum, but who&amp;rsquo;s got the time right??
I&amp;rsquo;ve been trying to figure out how to get good video effects using Deforum, but it&amp;rsquo;s been a real challenge. There&amp;rsquo;s a tension between the quality of generation for a single frame vs stability of the image over time.</description>
    </item>
    
    <item>
      <title>Vampyr Jungle Gym</title>
      <link>https://mike.slegeir.com/posts/vampyr-jungle-gym/</link>
      <pubDate>Tue, 25 Jul 2023 18:12:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-jungle-gym/</guid>
      <description>Standing up the basic elements of the first chapter of Vampyr. We&amp;rsquo;re working in Unity 3D, and I&amp;rsquo;ve found basic character models - none of which work perfectly, but they get the ideas across. Similarly, I&amp;rsquo;ve got some really simple landscaping done with somewhat representative foliage and textures. The simplest version of Stealth AI I could imagine can be seen here. There&amp;rsquo;s a lot more to do to make this compelling, but I wanted to throw together something to get the gist of it.</description>
    </item>
    
    <item>
      <title>Vampyr Grave Concept</title>
      <link>https://mike.slegeir.com/posts/vampyr-grave-concept/</link>
      <pubDate>Sat, 22 Jul 2023 11:53:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-grave-concept/</guid>
      <description>My concept treatment of the opening of Vampyr. Here, our heroine dies and rises again. Disoriented at first, she resolves to set on her path forward.
I generated individual images of the Haitian jungle, and tried to incorporate mass graves in the scene. Using txt2img and then img2img as I refined. Experimenting with different prompts and the roll of the dice, I ended up with the frames that you see here.</description>
    </item>
    
    <item>
      <title>Gnar Skater Redux - First Look</title>
      <link>https://mike.slegeir.com/posts/gnar-skater-first-look/</link>
      <pubDate>Wed, 28 Jun 2023 18:42:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/gnar-skater-first-look/</guid>
      <description>First look at my skateboarding video game I&amp;rsquo;ve been working on. I&amp;rsquo;m using Unity 2D. I just jammed a few tiles together from Sonic for the environment. The character is an AI-generated rotoscope of me skateboarding. Still very early in development!</description>
    </item>
    
    <item>
      <title>Vampyr Visual Novel</title>
      <link>https://mike.slegeir.com/posts/vampyr-visual-novel/</link>
      <pubDate>Fri, 26 May 2023 11:02:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/vampyr-visual-novel/</guid>
      <description>Quick &amp;amp; dirty visualization of my vampire text adventure prototype. Here I&amp;rsquo;m experimenting with using Stable Diffusion to generate concept story boards, and stitching them together in a really simple text adventure. I&amp;rsquo;m using a custom fork of python-text-adventure as a base. You can see various images that are displayed depending on the Place or Event.</description>
    </item>
    
    <item>
      <title>Mike Slegeirs Gnar Skater - Remake</title>
      <link>https://mike.slegeir.com/posts/msgs-remake/</link>
      <pubDate>Thu, 04 May 2023 10:42:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/msgs-remake/</guid>
      <description>I remade an old skateboarding game I created back in High School. The original game was using a custom Direct 2D engine that I ripped from some Game Programming for Dummies book. 😂
In keeping with the spirit of the original, I chose a light-weight engine: pygame. It&amp;rsquo;s basically a wrapper around SDL for Python. This was a great exercise in not overthinking engineering. I certainly wasn&amp;rsquo;t trying to create &amp;ldquo;maintainable&amp;rdquo; systems when I built the original game.</description>
    </item>
    
    <item>
      <title>Unreal Engine Changes</title>
      <link>https://mike.slegeir.com/posts/unreal-engine-changes/</link>
      <pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/unreal-engine-changes/</guid>
      <description>It&amp;rsquo;s always good to see my name in the credits of the latest Unreal Engine release (tehpola). 😀
As of now, I&amp;rsquo;ve made over 10 pull requests to Unreal Engine myself, and encourage other developers to do the same. Of course, mistakes have been made - and were eventually corrected. You can check out my pull requests on GitHub to see the work that I did predominantly while at Certain Affinity.</description>
    </item>
    
    <item>
      <title>A Path through Spacetime</title>
      <link>https://mike.slegeir.com/posts/path-thru-spacetime/</link>
      <pubDate>Fri, 22 Apr 2022 00:00:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/path-thru-spacetime/</guid>
      <description>Skateboard, OneWheel, etc. Exploring the universe. Looping. Featuring Miguel, Kyle, Jake, Tyler, and Nate. Thanks to Maggie for filming and fan girling. With special guests Mimsy, Pixel, and Quin! Give them all the pets.
Texas, Colorado, Wyoming, Chicago, Florida. Fewer tricks. Still working on the style. Having a good time.
You could call this a video scrap book</description>
    </item>
    
    <item>
      <title>Club Saber</title>
      <link>https://mike.slegeir.com/posts/club-saber/</link>
      <pubDate>Thu, 17 Mar 2022 22:31:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/club-saber/</guid>
      <description>I built an application that syncs the stage lights in Beat Saber with the smart lights in my house. Currently it supports Hue &amp;amp; Wiz lights.
You can find the source code for Club Saber on GitHub.</description>
    </item>
    
    <item>
      <title>Dark Photobooth</title>
      <link>https://mike.slegeir.com/posts/dark-photobooth/</link>
      <pubDate>Wed, 26 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/dark-photobooth/</guid>
      <description>Face Blur Identify Face Shader Swirl Dark Photobooth is a photobooth application written in Python with a twist. It uses facial recognition and scraped data to show user a representative profile of how they are tracked and categorized by big data and AI. Created as a sort of art project, I had a lot of fun learning about how facial recognition neural networks work, and how to work with computer vision tools in Python, my programming language of choice.</description>
    </item>
    
    <item>
      <title>Mopidy Woke</title>
      <link>https://mike.slegeir.com/posts/mopidy-woke/</link>
      <pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/mopidy-woke/</guid>
      <description>I&amp;rsquo;ve implemented an extension for Mopidy that allows me to use my Raspberry Pi as an alarm clock. Depending on the day, a different song from my library will play. It&amp;rsquo;s written in Python, using apscheduler for the alarm, and tornado for the web UI. Check out the source code.</description>
    </item>
    
    <item>
      <title>33 at 33</title>
      <link>https://mike.slegeir.com/posts/33-at-33/</link>
      <pubDate>Thu, 22 Apr 2021 00:00:00 -0500</pubDate>
      
      <guid>https://mike.slegeir.com/posts/33-at-33/</guid>
      <description>To celebrate my 34th birthday, I put together this video of 33 skateboarding tricks I did while I was 33.
Throughout my life skateboarding has been a great way to remain active, challenge my fears, and meet and interact with cool people. I think I&amp;rsquo;ve made the most of the past year with its challenges, and this is a reflection of that.
The music is &amp;ldquo;Side Quest&amp;rdquo; by Aesop Rock from Spirit World Field Guide.</description>
    </item>
    
    <item>
      <title>Call of Duty: Modern Warfare 2 Campaign Remastered</title>
      <link>https://mike.slegeir.com/posts/cod-mw2-remaster/</link>
      <pubDate>Tue, 31 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/cod-mw2-remaster/</guid>
      <description>After we wrapped up work on the previous remaster, we began work on updating the sequel. However, our time on the project was limited, and it would take a while for the remaster to be completed and ultimately released. But having just completed the previous remaster, and having the lessons learned from the previous project fresh on the brain, we got a lot done in a little time.
In that time, I improved the Path Validator tooling.</description>
    </item>
    
    <item>
      <title>World of Tanks: Stop Leviathan!</title>
      <link>https://mike.slegeir.com/posts/wot-halloween-2017/</link>
      <pubDate>Fri, 27 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/wot-halloween-2017/</guid>
      <description>I had a brief tenure helping out on World of Tanks when Certain Affinity helped out with the Halloween 2017 Stop Leviathan event. World of Tanks&amp;rsquo; game logic is written primarily in Python, and as a long-time Python enthusiast, I helped the team ramp up on the code-base as many of the developers had little experience with it.</description>
    </item>
    
    <item>
      <title>Call of Duty: Modern Warfare Remastered</title>
      <link>https://mike.slegeir.com/posts/cod-mw-remaster/</link>
      <pubDate>Fri, 04 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/cod-mw-remaster/</guid>
      <description>After we wrapped up most of our work on Doom, a lot of the team at Certain Affinity started work on remastering the classic Call of Duty: Modern Warfare. It was really exciting revisiting such an iconic title, and getting a master class in single player game design just seeing how it all worked.
As we were the first studio to start work on the title, I played a major role in writing tools that ported the content from the original game.</description>
    </item>
    
    <item>
      <title>Doom (2016)</title>
      <link>https://mike.slegeir.com/posts/doom/</link>
      <pubDate>Fri, 13 May 2016 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/doom/</guid>
      <description>I&amp;rsquo;m so hyped about my first professional game development credit being for Doom (2016)! The original is such a classic, and I got really into it back in the day. I still remember playing for long stretches of time; getting so into it that I started leaning over to the side when I strafed to dodge a fireball. 😂
Certain Affinity worked on the PVP multiplayer for this title. Though the mode wasn&amp;rsquo;t as universally beloved as the stellar single player campaign, over time reviews started to come around to recognize the work we did to deliver a kick ass experience.</description>
    </item>
    
    <item>
      <title>Scavenger Quest</title>
      <link>https://mike.slegeir.com/posts/scavenger-quest/</link>
      <pubDate>Sun, 05 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/scavenger-quest/</guid>
      <description>Mary Battle Mecha Battle Ninja Battle Raptilius Battle Will Battle Credits Cutscene: Pulling the Sword NPC Message Quest Log Cutscene: Got the Sandwich Tutorial Battle Intro Scavenger Quest is a game that I designed and programmed in my spare time over a four month period. It was developed for Android using AndEngine. The application is a location-aware scavanger hunt. When locations are visited in order, based on hints, certain events are trigged: cutscenes, item collection via QR code scanning, messages from NPCs, and battles.</description>
    </item>
    
    <item>
      <title>WiiSX</title>
      <link>https://mike.slegeir.com/posts/pcsxgx/</link>
      <pubDate>Mon, 11 Jul 2011 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/pcsxgx/</guid>
      <description>From 2009 - 2010, I was one of a team of 3 developers working on WiiSX, among other projects. I&amp;rsquo;m really proud of the work we did porting PCSX to the Gamecube &amp;amp; Wii platforms - which are really resource strapped.
You can dig through the archives of EmulateMii to read more about the project. Or find the source code on GitHub. The project is still being maintained by some of the original developers!</description>
    </item>
    
    <item>
      <title>OpenJazz Wii</title>
      <link>https://mike.slegeir.com/posts/openjazz-wii/</link>
      <pubDate>Fri, 24 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/openjazz-wii/</guid>
      <description>From 2009 - 2010, I ported the open source re-implementation of Jazz Jackrabbit, OpenJazz to the Wii.
You can find the archive of the project on Google Code.</description>
    </item>
    
    <item>
      <title>Wii64</title>
      <link>https://mike.slegeir.com/posts/wii64/</link>
      <pubDate>Tue, 09 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/wii64/</guid>
      <description>From 2007 - 2011, I was one of a team of 3 developers working on Wii64, among other projects. I&amp;rsquo;m really proud of the work we did porting Mupen64 to the Gamecube &amp;amp; Wii platforms - which are really resource strapped.
You can dig through the archives of EmulateMii to read more about the project. Or find the source code on GitHub. The project still lives on through the Not64 fork!</description>
    </item>
    
    <item>
      <title>Computer Graphics</title>
      <link>https://mike.slegeir.com/posts/computer-graphics/</link>
      <pubDate>Mon, 15 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/computer-graphics/</guid>
      <description>I had a lot of fun in my Computer Graphics class at UT. Always went for the extra credit on this one, and had plenty of fun working through the challenges of getting things right.
For our first project, we were just doing simple rendering in OpenGL. I managed to cobble together this model of a penguin in a snow globe, complete with translucent glass and snow particles.
I had a really hard time generating a &amp;ldquo;good&amp;rdquo; tree.</description>
    </item>
    
    <item>
      <title>PyOGC</title>
      <link>https://mike.slegeir.com/posts/pyogc/</link>
      <pubDate>Sat, 24 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/pyogc/</guid>
      <description>I&amp;rsquo;m currently working on developing a working implementation of Python (and/or Pyrex) on the GC/Wii providing functionality via wrapping libogc.
Example:
&amp;#34;&amp;#34;&amp;#34; Demo of using libogc in Pyrex &amp;#34;&amp;#34;&amp;#34; # get stuff we need from C header files cdef extern from &amp;#34;Python.h&amp;#34;: # embedding funcs void Py_Initialize() void Py_Finalize() void PySys_SetArgv(int argc, char **argv) # declare any other Python/C API functions we might need void Py_INCREF(object o) void Py_DECREF(object o) object PyString_FromStringAndSize(char *, int) object PyBuffer_FromReadWriteMemory(void*, int) cdef extern short wavefile[] # IMPORTANT - we need to explicitly prototype the function # &amp;#39;init&amp;lt;mymodulename&amp;gt;()&amp;#39;, where &amp;#39;mymodulename&amp;#39; is the # filename this code resides in.</description>
    </item>
    
    <item>
      <title>Implementing Tail Recursion in Python</title>
      <link>https://mike.slegeir.com/posts/tco-in-python/</link>
      <pubDate>Mon, 10 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/tco-in-python/</guid>
      <description> </description>
    </item>
    
    <item>
      <title>Pyhotobooth</title>
      <link>https://mike.slegeir.com/posts/pyhotobooth/</link>
      <pubDate>Sat, 30 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://mike.slegeir.com/posts/pyhotobooth/</guid>
      <description>I wrote a webcam viewer/capture program similar to the Photobooth program in Mac OS X. Written in Python using GStreamer with EffectTV plugins, you can view your webcam and take pictures filtered through your choice of effects.
Find the source code on SourceForge.</description>
    </item>
    
  </channel>
</rss>
