KrakJack: A "Fermigamo"

You have possibly heard of NaNoWriMo, a yearly November challenge for writers to author a novel in just 30 days. Completely ignoring the expansion of the acronym, I decided I would make a NaNoGaMo... a complete game in the month of November!

My NaNoGaMo idea was simple... a text-only telnet MMO, set in some remote space station. Players connect and interact with the station, and although they cannot see other players, they can see things that have been done by other players (receive mail, graffiti, position of objects, etc). It's essentially a museum game (less charitably termed a walking simulator), where you log in to hang out. The nature of telnet is such that sound is essentially impossible, and so the working title was Quiet Space.

Writing a novel is hard. Making a complete game is hard, too. I did not complete my NaNoGaMo. My ambition was too large. I had to aim smaller... and what's smaller than a nanogamo? A Picogamo! I wanted my game to be portable to at least Windows and Linux, and so I set to work creating a game engine in C++ with SDL. Almost immediately this got completely out of control, as I realized I could probably write a software 3D renderer on top of SDL's 2D-only graphics. The project is on-going and has stretched well beyond its humble beginnings. Which is to say, I did not complete my Picogamo in a month, either.

Ok, ok, I had to reel it in. Ignore the 3D renderer, just make a simple 2D game, a Fermigamo (following the natural order of Pico, Fermi, Bagel), and that's what this post is actually about. I chose a ridiculously small resolution of 256x150, and decided to make a blackjack simulator. The graphics are cute, the sounds are bloopin', and you can download it now for free on itch.io.

RFCK: ENDLESS WAR

ENDLESS WAR is a text-based MMO playable entirely inside your browser.

ENDLESS WAR is also a community, built around the RFCK Twitch and YouTube channels. The in-game New Los Angeles City (aka Neo Milwaukee) is full of graphic artists, musicians, story tellers, ... and gamers. Together they form a community that's as clever, inviting, and inventive as they are blood-thirsty.

It is a world of gang violence, all in the shadow of the titular monolith.

When Ben approached me in April of 2018 looking for help with his new game idea, I knew immediately it was going to be a lot of work. I wasn't sure if he'd really be able to tackle it himself, having no programming experience whatsoever.

I started working, and in a few long days the game took shape. You could gain slime, and use your slime to attack other players.

It was a chaotic mess.

The game evolved continuously, until what would be termed "the end of season one." I worked 24/7 for a month, catching bugs moments after players encountered them, at all hours of the night, and immediately patching the game and correcting the database... and also adding new features. Season One was characterized, at least in my mind, by unbelievably rapid and responsive emergent game design. Players would suggest ideas, and they would be in the game within hours.

Season Two came after a long break; a break longer than the entirety of Season One. Most players thought it would never come. This was the moment when the game transitioned from a novelty, to an actual, playable game. With Season Two, came the map.

Instead of global chat channels, the game was now split up into geographic zones, with travel time between them, on a realistic map of Boston. This paved the way for territory control, inventory and items, apartments, and so much more.

Throughout seasons two and three, the game has grown continuously. The current development team is so large, I can't keep track of who's involved anymore. It has flown far beyond its humble beginnings.

Background art by Smearg.

SoundCloud Tracks

Over the past half year I've been uploading quick (mostly) acoustic covers of songs over on SoundCloud. It's been an interesting experience... getting into the habit of recording more often and less formally has been valuable, and I feel like every day I'm getting better at singing and playing simultaneously.

The goal last year was to cut together a little EP of songs that I thought were cool when I was in high school. Sort of a nostalgic trip to practice recording and improve my singing. Given the soundcloud tracks, I think it's safe to skip this project entirely and get on to what I really want to do: some original material.

This cover of Scars is probably my magnum opus thus far, although the Die Young cover is a close second favorite. This song is cheesy as hell, but man, it really does help me feel better when I'm down, thinking about every wrong turn I ever took, and bad decision I ever made.

 

 

 

Low-Res EGA Graphics Demo for DOS

I put together a little demo of DOS EGA graphics in the low-resolution 640x200 mode. It's a "playable" game of bouncing balls, where the player controls one ball that can kind of move. Check out the video:

If you want to try it yourself, or check out the source code, here's a ZIP with everything as it was in the video: GFX.zip. Note that you'll have to run the executable in DOSBox or actual DOS, and that the EGAVGA.BGI file included in the ZIP needs to be in the same directory. This file is some kind of Turbo-C++ specific graphics driver... BGI perhaps standing for "Borland Graphics Interface" or similar.

A Return to Form

New for 2018... it's 2013!! I'm taking a page out of my own old playbook, and setting the clock back half a decade. This is a return to that fresh out of university and ready to take on the world feeling!

I'm bringing back the nasty old green/black/blue/gray/white colorscheme that I've always desperately loved. It's loud and amateurish looking, but also bold. The colors are inspired by the bright tones of a beautiful late summer's day on the road.

This year I'm committing to being my truest self. I'm bringing back the reckless courage I used to be so proud of, and breaking the shackles of shyness that have in the last few years held me back.

So begins the s u m m e r o f k r a k. AWOOOOOOOO!

 

Fell in Love With a Girl

It's always a struggle trying to produce music by yourself. My latest project was a cover of "Fell in Love With a Girl" by The White Stripes. You can check it out on YouTube.

Most White Stripes songs are essentially three tracks: vocals, guitar, and drums. That simplicity made it the perfect song to get back into recording with. This was the first time I would be using my new old Gibson SG. In fact, the entire setup was completely different than last time with The Middle.

To get a better drum track than last time, I sequenced every hit myself in Reaper. The sequence is extremely plain, though, featuring only one interesting fill in the entire short song. Next time I'm hoping to have real percussion.

I wanted to get a more old-school sounding crunch with the distortion on this song, so I used both the SD-1 and DS-1 at the same time.

The actual recording was done via direct XLR connection from the preamp output of the Ampeg head. Given the chance to do it again, I think I would record a blend of the live speaker sound on mic and the direct connection to get some of the natural reverb of my small studio room. Altogether, though, the guitar sound is on point.

 

 

 

 

Finally Fixing that One Little Thing

Way back in 2015 I low-sided my Honda. The damage was minor enough that I fixed everything myself, except for a tiny gap between the cowl and dash surround that wouldn't close up. I could press on the cowl, and it would kind of snap together...but a few miles down the road it would pop apart.

Fixing that little gap means removing the dash surround... no big deal, you just need to remove the windshield and mirrors, and the fairings around the headlight. Of course, those fairings don't come off without removing the ones bridging the tank and dashboard... and those don't come off without removing the entire side fairings and turn signals.

With the whole machine apart, it was just a matter of bending the tube structure the cowl sits on with a screwdriver about a quarter of an inch. It took an hour to get to the point where I could do the actual one minute job I set out to do.

The End of Krakchat

After an amazing five year run, it's finally time to close Krakchat.

It's kind of unbelievable that it lasted as long as it did. The mythical "krakchat2," which seemed to be in development and Coming Soon™ for ages has now been out a year longer than the original chat lasted. KC2 introduced MySQL as a database, to replace the completely unreliable and broken sqlite3 implementation. It also introduced a chat API with crude JSON interfaces, replacing even more crude query parameters. Some may even remember the earliest KC, in which everybody was just an IP address and couldn't set their username at all.

At its heart, Krakchat was always just a science project. I wrote it in college in an attempt to learn about AJAX/XHR and web development best practices. Along with Kraknet, it helped me to get my first real job in software development.