Matt Hackmann

MattHackmann

The thoughts and goings-on of some programmer dad.

The Canon to Real Life

It seems I may be launched from my protective shelter at home with my family right into "real" life soon (what is "real"? ;-)). I'm currently being considered for a job at Gamespot/TV.com/MP3.com doing web work for them. Now that in itself is cool but it would mean relocating to San Fransico (a good several hundred miles from here). It's kind of an exciting thought, though. Finally making my own money, putting aside worries of my future at least for the time being.

In other news, I'm getting the parish site up to speed again (basically the last job that really needs to be done) and I'm going to rewrite my GBA bowling program. I've been trying to think of a game to write, but it hasn't been coming lately. Oh well.

I've been having some nasty hankering to play old Mario World again (probably thanks to my last write up). So, after collecting some money from VB.NET, I bought it for my beloved GBA :-). Of course, you can't have Mario World 1 without Mario World 2 (aka Yoshi's Island) so I got it too :-). Now my game collection should be complete (though Mario Kart would be fun and the Wario Ware games look like a blast :-D).

And, this just in, we finally found a AC adapter for the old keyboard and now I can start teaching myself how to play :-).

Well, I shall sign off for the night. Maybe next time I'll put up my next autobiographical installment.

History of Me - Part 2

Just a quick low-down before I launch into more Matt lore. We've started ripping up carpet in the house and using the hardwood floors underneath. I've also decided that I'll be writing a platform game as my next project.

But without further ado, here's what you've been waiting for!

My First Love: Nintendo

Ah, the Nintendo. Such a wondrous machine that could send one on fantastic adventures. My first encounter with the magical gray box was in the early '90s. I believe that one day Dad just showed up with an NES (rental). He got it all hooked up and slapped in Mario 3. My world was forever changed. I don't remember exactly how old I was at the time, but I'm thinking probably four or five. After the first encounter we would every so often jaunter down to Popingo (long since out of business) and rent a machine and good ol' Mario 3. Now in my mind this was a good as it got. I don't think I ever really thought of owning one (maybe in my dreams), so it was a complete surprise when that day came:

It was a usual day; I was waiting for mom to pick me up from school (yeah, I went to school at one time). She pulled up and I plopped myself in the backseat and next to me was a box and inside that box was an NES. My first thought was "Whoohoo! Another weekend of fun!" until Mom said "It's ours". My Uncle Dan had mailed us his old machine and game collection. I believe the games we had were: Top Gun, Spy Hunter, Mario & Duck Hunt. About a year later he also sent us Paperboy (which had apparently been sitting in his car). Needless to say I was probably bouncing off the walls with joy. The next big thing was the day that Dad rented the original Zelda (though to this day he denies that he's the one who picked it out). So that was that: I was a Nintendo Fanboy for life.

Over the years we expanded our game collection. We eventually bought Mario 3 which has an interesting story behind it. Apparently some guy bought it thinking it was an SNES games. Of course it wasn't so he took it to some video rental store (name escapes me) and they sold it dirt cheap. We also picked up some other games like Star Trek and Gauntlet II.

But after a while the same old games are, well, the same old games (though I still enjoy Mario 3 to this day). So I started pining away for the new kid on the block (which was about four years old at that point :-P): the SNES. Whenever we'd go to a store, if they had an SNES set up I'd be there playing it. At one point I actually had enough money to buy one... and then it went off sale. I was pretty ticked. My Uncle Dan was down and I know I tried to get him to give me enough money to buy the thing. DEEP DARK REVEALED HEREI even went so far as to write a priest friend of mine saying more or less:

"I broke a lamp and my mom wants me to replace it but won't let me do any kind of fund raising and I don't have any money. Could you lend me $50?"

Yeah, lying to a preist. Reeaaall smart :-P. Needless to say I didn't get a reply. I saw him a few years after I wrote that letter and I was afraid he'd mention it. Maybe he didn't see it, maybe he forgot about it, maybe he realized that I was a stupid little kid then because he never mentioned it.

But anyways, I believe it was that Christmas of that year, 1996, that my dream finally came true. I remember it like it was yesterday:

  • rip rip rip * Me: (hold SimCity in hand) Why did we get an SNES game if we don't have an SNES? My thought process at that moment was: Well, maybe some games work in both NES and SNES. I was trying not to be too hopeful. Chris, a couple feet from me, was taking the paper off the machine. Well, screw that thought.

That was a pretty magical time. Probably the high point of my gaming experience. Not too long after Christmas we, Jeff, Chris, and I, were going to buy Yoshi's Island. I could have afforded it myself but, as happened earlier, it went off sale. But at the last minute Chris backed out to pursue his own whims and we couldn't afford it anymore. So I opted for Zelda: A Link to the Past instead. All I had to do was borrow a dollar from Jeff to make ends meet on that one. It was probably one of the best games I ever bought. It took me over a year to make it through that game (recently I beat it in about a week :-P).

There's a tale that I have to tell and not sure where it fits in chronologically, so I'll tell it here. I was pals with an older dude (I call him a dude because he was one) called Dick. I knew him mainly through the Knights of Columbus breakfasts. A side story: I remember one time when he came to school to drill my class on math facts. Everybody was appalled that I called him Dick "gasp You're supposed to call him Mr. Kamp!". He never had a problem that I called him, in fact, I think he got a kick out of it. But anyways, he would often bet me that I couldn't do something (and I usually couldn't). So one day he said "If you can make it through Link's Awakening I'll take you out to eat if you don't you'll buy me breakfast." Well, I nought him breakfast. But along with Zelda he also lent us Final Fantasy III and Donkey Kong Country (yeah, he was a dude ;-)). The next time I saw him I bet that he couldn't make it through my Zelda game (same deal, go out to eat or buy breakfast). Well he didn't make it through so one afternoon we went to Murphy's. That was probably one of the best afternoons of my life. I was glad that we did that before he passed away.

