Month: October 2005

My Story

Hi! I’m Viridian. My real name is Anthony Salter and I reside in the rolling plains of Austin, Texas, USA. I currently work for a game company called Gizmondo Studios, making games for the Gizmondo handheld device. I’m just finishing up my first game.

I’ve been playing computer games for at least 25 years. The first video game I ever played was the original Magnavox Odyssey, which I played in the late Seventies. I graduated to the Atari, then the Colecovision, and it was about that time that I got exposed to computers at school. Once I realized that I could actually teach the computer at school how to play a video game similar to the ones I already enjoyed, it was pretty much all downhill from there.

Like most computer geeks I also enjoy role-playing games. My first role-playing experience was when my sister and I would give each other free-form situations to figure out, ie: “You’re in this bad situation and you have this, this, this and this. How do you get out of here?” I finally got exposed to “real” roleplaying in middle school when I got to read both the original AD&D Player’s Manual and several Fighting Fantasy Gamebooks. I was quickly hooked.

In high school I was constantly programming. I wrote a program to utilize the 4-voice sound of the Tandy 1000 my parents owned to play a short piece from Tchaikovsky’s “Nutcracker”. I arranged the music myself by ear, since I had no sheet music and wouldn’t have been able to read it if I had. I wrote several programs that attempted to randomly create RPG overworlds…none of these worked particularly well, but I was pretty proud of them. I wrote another program that used the Tandy’s 16-color graphics to present a town from an overhead perspective that the player could walk through – stepping over the threshold of a building removed the roof of the building so the player could see inside. I was pretty proud of that. I wish I still had all the projects I did back then, but I was saving them all on a single floppy disk (it was my favorite color, green) and it went bad. I lost everything.

High school was also where I was exposed to the Ultima series of computer role-playing games for the first time. They weren’t the first I’d ever played, but they were the best by far and they grabbed my frontal lobes like few games I’d ever played before. I found them fascinating, and also appreciated how the designers tried their best to enhance the experience by including trinkets and maps with the game and by writing the game manuals “in character”. I decided that I either wanted to work at Origin Systems or at Electronic Arts (this was back before they were evil).

In college things kind of went sideways. I had expected upon starting a computer science major that I would finally get some practical instruction on how to program. I was looking forward to this because everything I’d previously done had been self-taught. But back then you didn’t even touch a computer for a computer science major until your third year, and you didn’t learn C and assembly (the things I was most hankering to learn) until almost your fourth. And I was paying for college myself, and was pretty sure I wasn’t going to be able to pursue more than an Associate’s (two year) degree. This was very disconcerting to me and I began to grow disillusioned with college. When combined with a very hectic schedule (I was working two jobs when I wasn’t in college, and then dropping one job when school started) plus a bad home life with my parents, and I finally cracked. Practically on a whim I withdrew from college, gathered up my savings, and moved by myself to Austin, Texas – home of Origin Systems (I decided against EA). It was November, 1991, I was 20 and I’d never lived away from home before.

To this day I don’t know if that was a good decision or not. I still wish I had gotten my Associate’s degree, but I don’t see how I could have. Back then I was skinny, shy, fearful, and had no self-confidence. And my situation at home was so bad that it forced me to overcome all of that and move to a city I’d never lived in before, with no job propects, no place to live, and hardly any money.

Without a college degree and without anything to demonstrate I had experience making games, I ended up working fast food for a long time – five more years, in fact. It took me years just to be able to save up enough money to get another computer, and of course I couldn’t learn much until I did. Once I finally overcame that hurdle I worked fast food during the day and at night tried to teach myself programming and game design. I met a wonderful woman who I married, and we had a beautiful daughter.

And then one day I just got sick of working fast food. I quit and applied at the local Motorola plant. Despite not having a degree, I scored very well on their aptitude tests and landed a job there testing microchips. It was a strange schedule – midnight to noon two days, then midnight to eight AM two days, then three days off – but it paid better than any other job I’d ever had. This was very encouraging to me. I had started thinking that maybe I’d missed my shot and would just be stuck in fast food forever due to my lack of higher education. Getting the Motorola job proved to me that I could do better.

My wife was actually friends with one of Origin’s HR people. She had asked me several times in the past if she could put in a good word for me with her friend, which would increase the chances of me at least getting an interview at Origin. Always in the past I’d told her no, because I didn’t feel I was ready and because I was scared to death of being rejected by Origin. But, buoyed by my success at Motorola, I finally told her yes. She asked her friend at Origin HR if they had any openings, and it turned out that they needed someone to give game hints on their hint phone line. This seemed right up my alley because I’d at least played every game Origin had ever made, and I’d beaten quite a few of them.

