2023

New Beginnings, Again and Again (02-15)

Hmm... haven't we been here before? That part where I do a massive update on my site and then promise I'll keep updating it more regularly?

2021

Ninkasi Bugs 2 (09-06)

Fixed one more Ninkasi bug today!

Ninkasi Bug Fixes (09-05)

I spent a bit of time hacking on Ninkasi code this weekend!

Grafx2 Panning (08-22)

I've been spending the last year working (off-and-on) on some changes to Grafx2!

Deluxe Paint Gradient Fills (08-09)

So I watched Mark Ferrari's entire GDC talk "8 Bit & '8 Bitish' Graphics-Outside the Box". It's a fantastic talk by one of the greatest pixel artists alive today. He talks about a lot of his work, and spends a section of the video going into some details about his techniques.

My Big Ninkasi Presentation (08-02)

So quite a while ago I started building a scripting language and, over the course of about a year, actually finished it (for some definitions of "finished"). The scripting language was named "Ninkasi", after the Sumerian beer goddess.

2020

I Did It Again (11-25)

I rewrote the backend of my website again.

TTF GLYF Work, and Wrapping malloc() (01-20)

I've only had a bit of time to work on the DOS game lately, with Further Confusion over the weekend.

TTF CMAP Cleanup (01-12)

Spent a bit of time over the weekend cleaning up my CMAP loading code for TTF loader in my DOS game library. This is stuff that's not particularly glamourous, even from the perspective of font graphics. All it's doing right now is mapping characters to glyph indices. Haven't even started on the glyph loading code itself.

2018

Retroactive Updates (11-10)

I've already added some older images with older dates to the blog history here. I'm going to let a bunch of my older stuff trickle in as I update the site and pull in more stuff like old art or programming crap I've discussed.

2017

More MOD Player Stuff (04-16)

I got the MOD player running at 3-4ms/f on the 486DX2 at 66mhz with a 4-channel MOD file playing at 22khz. Doing okay, but not perfect.

Video Capture Woes (04-15)

I got a nice fancy VGA capture card with generally good reviews from Inogeni. The images that come through on the thing are crystal clear, and look totally amazing, but it only works (on my DOS machine) in the 640x480@60hz mode that Windows 3.11 gives me. In fact, it seems to have issues with most of the DOS VGA modes, which are all in the 70hz range and higher.

Mode 13h Is Too Slow? (04-14)

Jumping into graphics a bit early, I set up mode 13h and got the palette controls and vertical blank syncronization all hooked up. I set up a simple back buffer for the 320x200 pixel/byte display, and wrapped it all up in a simple double buffering setup. Then I ran into a problem.

DOS Timer Stuff (04-13)

In this episode I discover some a seriously WTF aspect of DOS game programming. Namely how I need to get a millisecond timer.

Networking DOS (04-12)

... enough to be useful.

486 Acquired (04-11)

This is mainly just a story of how I picked up my 486DX2s for testing. Nothing technically interesting here.

DOS Game Devlog Start (04-10)

So I started working on a DOS game back in around January of this year. The MiniLD retro challenge got me interested in some retro game dev. I definitely wasn't going to make the deadline for the challenge, but I'm still working on the project anyway. It's a project for its own sake now.

Intoxicoding Logo (04-09)

Intoxicoding Logo

Music Player Debugging With No UI (02-10)

Music Player Debugging with No UI

Palette Shifting Fun (01-22)

VGA Palette Shifting Demo

Early VGA Tests (01-22)

20170122_Early_VGA_Tests.png

2016

LilyVM - Addressing Modes (07-25)

Well, I guess I settled on that last addressing mode. It's two more modes, which pretty much just copy the existing immediate-memory-location and something-from-the-stack addressing modes.

LilyVM - RC4 Cryptography Example (07-20)

To test the existing functionality of LilyVM and its assembler, I decided to implement a simple, well-known cryptography algorithm, RC4. It's not the kind that anyone should use today, because it's got a lot of known effective attacks against it, but it's an easy real-world example of a simple algorithm to play with.

LilyVM - Initial Whatever (07-19)

Disclaimer: I am not experienced at this, so I might use the wrong terminology, or have some totally stupid ideas. The point is to learn by doing, and sometimes that involves failing and looking really stupid.

Wings Animation Test (05-10)

20160510_Wings_Animation_Test.gif

Ugly Placeholder Danmaku (03-20)

20160320_Ugly_Placeholder_Danmaku.png

2015

Early Danmaku Engine (12-21)

20151221_Early_Danmaku_Engine.png

Character Model (10-18)

20151018_Character_Model.png

Cintiq Companion 2 Running Linux (10-09)

I'm an open-source hippie. I install Debian on pretty much every x86/x64 device I come within arms reach of. But I'm also a delusional artist. So when I had the opportunity to snag a Cintiq Companion 2 512GB model, I had to take it, but then I also had to install Debian Linux on it.

New Server! Now with more Terraria hosting! (08-13)

Got a new server! It's way cooler than the last one.

New site! New job! (08-11)

I have once again reconstructed my website from... uh... something. This time it's based on Jekyll.

Scrapper (02-10)

2015-02-10-Scrapper.png

2014

Fixed Timestep and Custom UGameEngine in UE4 (09-20)

Okay. Fine. Everyone who told me to fix the timestep was right.

Prototypey Bullet Patterns (09-19)

I got some simple bullet patterns up and running. This started off as a re-implementation of one of the samples that came with Danmakufu, but I messed with it a bit.

Tick Time Debt (09-18)

So despite all that fancy pants math I did, I was still having a problem with bullet positions.

Basic Bullet Scripting (09-17)

danmaku_ue4_bulletscript.png

Variable Timesteps and Holy Crap Math is Hard (09-16)

Bullet hell shooters with intricate bullet patterns seem to rely on fixed timesteps to simplify the math. If you can ensure that every bullet is always handled consistently with the same timestep every frame regardless of actual framerate, you can pretty much guarantee that your pretty bullet pattern will deterministically look the same every time you run it on whatever hardware you run it on.

The Camera and the Game Plane (09-15)

So my first task for the shooter was to get that Ikaruga-style camera motion. The one where the camera flies around in the level, but the gameplay stays fixed to your view.

Making a Danmaku Shooter in Unreal Engine (09-14)

I have a confession to make. I love Touhou. There are a bunch of bullet hell (or bullet curtain, or danmaku, or whatever) shooters, and many of them are pretty great, but Touhou always seemed to me like that standard of what makes a great shooter.

2010

Lily Editor (10-15)

20101015_Lily_Editor.png

Doodle 08 (05-21)

2010-05-21_Doodle_08.png

Doodle 07 (05-21)

2010-05-21_Doodle_07.png

Doodle 06 (05-21)

2010-05-21_Doodle_06.png

Doodle 05 (05-21)

2010-05-21_Doodle_05.png

Doodle 04 (05-21)

2010-05-21_Doodle_04.png

Doodle 03 (05-21)

2010-05-21_Doodle_03.png

Doodle 02 (05-21)

2010-05-21_Doodle_02.png

Doodle 01 (05-21)

2010-05-21_Doodle_01.png

2008

Lily 3D Game (11-12)

20081112_Lily_3D_Game.png