Somewhere in our SNES the N64 was released. I remember well playing Mario 64 at Wal-Mart and being absolutley blown away by it. 3D games were something I had never really thought about so this was something totally new to me. As with the SNES I would play any N64 I came accross. But it was never to be that we'd own one and thus I entered the Dark Times.

We had the Dell by that time and I was starting to get a sense of the vastness of the Internet and somewhere in there I discovered ROMs and emulators. I believe it was on a Zelda site that I first discovered them. So I got to thinking: If they have these ROMs of Zelda perhaps they have them for other games. Yeah... they did. I believe the next thing I got was Final Fantasy III. It went around like this for a little bit until one day I went looking for N64 ROMs. I found them and being on dial-up at the time was appalled at the size. Mario 64 I was able to get in one run when Mom and Dad were out and Zelda 64 I downloaded over the course of several 20 miute spurts when Mom would take Dad back to work (see the trend here?). But I didn't stop there, I also got Star Fox 64 and Mario Kart 64. I was a crazy little copyright infringer. Then came the big hard drive wipe (my fault :-P). I never really delved into emulation quite as much again.

Christmas 2001 was the next major step and probably the most shocking of all the Christmases: Jeff, Chris, and I all got our own Gameboy Colors (mine was purple ;-)). I couldn't believe that that was actually happening. It started with Chris opening his and I thought "Lucky butt". Then Jeff opened his and I was more like "Oh.. my.. GOSH!!". We quickly forgot about the fact that the SNES had been put up forever becuase now we had portables! Chris went on to own every GBC Zelda game there was (and they are good, good games too). We have such a large number of GBC games it almost rediculous. This came, hilariously, around my decline in the video game immersion. Out of the 15-20 GB games we owned, I had two.

