Kaolin Fire with GUD Issues 0 + 1

kaolin fire presents :: software




Programming projects and whatnot

Flash Games

Hard Choices by Tina Connolly
A "Choose Your Adventure" -- why do we always flub the hard choices?
Saber Duel
A quick blind-fighting game--in flash, play now! ;) :)
Ice-9
A quick color-matching puzzle game--in flash, play now! ;) :)

c/c++ Applications

Detritus
Detritus is a fast-paced shoot-em-up strongly based on the old classic Asteroids. Replenish your shield with power-ups and gain new weapons. "Cleaners" appear periodically, so watch out! The keyboard controls should be self-explanatory. Written in c++ with SDL, OpenGL, and OpenAL libraries.
Falling Up
Yet another "falling tetronimos" clone. Except it's not. It's much more...twisted. Written in c with GLUT, OpenGL, and OpenAL libraries. Compiled with MingW/gcc on windows, gcc on os x. Haven't had a chance to compile it for linux or *bsd, but the source code's free, so ... feel free. It should port painlessly, with one self-documented change in a function call. Looks like it could even port to the palm, in some fashion, with miniGL.
Fractal Roamer
Realtime fractal roamer, with "trippily intelligent ai" -- tripper toy. Written for gnome (gtk+), and windoze. Needs some help speeding up the framerate. Faster computers will help some, but... also should add "spiraling" effect to autopilot. no need to stick to one orientation.
Groovy Tetris
written for windoze with Visual C++, plans to port it to gtk+, need to get it working under codewarrior for windoze first, just to be sure. It's a tetris clone, of course, which is being made as trippy as possible. Like, groovy, dude. ;) Tripper toy.

Some notes on my windows development environment

  • I use MinGW's packages--specifically,
    • start with gcc-core package, extract under c:\mingw directory
    • extract w32api under c:\mingw directory
    • extract mingw-runtime under c:\mingw directory
    • extract mingw-utils under c:\mingw directory
    • extract binutils under c:\mingw directory -- say "yes" to any file replacements
    • copy /include/ and /lib/ files from glutming.zip to under c:\mingw, and drop glut32.dll somewhere useful--in c:\windows\system, for instance, or even c:\mingw\bin (This is an extremely slow server/connection--someone needs to mirror the info!
    • add c:\mingw\bin to your PATH
    • grab the openal SDK for windows -- openAL libraries. Install, and then copy the .h files from its installation directory to c:\mingw\include\. copy alut.h as alu.h (maybe this is just me being retarded)
    • run reimp openal32.lib (reimp came with mingw-utils, openal32.lib is in /lib/ under open al's install directory) , which creates libopenal32.a -- drop this in c:\mingw\lib. reimp doesn't seem to want to work with the current ALut.lib (someone suggested this is because ALut.lib is compiled as a static library) -- but I happen to have one lying around, so just use libalut.a -- put this in c:\mingw\lib as well.
    • compile with gcc -lglut32 -lopengl32 -lglu32 -lalut -lopenal32 (and -mwindows if you DON'T want a console to print debugging info to)
    • For make, I'm using gnumake from djgpp's distribution, available via ftp at ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/. You want a file starting with mak, ending in a b. The one I grabbed at the time of this writing is mak3791b.zip. -- I'm using the make that comes with lcc just so it continues through the "warning" below. Possibly any other make would work just as well, but the djgpp doesn't seem to want to get past the warning. Blargh!
    • Unfortunately, gcc3 the OpenAL lib I've got gives Warning: .drectve `-defaultlib:uuid.lib ' unrecognized -- which wouldn't matter too much, as it still compiles, but the warning throws off make and doesn't compile through that, somehow. I tried turning off warnings to no avail. :/ Any hints on how to fix this would be appreciated (and posted here) ((For now, of course, use a different make, on windows--or perhaps there's an option to the djgpp make to get it through a Warning???))
  • I use ViM for text editing, though crimson editor has come highly recommended. If I weren't a ViM freak, I'd probably use it.
  • Winzip can handle untar/ungzip, but you might also enjoy 7-zip for taring, and gzip for ungziping (gzip -d <filename>). Or, even better, grab this set of unix utils, including make, tar, gzip and a whole lot more!
  • For packaging under windows, Nullsoft Scriptable Install System (NSIS) rocks the house. :) And while I haven't tried it yet, I want to remember to look into HM NIS EDIT ("A Free NSIS Editor/IDE")
  • And UPX -- a free, portable, extendable, high-performance executable packer might be worth looking into...
  • AND... I like "icobundl" (using it for Falling Up) to make nice windows icons... Hmm. see http://www.telegraphics.com.au/svn/icobundle/trunk/dist/README.txt

Want to get into writing games, but don't know where to start? An excellent article on some simple games to start on, and why. Echoes many of my own sentiments. And here's some more detailed lists of what to think about or where to get started: Amit's Game Programming Information

Java Applications

java: org.erif.util
very happy java utility package, with text, email, database, credit card, and lots of other happy little things. source, binary, and javadoc. I use it everywhere.
Scramble
Scrabble has changed: Random starting and bonus squares, random tile sets, and a timer will add years to your enjoyment of this classic. (tested on win'95, linux, and solaris)
Boggle
Yet another word game. See how many words you can make out of the letters provided, with a time limit.

OLLLLLD crap

IcqDomo
A bot that sits on icq and handles realtime lists, kinda like majordomo. this is somewhat dead -- icq protocol changed, libraries changed, ...
java chat server/applet client
I wrote this back in '98 or '99. I didn't know java all that well at the time, but it should answer a couple basic howto questions...

Experiments

Ball
A little Ball applet that bounces.
Bear
A little Bear applet that bounces.
Chemistry Kit
(opens a new window). This was for a class in user interface. I worked with four other people, but wound up doing almost everything because I couldn't figure out how to delegate properly, and I didn't do a very good job of anything. But there's some interesting stuff here. [[The objective of our design project, Interactive Chemistry Kit, is to make the learning of chemistry a rewarding experience and, at the same time, to stir the user's interest in seeking more knowledge about science. This Interactive Chemistry Kit can also be seen as a tool for middle school students to learn and adults to teach chemistry concepts, terminology, and laboratory methods. Since experiments are at the heart of chemistry, all of the experiments presented in the Interactive Chemistry Kit are basic enough for a person not familiar with scientific terms and with no science training to understand. This Interactive Chemistry Kit will provide the user with safe and workable experiments. As the user's knowledge about chemistry is enhanced by performing these fun and safe experiments, the fear of experimenting will be replaced with a desire to know more about the subject. A big factor in choosing the experiments was their dramatic appeal. Each experiment demonstrates that chemistry is a part of our everyday life]]

Actual written tutorials

Java jdb and gnu's gjdb
Tutorial I wrote for a class I TA'd a long, long time ago.
Java's AWT
Tutorial I wrote for a class I TA'd a long, long time ago.
what goes in an rpm
Written by a friend, for me, some notes on what he did.
random c and sql tips
c and sql things I don't want to forget... postgresql, sql server, linking...



I am soooo fake pre-loading this image so the navigation doesn't skip while loading the over state.  I know I could use the sliding doors technique to avoid this fate, but I am too lazy.