I have so many dumb projects I want to find the time to do, including this blog, but between going to school full time and still putting in a lot of hours at work, I don't seem to have the time for much of anything. Except maybe using photoshop to badly insert dinosaurs into various images.


Posted by Kevin on 3:27 PM

Sometime in college, in a fit of nostalgia, a friend and I tried to get an old MUD we used to play up and running for our own amusement. I got the code, we spent a little money for the server, we had everything we needed. Then I tried to compile the thing and suddenly we were drowning in error messages. Feeble efforts to fix it just caused more problems, and my feeble knowledge regarding C and Linux servers meant we were simply outgunned. It was a failure.

I don't particularly like failing, and in a sea of lost projects, this one has always stood out. So I decided to revive it, at least in concept. In a day and age where MMORPGs have become such an immersive and detailed experience, very old-fashioned text adventure MUDs are not exactly en vogue. But it seemed like getting some sort of MUD, even a very simple one, would be a fun coding exercise.

I had no intention of starting from scratch, but I wasn't going to start with something overtly complicated like I did the last time. I found some code for tinymudserver, a simple MUD server coded in C++ with the basics (server workings, rooms and conversation) without any of the thrills (objects, npcs, fighting and challenge). I'd need a linux environment, so cygwin was installed, first just with the basics. Tried to compile tinymudserver... failure. Added all the missing components the internet said I needed... more failure. Installed all of cygwin components for all time ever... some success, but more failure.

Totally flashbacking at this point, I found an older version of tinymudserver that I was able to get to work. The only problem was rooms or directions weren't up and running. I wanted something simple to start with but movement seemed like something I'd like to have at the very least. So with renewed vigor, I found what was the newest version of tinymudserver. It still gave me errors, but instead of running away and mass deleting my "mud" folder, I sat down and tried to fix them. Surprisingly, the errors weren't so hard to fix. A few changes later, the MUD compiled, and I was pleasantly shocked when the log-in screen popped up and the thing worked with no issues.

Since then, I've added a few more commands that I wanted, some color, classes. I've broken it about a dozen times, but that's part of the fun. For a final victory lap, I even grabbed a copy of the code for that MUD I tried to compile back in college, and with an extra dose of confidence, got that running as well. All that was left was to have my old MUD buddy and wife serve as crash test dummies across the interwebs for a trek down memory lane.

Good times. Good times.

Posted by Kevin on 1:45 PM
Labels: , ,

Even though I'd already decided that the level design aspect alone of this Super Mario ROM hack project made it too problematic to be worthwhile (even though it was very simplistic, compared to any other ROM you'd want to hack), I still wanted to finish the thing. That meant trying to do anything else I'd be required to do if I pursued a legit project. In other words, I needed to change some sprites, work out the colors, and get some new text.

My first thought was to change out the Bullet Bills I had flying around the level. All the goombas had been replaced with Bullet Bills because it meant Colure wouldn't encounter any enemies, making it (relatively) impossible for her to die. But flying bullets didn't really mesh with the cutsey theme, so they need to go!

There's a number of ways to get to the sprites at a center of a ROM-POP. I opted to rip em out and screw around with them in good old MS Paint. This is the part where I started to panic a bit.

Sprites don't come out in pretty pictures, which I remembered. Nor do they have the correct "colors", which I also remembered. What I didn't remember was how easily it was to get a headache staring at these things while you played "Where's Waldo?", or in my case, Bullet Bill. I momentarily gave up and decided to just change the flag logo at the end to a heart.

Cute, but serious weaksauce. With renewed vigor, I went back and found Mr. Bill. I had no idea what to do with him. A smiley face seemed likely. I passed this one over to my resident artist and had her think of something while I worried about solving other issues; namely, palette. I didn't want to be limited to Bullet Bill's white-black-red color scheme, but unfortunately, I quickly discovered that it'd be impossible to change. Well, maybe not impossible, but very ill-advised. Early games had limited palettes, and plenty of objects shared the same one. In Bullet Bill's case, he happened to share the same palette as all of the environment backgrounds. Changing him to pink, for example, gave the whole world a serious hue of princess.

Not to be deterred, I opted to simply give our leading man a different coat of paint. Saddened that the world would not be bathed in pink, Colure suggested we make Mario dazzle instead. I obliged.

She also gave me two concepts to go with. One was too complicated to draw crosswise into four pieces; the other I could do poorly. So we went with that.

Finally, the only sort of thing I could think of to change that I hadn't yet was some text. So I fired up the old hex editor, worked up a letter table to help me find words (like I did back in the day when I wanted to prove that Shadow in FF6 didn't have a super-secret 7th dream), and made some minor changes. Fun to see how little text is actually used, and how much it stands out when you reduce everything down to hexadecimal.

And that's it. I'm ultimately amused by the project, but there's far better uses of time. I can really only see ROM-Hacking as a hobbyist pursuit by foaming-at-the-mouth fans of particular game, and I mean that in the most obsessive, craziest way. I might be a huge classic gamer, but considering just how cumbersome the process is, I don't think there's a single game I'd ever want to bother with that much.

So onto new horizons! We'll see what I end up screwing with next.

Posted by Kevin on 7:26 PM
Labels: , , ,

Now that school prep is temporarily finished while I wait to hear back on applications, I've thrown myself back into learning Python, which has been a blast. And while it's something I do try to do every day, it doesn't hurt to take breaks every now and then and do something else.