So in 1995 I finally got an interview. I was so scared driving up to Origin I nearly threw up in the car. I got there early, made sure I looked okay, dried my hands in the men’s bathroom (interviewing tip, prevents clammy hands) and then reported to the front desk.

The interview went…well, there really aren’t any words for how well that interview went. Once I got started my fear went away and I answered every question the two ladies interviewing me had to ask. I got to demonstrate that I knew about Origin’s games, about the people there who made the games, and Origin’s history. And it was clear to me as the interview progressed that I was telling these ladies exactly what they wanted to hear. Then it was over. They thanked me and told me they’d call me if I’d gotten the position.

The drive home felt really good. But things got even better when I got home. I found my wife on the phone with my interviewers and they were telling her that I’d gotten the job! They couldn’t tell me when I was there because Origin had a policy of not hiring people on the spot!

My time at Origin was half-wonderful and half-horrible. I was working the job of my dreams but I got to Origin just in time to watch EA close in, take over, and gut it. (This article at The Escapist has the details.) I got laid off about eighteen months later, just when I would have been able to start moving over to a programming position. The good news was that during my time there my role had expanded to doing both general tech support and game testing, which helped me later.

I’ll be honest. Leaving Origin hurt bad. It took me a long time to get over it. I quickly found another job doing tech support so my family didn’t hurt financially. And I kept hacking away at my own stuff and trying to figure out exactly what pointers were for in C. But I just didn’t know where to go after Origin. There wasn’t another company that I felt as strongly about. I had had an unhealthy fixation on that company, and it was necessary for me to break it before I could continue. It didn’t help that my new job was close by, so I had to drive by the Origin building twice a day.

But finally, after doing phone tech support for about two years, I managed to worm my way back into the gaming industry as a tester at the 3DO office here in Austin. I worked on a game called Crusaders of Might and Magic, which was a good game made by some very good people (it was their first PlayStation game, though, and suffered for that). When that project was over I asked if I could become a designer on the next game. Despite having a good relationship with the director and having exhibited the necessary desire, the director turned me down because I had no experience. And since they weren’t going to need a tester for their next project until they hit alpha, that meant that my time at 3DO was drawing to a close.

I was kind of at a loss as to what to do next when a friend of mine from Origin called me. She was the testing lead at Human Code, a company that made edutainment software, and needed someone so I jumped over there.

Human Code was…odd. They had some really talented people there, but the process by which software got written just didn’t seem to make for fun software – at least in the opinion of me and the other testers. There were no designers at Human Code. Game screens were typically just laid out by an artist, who of course was more concerned with how it looked than how it played. It got to the point where we, the testers, volunteered to do design work for free just to make the software better. We finally got our chance on a game called Jessie’s Wild West Rodeo, which was based off the Toy Story 2 license. One of my testing buddies became the game’s designer and needed an editor to design the levels. So I wrote it for him.

That editor caused a small sensation in the company. I had a constant stream of people tromping through my work area just to take a look at it…I guess the concept of a level editor in an edutainment product had never been tried before. I was told that I was going to be promoted to programmer (finally!) and would be writing more tools for other games.

Then, two weeks later, Human Code went out of business. My wife was six months pregnant with our second child.

I was out of work for about six months, and during that time my son was born. I spent the time ostensibly looking for work, but I mainly focused on getting my programming skills up to snuff. I bought a book called Jamsa’s C/C++ Bible and worked straight through it, taking notes and writing little programs to demonstrate knowledge of every function in C and C++.

Then the same friend who got me my job at Human Code managed to wrangle me a position at her new job, Multimedia Games. MGAM was a company that made stand-up video bingo and video slot machines for Indian reservation casinos. The games were programmed in Windows using Visual Studio and DirectX, and ran on very cheap generic boxes we got from Dell.

I learned a lot at MGAM. I finally got to polish my knowledge in a production environment, and became one of their best programmers. I worked at MGAM for three years alongside some fantastic people. I worked on over 30 games, and was the sole programmer on at least 10 of them.

But MGAM wasn’t really game development, and that kept nagging me. MGAM paid well enough, allowed me to grow my skills to a point, and was a very stable job (casinos always need new games). I was perfectly aware that “real” game development wasn’t nearly as stable. And we had a third child on the way.