We were happy for a year or more until all the good old SNES games started coming out for GBA (Mario 3, Yoshi's Island, etc.). That's when we started yearning for more (greedy little brats we are, eh? ;-)). One day last year I just upped and said "I'm buying a GBA whether you like it or not!" and mom said "OK". Well, that opened the door and everybody got GBAs (curse them, why can't I be on top? ;-)). Well, actually, that's a stupid question there because I do own the brunt of the GBA games now: Zelda: Link to the Past, Mario 3, Minish Cap, an eReader. Sometime this year, and I really couldn't tell you why, I decided I'd rather have an SP. So I used some of the money I got from felling trees to upgrade and I am really happy now that I did. Heck, even mom likes the thing :-P. It's the perfect portable: small, foldable, very sleek. I have a media player for it and so it's also my "iPod". My ultimate goal is to have all the games that I played as a kid on the SNES for my GBA and then I think I can stop there (Jeff and Chris went on to get DSes, I'm pretty happy where I am).

Now that the GBA stuff is out of the way there's only one last thing to cover: Gamecube. 2003 came and we had been console-less for a few years. The Gamecube was the new trinket so I made it my goal that Christmas to make sure I could squeak in a little Gamecube plug to the parents. I never actually expected it to work, but apparently it did. I was shocked to say the least. It's been fun to be riding the edge for a change and the games for GC are awesome. Mario Sunshine is every bit as fun as Mario 64, Wind Waker just rocks the house as does Super Smash Bros Melee and I'll be looking forward to playing Twilight Princess this fall.

So there you have it. Our journey towards Nintendodom got off to a rocky start but we're certainly in the thick of things now. And one thing I forgot to mention: It was probably Nintendo that sparked my intrest in becoming a game programmer (as you can well see it certainly played an integral part of my childhood). Looking towars the future I plan on owning a Revolution if not just to have all those wonderful NES, SNES and N64 games at my fingertips. That's all for this entry, tune in next time for: Memiors of a Kid.

A History of Me - Part 1

For lack of anything else to write I will begin a series of autobiographical articles about me (ego bloating time ;-)). Before I start that, though, I'll give a quick rundown of the week. I rebuilt our shelves this week: painted them white and added some proper braces. Looks pretty good. I also, more or less, finished the docs module which is nice. Now I can start work on the various game stuff I want to do (hooray :-D!).

But now on to the main subject. This entry's subject is: A Walk with Computers: My Journey through Technology

My first experience with a computer would probably be the old TI Dad had. Every once in a great while Dad would crack it out and I'd knock myself out pressing random buttons. I thought it was pretty cool to just be pressing buttons.

I'm not sure when I first came into contact with PCs, but I'd be willing to bet my money that it was one of my relatives. My Uncle Darin had an 8088 and he'd sometimes let me play Concentration or Wheel of Fortune. My Uncle Kurt, rest his soul, had the Mother Goose game. I loved that little game. Not only did it look nice but, hey, it made noises aside from beeps! Of course, in retrospect it's still just beeps.

I always pined away for the day that we'd have a computer of our own. Whenever I'd go over to my grandparents house they'd have these boards that I'd pound nails into every time I came over. I claimed I was building a computer (lol). But, the years went by and it seemed the day would never come.

That day wouldn't come until the spring of 1997 when Dad took his old 486 home to do work at home. The first time he fired up MSPaint was magical. My favorite thing to draw was the Death Star blowing up Alderaan (we'd just seen the Special Edition of A New Hope). Then came the day that literally changed my life. All hip to learn about this new frontier I got some little kiddie books out of the library on computers. In the back of one of them was a couple of programs written in QBasic. Thinking about it now it was a good thing that computer had a Win95 upgrade because otherwise QBasic would not have been on there and I wouldn't be writing this now. But, anyways, I put in those programs and was just blown away by the fact that a normal human being like me could program the computer. So I started "reverse engineering" their code and taught myself how to use QBasic. It took a long time before I finally got to the level of making an actual game.

It was early 1999 and the game was Plane Attack, an ASCII based Battleship style game (though the enemy jumped around to random spots). If you were in line with the enemy you'd have the option to shoot it (which was a guess the number thing). My next game, and first time to dabble in graphics, was "Mario Mash". You'd move little Mario towards a turtle and jump on it. Exciting, eh?

By the time '99 came around the magic of the 486 was starting to wear off. Games were on the market that we couldn't play. For a while the problem was a lack of sound hardware but then it was 3D accel cards and Pentiums that became all the rage. Luckily I didn't have to suffer too long because in September of '99 we bought the first Dell. Around the same time, on the day my grandpa died IIRC, I also bought an old Mac Plus at a garage sale (and now that I think about it I think we still owe that lady $5 bucks...). That only lasted about half a year, though. A gift card of mine got shoved into the disk drive so I opened it up and got it out, but when I got every thing back together the drive didn't work. My guess now is that I had the cable in backwards but I knew of no such thing back then.

