News Archive
C Tricks
I’ve been working away in C. I decided to start cataloging some of the tricks I’ve stolen from other C coders. I’ll continue updating this document over time:
Posted some short stories
Had a few short stories laying around, so I figured I might as well post them. They’re under the About section.
Generating Quality Content Quickly
I’ve been experimenting with ways to generate quality content quickly.
Delusion, the game series I’m working towards, is based on the idea of releasing weekly episodes like a TV show. I want to maintain the pace of producing one episode per month – I am roughly estimating having three seasons per year, where each season is four or five episodes.
In order to do that, I need to be able to produce content quickly.
Attempt 1: Blender
My first attempt was to model everything in 3D, using Blender. Here’s the start of a level:

Attempt 1: Blender
I think I spent roughly 3 hours modeling the desk and computer. It would probably take me another 6 hours to texture map it. That means for 1 day of effort, I would be roughly 2% done with the level.
In order to fit this technique into 24 days of labor, I would need to use a lot of canned content, cut my levels in half, and basically do nothing else except model and texture the entire time.
So I gave up on 3D modeling the levels. Not fast enough.
Attempt 2: Pixel Art with Filtering
My second thought was: maybe I could do pixel art? Lots of indie developers use pixel art.
I spent some time mucking around with pixels, and thought the only real way I could get away with it was if I produced really low resolution pixel art. The lower the resolution, the faster the development time.
So maybe I could cheat my way to higher resolution?
I created a filter for upscaling pixel art in real-time, just to see what sort of quality I would be looking at.
Here is someone else’s art running through my filter:

Before Filtering / After Filtering
Not bad… I guess.
Here’s my art running through the filter:

Attempt 2: Pixel Art with Filtering
Boy, that looks like crap 😓.
Attempt 3: Vector Art
It seemed weird to be spending time manipulating pixels to get certain shapes out of the filtering process. Can’t I just input the shapes directly?
So, now I am attempting vector art.
But I had a little idea at the same time.
Sink
I’ve been working on another programming language I call Sink (because making programming languages is a time sink 😛).
I know I need a simple language in order to do scripting inside the games – I could use Lua, but I don’t really like Lua all that much. While working on Kong (my old language, that I eventually ditched after 7 months of development), I had an idea for a much smaller language.
Sink is extremely simple. The first full Kong compiler was roughly 9,000 lines of code. Sink’s compiler is 2,000 lines of code.
Kong has 12 types (void
, null
, bool
, num
, str
, blob
, code
, list
, map
, handle
,
task
, worker
). Sink has 4 types (nil
, num
, str
, list
).
I took 5 months to create the Kong compiler. I took about 4 days to create the Sink compiler.
Sink + Vector Art
Since Sink is done, I thought it would be cool to make a vector art program with Sink embedded inside of it:

Attempt 3: Scriptable Vector Art
There are some reasons why I really like this idea:
- I can write programs that create art. Nearly all other techniques involve manual creation of art from start to finish.
- Programs are powerful. I can store colors in variables, calculate geometry, create functions, etc. This (hopefully) translates to speed of creating content.
- Text programs are easy to store, diff, track, change, etc. Binary image formats – not so much.
- Vector art has infinite resolution.
The editor in the screenshot above is actually pretty cool too – I can point to things in the image and push a button to have the coordinates pasted into the script on the right side. I can highlight any color and use a color picker to change the values in the script.
So I’m going to be using this for a while and see if I can produce content quickly with it.
If not, I don’t know what the hell I’ll do 🙃.