I initially decided to go the indie route. I’d been reading and posting on the Dexterity forums for a while, and I’d been reading interviews and articles about successful shareware developers like Jeff Vogel. I bought The Indie Game Development Survival Guide. I bought this web space doman and started designing my first game. I figured I’d work MGAM to pay the bills and make indie games on the side to scratch my “real game development” itch. But it didn’t work out that way.

Practically as soon as I decided that I was going to make real games no matter what my circumstances were, this opportunity at Gizmondo fell out of the sky and into my lap. I was hanging out in the #gamedev IRC channel when a call went out for game programmers in Austin. I figured, “What the heck” and responded.

And now I’m here. I love this studio. The people here are great, they are all hardcore gamers, they love making games, and I really like the games I’m working on.

But, despite having not gone the indie route, I still feel a kinship to indie developers. After all, that’s how the industry started.


Nostalgia

I love this time of year. Summer’s iron grip has finally been broken. The trees are still mostly green, but the weather is cooling off and could occasionally even be described as “chilly”. I always feel that my brain works better once the weather cools off. And it was also at this time of year that I first came to Austin.

I had an article telling the story of my journey towards game development on my last site, but that site is now defunct and I don’t feel that article was very well-written anyway. So settle in for a spell, folks, and listen to my life’s story.


40-Hour RPG Update 0

Well, I-

Update zero? What the heck do you mean, update zero?

Well, I’ve had to spend some time updating my framework. Since that’s not time working on the actual game, it doesn’t count against my 40 hours.

Oh, oh, I see. You haven’t even STARTED working on the RPG yet.

Sigh. Yes, that’s correct. I haven’t started on the RPG yet.

So what could you possibly have to say?

As I was about to say before I was so-

Hmph.

-so rudely interrupted, despite not having started on the RPG yet, I have accomplished a lot. The framework needed a lot more work than I’d anticipated, and it also needed this:

The eyes creep me out...

That may not look like much, but if you click on that skull icon, the window closes. That icon is a black triangle that shows that my simple GUI system is working. Wrote it in three hours, and it means that I can have mouse control in the game.

Next update will show some real progress on the RPG, I promise.

Suuuuuure…


More Thoughts…

No music or sound effects. Sorry, just don’t have the time.

Mouse control is iffy. I really, really want it. It’ll make the game much easier to play. But a keyboard-only control scheme would be much easier to program. If I don’t use the mouse, people won’t be able to play my game without a thorough reading of the instructions to figure out what key does what. That makes it too much like a Roguelike. But supporting the mouse means I either have to come up with a rudimentary GUI system or find and figure out an existing one – and I have to do this BEFORE I can actuallly get started on my game.

I’m deliberately limiting myself to a single 256×256 tile file. Since the tiles I’m planning on using are 32×32, this means I’ll have 64 tiles to work with. That doesn’t sound like a lot, but my tiles won’t be animating, and heck, Ultima III was made with only 64 tiles.


Okay, I’m Going To Do It.

I’m going to do a 40-hour RPG. The 40 hours will not be contiguous, I’ll probably use them all up over the course of the next two weeks or so (give me a break, I’ve got three kids). I will be keeping rigorous track of my time, and I will be posting my creation at the 40-hour mark, no matter how hideous it is.

How will I do this, you ask? Well, I’ll probably fail spectacularly like I did last time (when I got so interested in terrain generation that I burned up 8 hours just on that, making it impossible to continue). But this time I think I have a better plan.

First, I’m going to spend some time polishing up my game framework. This won’t count against my time, since it’s the same framework I’ll be using on every future game I make. I’ll make sure the framework supports everything I need before I start, so I don’t waste precious time coding something like GUI buttons when I should be laying down dungeon corridors. It’s based on the SDL, so that’ll make things even faster.

Second, I’m going to steal every resource I can. While the game will be graphical, it’ll be tile-based, and I’m going to use one of the free tilesets I’ve found on the web. I’m leaning towards the Angband graphics on this page. They’ve got a nice little retro-cutsey feel to them (though not TOO kawaii).

I’ll also be using maps from online map resources, like this one. I’ll also be researching lots of stuff off of rec.games.roguelike.development to speed up development.