My next big step in programming would be the day I got VBasic for my birthday. I'd seen the thing sitting at our local Staples during the 486 era, but it certainly wasn't up to the task. Up until I got it, which was in 2000, I'd kind of forgotten about it. So that first night I was trying to write a game. I'd done some experimenting with VBA for Excel so I knew a little bit about what I was doing, but not much. Needless to say I didn't succeed. Eventually, over the years, I learned about WinAPI and DirectX and that's basically where I am today, though I did pick up some C++ along the way somewhere. That probably came in when I started:

Web development! Before the turn of the century the library had gotten computers with Internet acces. Of course this was another exciting realm for me. I could find sites about Final Fantasy 3 and listen to the music while away from the console! The site I liked in particular still exists today (and it hasn't changed a bit): Final Fantasy III, The Ultimate Page. The newness of the Internet wore off over time and I wanted to make my own presence on the web. Where the heck I learned about Geocities I don't know, but I did and the big debut was on June 1, 2000. We had just found out that Mom was pregnant with our first sister so that was the big headline. I used the WYSIWYG editor they had which served well for a time. It wasn't until Christmas of 2000 or 2001 when I used a gift card to buy a bargain book on VBScript. Hilariously I couldn't tell you anything about VBScript because for me that book was an HTML primer. So I made my first HTML website and loaded it up. For the time it looked pretty cool. Every so often I'd want to add new features and I'd rewrite the site from scratch. Then came the day where that static HTML just wasn't going to work anymore. I was trying to make a poll but couldn't figure out how to write the parameters file to the server.

Now before I can finish that story I have to start another. One day when I was at Lucky's VB Gaming site and I figured I'd actually look at his links page. There was a link for a so called "Young Programmers Network" and I was instantly intrigued. Not too much before I had tried to start this kind of a group on Yahoo! to see if there was anybody else out there with my kind of talent (I was so naive) so to see that somebody else had actually done such a feat blew me away. So I signed up and made my debut: A VB game contest. So thus I was indoctrinated into the YPN, the next big thing in my life. I do need to explain that this is where my infamous nickname of dxprog started. At the time I had begun writing games utilizing DirectX and I figured that was fitting: DirectX PROGrammer.

Also, something else I should mention. Somewhere in 2001, I believe, I started yearning to have my own PC. We had just hit the eBay scene and computer parts were abundant and cheap (if you got ones that were old enough :-P). So I figured I'd build myself and old 486. Well that was stupid. As far as I got was the processor. I believe at my Dad's 40th birthday party I told my Uncle Darin about that dream and I was hitting him up for spare parts (I also bugged my Uncle Dan. These poor guys :-P). Anyhoo, my birthday rolled around and I got a package from UPS. Back then that was a rarity. It was from Darin and inside was his old P133. I was eccstatic to say the least. I holed myself up in my room and took the thing apart and put it back together and installed Windows and made out with it... okay, not really ;-). But it wasn't too long after (or maybe at the exact same time) that my Uncle Dan came up from Pheonix. And he brought several box loads of stuff. Talk about guy heaven! Of course, over the years I've upgraded (gone through 2 monitors with bad cables) and now I'm pretty much happy with my system (though I kind of want an 80GB HDD, or anything bigger than what I've got :-P). There was one point where computer hardware was more fascinating than writing software. I ate, breathed, and slept the stuff. But I guess it wore off at some point because I'm not like that nearly as much anymore.

Okay, now that all that's out if the way I can continue with the web site quest story. I was trying to figure out how to do that so I asked my pals at YPN. I can't tell you how I figured out how to get ASP going or any of that, but I did and began my journey on web programming. It was around the same time that I saw some pictures of XP in a magazine. I couldn't believe that that was Windows. So I named my first completely ASP driven site: Matt's Page XP. When that proved inadequate I rewrote it from scratch and I still have the code for that one. But I didn't like that either so I rewrote it again this time I actually named the engine, Fishion I (notice the beginning of the fish names), and I called it The M Zone.