I've decided to use that time to work on silly projects. I say silly because I don't think they're really going to accomplish anything - they're mostly just a chance for me to educate myself about some area of interest. They'll all be fairly game-related, but I fully expect a lot of them will be mostly useless.

For example: ROM Hacking.

I once dabbled with hacking a ROM at a time when we weren't so removed from that generation. I gave up because initial attempts didn't work right, and it seemed like a waste of time. I was still pretty sure it'd be a waste of time, but I wanted to at least see what was involved in such a project, and just how much of a waste of time it would be.

I quickly decided on Super Mario Brothers as my game of choice, namely because it'd be easiest. I already knew there were a number of level editors that would make the level design aspect of hacking this particular ROM pretty simple, and the game itself is fairly basic.

My intentions weren't really to design an elaborate level - I just wanted to figure out how cumbersome it would. A "hello world" was in order! But since the world has never bothered to say hi to me, I opted to do a little dedication to my wife instead.

A little corny I know, but fun. You'll notice the COLURE isn't quite to scale - it's basically spread throughout the entire level, which wasn't my desire. Levels are divided into rooms, which have a set number of objects and enemies. The first room you encounter, for example, has a row of five bricks, 3 question mark boxes (1 with a mushroom), and two enemies. Hacking a ROM image means you're limited to changing what you've got, less than creating per se. I couldn't just stick a ton of blocks in the first few rooms - I was limited to modifying what was there.

I'm not saying you couldn't get elaborately creative in working around that sort of structure - plenty of people have, believe me, and when you can change a pipe to a row of 5 or more bricks, that's no small change. But for me it seems like way more trouble than it's worth. That's basically the thesis statement of this project, by the way.

But we'll talk more about that tomorrow, when I delve into sprites, text, palettes and more!*

*Not actually that much more

Posted by Kevin on 4:11 PM
Labels: , , ,

So it's Sunday, and if Friday is all about partyingpartyingyeah, Sunday is all about confessing, which probably isn't catchy enough to be the next Rebecca Black hit. But maybe it's just enough for decent blog fodder!

So, Sunday Confessional: I would like to own every Virtual Boy game ever made. I'm a big collector at heart, and one of these days I'll have a solid collection of every legit system ever made, and I'll be content with that. I'm never going to try to get all 767 NES games because I don't really to. But all 22 Virtual Boy titles? Sign me up.

Sue me, I love the thing. It's not just a bad system! It's a colossally bad system! It's an incredible, beautifully awful idea. And I really get a kick out of using it. You'll never encounter another experience quite like it! I don't even know where to throw it on a console checklist - it doesn't fit any categories! Really, what's not to like? Except everything about it? Right? I thought so.

I'm at eight. Probably the eight cheapest as well. I'm not saying this is going to happen tomorrow. I'm not even saying it's a lifetime goal. I'm just saying... I think it'd be cool if I had all of them. That's all.

Whew. I feel better now. Truly this is what confessionals are all about! Maybe next week I'll be ready to delve into something more serious. Like enjoying Zelda II.

Posted by Kevin on 2:58 PM

We have reignition.

Going to try to use this site again as a place to talk about the process of going back to school for round 2, discuss various projects I'm working on in an attempt to better myself (but mostly have fun), and whatever silly things come to mind at any given time. It's mostly for my benefit to keep me on track with things, but you're welcome to come along for the ride.

Eventually we'll get a total site design and the like. This is really more like a Day #2 Kitchen Nightmares relaunch than a than Day #3 one. But let's see how it goes.

As for the process: am working full-time again, which is good for funding purposes, not so much for using the time to work on learning things. But it's probably for the best in the long run. Also received notice this week that my readmission application to UCF was accepted. So even in the worse case scenario, I am going back to school somewhere. Which means a lot, trust me.

Posted by Kevin on 1:38 PM

Two years ago I was unemployed and wanted to write about games to cheer me up from the depressing reality that being unemployed can be. That went pretty well for a few months, until I wrote the dreaded words that signals a blog's demise: Will update.

No two words have signaled a site's death more times that the good-intentioned, but ultimately false, promise to update. Which I knew at the time, but wrote anyways, because what else do you say? I wasn't honestly sure what I wanted to do with the site, and spent the next month writing an awful novel for NaNoWriMo (which was fun, despite being, you know, awful), and then got a job after that. And so a new period began.

Which has now ended.

I still don't know for sure what I want to do with this site, but I'd like to do something. I certainly don't intend to use it to talk about the events of the last year. But I don't just want to go back to waxing poetically on why Zelda II is such an under-appreciated gem. That's fun and all, but who cares? There's hundreds of forums overflowing with posts of varying-level of intelligence on such topics. I might think I have a unique perspective, but I also might be a maniacal egotist. So there's a lot of gray area, I guess.

In any event, consider this a teaser of sorts: changes are coming! Things are underway! Really! I just have no idea what they are. Possible topics include: talking about process of going back to school full-time for another bachelor's at the same time your sister 9 years your junior is also entering college, discussing my ongoing project to sell and/or give away something every day during the work week, or maybe, despite my best intentions, just more waxing poetically on such pressing, hard-hitting topics in line with the hottest issues in today's world like why game reviews are dumb.

So, in summary... for better or (more likely) worst: Will update.

Posted by Kevin on 2:28 PM