Third, I’m going to keep the scope as limited as I can. The player will only control one character (this makes me cry; I SO want to do a tactical combat RPG). The game will consist of linked 2D tile maps for overworld, town and dungeons. All maps will be the same size and use the same code. I’ll write a very quick and dirty map editor to speed content creation. There will be an inventory system, but it will be quick and dirty, and the player won’t be putting bags inside of bags. Dungeons will be 2D overhead mazes or collections of rooms, like a Roguelike. Will they be randomly generated? That would be awesome; don’t know if I’ll have time. The game I’m envisioning will basically be a cross between a Roguelike and Ultima III.

I’m also considering releasing a 40-hour version, and then giving myself another 40 hours to add more features and also releasing an improved 80-hour version.


Holy Moley, Someone’s Reading!

No, really! Someone is actually reading this blog, and has even gone so far as to link to this blog from his blog! A red letter day, this is!

It appears that Gianfranco Berardi read a couple of my posts and liked them. Well, I like his blog, too – it’s just the kind of blog I like to read. He’s a budding indie game developer who is doing things like Game in a Day projects to sharpen his skills. Kudos!

On a related topic, Lordamighty, but there are a lot of game development blogs and sites out there now! I remember back when there barely weren’t any. I could spend all day just following links…but no. Must be strong! There’s work to be done and games to be made!


Okay, Here’s The Problem…

The problem is that I can either write an engine for a top-down, 2D, robust RPG with world, city and dungeon maps, NPCs, quests and quest objects, spells, fighting, and inventory in 40 hours…or I can actually take that engine and create all the content for an RPG using it in 40 hours. But I can’t do both. Here are my options:

1. Just do what I can in 40 hours, and then post it, just like I was supposed to do on my first try. I’d learn a lot, and I could probably work something up…but I probably won’t be satisfied with the results.

2. Use a prebuilt engine and just create our content for it. I don’t like this idea, for a couple reasons. One, most prebuilt engines are designed to make SNES-style Japanese RPGs. Nothing wrong with that, but it’s not what I’m making. And two, I won’t learn as much.

3. Create the engine, but create no content for it. I certainly would learn a lot but it wouldn’t be very satisfying to have nothing runnable to show at the end of the forty hours.

4. Give myself more time. This feels like cheating.

5. Use another game’s precreated content and just write a replacement engine for it. That’s darn tempting. If I were going to do this, I’d almost certainly use Ultima III’s content…a plus is that a decent PC remake of Ultima III was never made. Remake Ultima III in 40 hours…hmmm.


40 Hour RPG (Take 2)

Well, things have kind of slacked off a bit…

Oh, so Hit & Myth shipped?

No, it’s kind of in limbo…

Really? What’s all that about then?

It’s part of the Story I Can’t Tell Yet, which hopefully I’ll be able to tell soon.

You cop-out! Tell us what’s going on right now with Hit & Myth!

Look, this post isn’t about Hit & Myth, okay? It’s about me trying again to make an RPG in 40 hours. I learned a lot last time, and I hope I’ll learn even more this time.

Unfortunately, what I learned was this: making an RPG of the kind I’d really like to make in 40 hours is nigh-impossible.

I could write a completely text-based engine that allows the player to buy equipment, go down into a “dungeon” which was basically one room with progressively harder monsters, fight them, level up, and come back up to buy new equipment. I could certainly do this in 40 hours. (Heck, I might be able to do it in ten.) But that’s not really an RPG; it’s just an RPG combat/advancement engine.

I could write a game very similar to the above, except that, instead of a text-based one-room “dungeon” I could create a randomly created dungeon level that the player could explore. His job would be to go in, kill everything and then come back up to get better equipment. He could then re-enter the dungeon, which would give him a new randomly-created level to explore. Basically, a very simple quick-and-dirty Roguelike. I might be able to pull that off in 40 hours; the real question is how long it would take to figure out (or research) how to randomly generate a dungeon level. This is basically what Jay Barnson did when he made his 40-hour RPG.

Or I could write a game with an overworld, towns and dungeons, with NPCs that you can talk to and can give you quests, an inventory that allows you to keep and store quest items, and an overarching plot for the game where you end up saving the world at the end.

This is what I tried last time, and you just can’t make that kind of RPG in 40 hours. But that’s the kind of RPG I want to make…

So I’ve got a choice – either scale back my game or give myself more than 40 hours. I think I might be able to write a simple RPG of the style I want in 80 hours…

I’ll have to think about this.


He Still Annoys Me…

…but I have to hand it to Greg Costikyan. He’s putting his money where his mouth is.