So things were working out quite well for me. I was writing games and making web sites. The only thing I wanted was to be a moderator of YPN (yeah, I wanted it). The opportunity showed up when KaGez put out a "help wanted" for the new YPN engine: partyfish. I said I'd help and he signed me on. My first job was to write the search engine. And, surprisingly, I did it. It was bloody slow, but it worked. But after that things went downhill: whenever I'd add a feature something would break down. This kept happening until I said "SCREW IT!" and started over from scratch. That engine I called YPNgine and it was pretty good for my level at that time (I'd been working with PHP for about 4-6 months). That actually made it to release and served YPN for a while, until it too started to break down under the stress. That's when I sat and said "HEY! I need to make something that is going to work in any situation and can be easily patched or upgraded." I had been reading a book on game programming that utilized object oriented programming and the light clicked: Tetra was born.

The first things I did on Tetra was make some homemade cache and templating modules. Tetra became something so powerful and simple to work with that every site I've created since that February day in 2004 has had Tetra at its core. And I hate to ring my bell here but I believe that it's probably my finest work.

With all this web development, though, I didn't have much time for game programming. I mean, I was running YPN, I was running the site for the parish and somebody from Arkansas wanted me to make a wbe site for them too. So I'd been swimming in a buttload of web work with little room for anything else. Until one day just a couple months ago. I was prowling around Gamedev.net and there was an article about a VisualBasic game contest. I figured, "Hey! Here's my chance to finally make a game and maybe get something out of it too." Oh I got something out of it (and I'm not just talking about the prize ;-)). I decided to make a clone of my favorite puzzle game: Tetris Attack. I'd tried to do this before but horribly failed. But my resolve to make it this time around had never been stronger. I wanted a game to enter that contest and I wanted a legal version of my favorite game, so I began. Things were going great. I had things figured out and working. But I have this real problem of when I hand my program to somebody else the bugs pop up. So I decided to turn the game over to the pros at tetrisattack.net. This was probably the smarted choice I made. The first couple of weeks killed me. "This doesn't work right" "The real game wouldn't allow this" "Your physics are really borked!". It made me want to cry, but I got the problems worked out and it turned out to be a winner (literally). I learned a lot and the completely scriptable sidekick guy formed the basis for a game I currently have planned (but to tell you about it now would be a crime ;-)).

So there it is. Basically my entire history involving computers. I look back now and realize I forgot about some of my early VB game ventures (Space Shoot II, Space Invaders and Eat), but you get the gist of it ;-). Stay tuned for part II: My First Love: Nintendo!

We is in the paper... kind of

While we're not mentioned directly (at the parents request) the local paper, Examiner Enterprise (aka Teh Typo Tymes), ran an article on the group that's been helping us get the house whipped into shape. Now this is a crummy recreation of what's in the paper, but until I can get all the pictures scanned and stuff this'll have to do.

But enough of the nicey, nice stuff. Tomorrow they're coming again to finish the painting but this time I'm here. Bwa ha ha ha! I AM MATTBERT, EVIL DIRECTOR OF QUALITY CONTROL! BWA HA HA!! It's not quite done yet, but I've even rigged up a Dilbert style self-portrait of myself (which I will have online once the UDM is finished).

Speaking of which, the UDM is coming along quite nicely. I got a ton of work done today and everything is looky pretty spanky! You can take a looksee if you want.

Well, I need to get some sleep so I have plenty of energy for whip cracking... I mean.. painting tomorrow ;-). G'night!

Of paint and spackle

Yesteray began day one of the house rennovating project. I was out helping mom with little kids but I plan on staying next Saturday to be the Supervisor from Hell(R) :-D. Some sanding and spackle jobs done by the teens who are pulling this off was... well, not professional. And while I don't expect them to be perfect, painting over screws and nails is not acceptable.

Saw an interesting article about how people ranked their ISP. SBC was pretty up there and, to my joy, AOL was dead last. Guess I'm not the only one who thinks of it as AO-heL.