So... I launched my game about a week and a half ago. Finally.
I remember the day I decided I wanted to make games. I was playing Commander Keen, as I always did when I was about 14 years old, and it dawned on me that *someone* had built this game in this universe. Someone had drawn these cute little aliens which I was jumping on with my pogo stick. This was someones job! Then I started looking at the game with a different set of eyes: Someone chose to place a pixel here of this color, for a particular reason, and the end result is this game I love. ... I wonder if I could do that too?! What would it take? I bet it would take a lot of work, but it would also be a lot of fun. I think I was in about 7th grade when I decided I wanted to be a programmer so that I could make games. I tried to learn programming at that age, but I sucked. I tried to teach myself QBasic. Back then, we didn't have the internet. So, learning QBasic was a matter of reading the help files and hoping to be able to build a program. I began to understand what a variable was. Coincidentally, this helped demystify algebra a bit. I could pretty much print text to the screen and play solid sound tones off of the PC speaker. I realized how much I sucked. I needed to get better as a programmer if I was going to have any reasonable shot at making games.
In high school, I was extremely eager to take programming classes. I wanted to learn how to program games!!! Nothing else mattered. "Make games, no matter what it takes!" This would become my motto in life.
The first programming class was visual basic 6. Driven by my passion to make games, I threw myself into learning programming. I learned very quickly. I learned how to design user interfaces with buttons and interact with button press events. I made a tic tac toe game! Then, I wanted to play tic tac toe against the computer, so I tried to create AI. All I knew at the time were if statements and sub routines, so I struggled to get any sort of AI working. I never did get it. The next programming class was a C++ class. At the time, the language syntax of C++ intimidated me. It looked way harder than visual basic! I took the C++ class... and I got a C. I realized just how little I actually knew about programming. I learned about loops, structs, classes, arrays, and never understood pointers or functions. Every time I would write a rudimentary C++ program, I'd forget a semi-colon somewhere and get 100+ errors. I was often very frustrated. Why am I suddenly so bad at this stuff? So, after I got a C in the intro to C++ class, I had to decide whether I'd retake the class or move onto the advanced C++ class. Do I move forward without understanding pointers or functions, or retake the class and get a better foundation of the basics? I decided to advance: I would just have to work a lot harder to makeup for my stupid. The first week of class, I went home and decided to sit on my home computer and spend the rest of the day figuring out functions, and nothing else. They gave me a lot of trouble, so if I could figure them out, it would be one less problem. So, I did. I spent the whole day practicing trial and error. I learned to take somewhat of an exhaustive scientific approach. I would write down what worked and what didn't work and trying to formulate why something worked and something else didn't work (ie, what does it mean to pass by reference vs. pass by value?). Oddly enough, my after school efforts paid off! I learned functions and they were no longer a mystery to me. What if... I did this with everything that gave me trouble? I'm not smart enough to pick things up quickly like everyone else is, so I just have to go home and make up for it by working extra hard. This became my secret weapon. I learned advanced C++ and... instead of failing as I expected, I got a C. The next programming class was an advanced programming class, sort of more an "independent study" type of class. Students would use what they learned to make GAMES. Holy crap, that's what I want to do!!! And these are LEGIT games because they're full screen and they have moving graphics! If there's anything I do in my life, it's taking these classes and making a full screen game! We got this book called "Game Programming for Dummies", which went through the steps to setup direct draw to make a sprite based 2D game. It was great! I built my first game! It was super crappy, but I had a foundation to build upon! I started realizing that a lot of the things I do to program games are repeated, so I started creating a very simple "library" of common functions. During summer vacation, I spent a good two months of the summer building this 2D space ship game I called "star fighter". It was a two player hot seat game which played like asteroids, but you fought your space ships against each other. I was still a terrible programmer and I was terrible at mathematics. One of the toughest problems I faced was trying to get my space ships to fly around in circles. I knew nothing about trigonometry. So, the approach I had was something like: If you're flying up, you move along the Y axis by 3 units and the X is 0 units. If you're flying down, you move at -3 units and 0 units. If you fly right, its +3 on X, 0 on y. and left is -3, 0. But, what if you're flying at a 45 degree angle? I did some approximations. If you fly up and to the left, you'd move at Y += 2; X += 2; What about 60 degrees and 30 degrees? I tried to eyeball it. As you can guess, I had some strange bugs. The space ship would sometimes move faster or slower depending on the angle it was flying at. And then, I also had to have images which represented the angle the ship was flying in. I was a terrible artist, but I drew my space ships in MS paint and a pirate copy of adobe photoshop 6, and then applied 22.5 degree rotations to the image. I created this single image atlas, and I would move a source rectangle around on the image to select the right image to draw for the space ship. It took me a good two months to build all of this, and I finally had a crappy, but full screen space ship fighter game. Damn, I was so excited! I couldn't wait for school to start so I could show all my class mates what I had built over the summer! I was gonna be like, "Who's the best programmer now, bitches?!"
So, my friend Russell looked at my game and liked it. He wanted to try to make the same game. He used my sprite sheet, and recreated my game in a week. One week! and to solve the rotation problem, he asked a math teacher to give him some advice, and got to learn about sine and cosine. What the hell is this black magic?! And he was using these things called pointers, which was sort of like the forbidden knowledge for me, like, "You will never understand pointers! It's black magic which novices like you are not permitted to understand!". I was quickly humbled. I wasn't the best programmer, not by a long shot. Then this other kid, Chris, was a year younger than me and he had already started building 3D game worlds. He had a working landscape using grayscale height maps and had some weird floaty wizard character with sparkles on it. God damn, how am I ever going to compete with that?! I got a bit discouraged and wasted a lot of time in class surfing the internet instead of learning, and everyone else either caught up or passed me.
Later on in life, I went to community college and continued taking programming classes. They were much, much harder. I took another C++ class and we immediately started covering pointers. The forbidden knowledge which I shall never know! Oh great, I'm not going to do well in this class... I gave up. And then I had to retake it. It was around this time that I joined Gamedev.net (2001). I had also started a website development business with a friend from high school. The plan was to start making websites so that I can raise funds to start a game company. I was 18-19 years old. I got my first client, and made about $1,500 from a website. I slowly learned more about website programming, particularly PHP and MySQL with Apache. In a totally uncharacteristic move, I then joined the United States Marine Corps, just for fun. I didn't want to be active duty, but being a reservist could be fun. I wanted to do computers in the military, so the recruiter put me in an artillery unit and I would operate a computer which calculated firing ballistics. Not quite what I had in mind, but it's once a month, so who cares? At the time, my justification for joining was "Oh, our country hasn't been at war since the persian gulf war, and that was a war that lasted 100 hours. I don't see us going to war, so I'll just roll the dice and join. It'll be a good adventure!"
Ah, yeah. So, I shipped off to Marine Corps Bootcamp in San Diego in the first week of June 2001. Philosophically, I was a pacifist. I was a super smart computer guy. So, why the hell am I standing here in this chow line, with my nuts in the butt of the guy in front of me?! I was a skinny, weak computer guy who had a pacifist leaning, screwing around in marine corps boot camp. I knew this would be one of the toughest things I ever did. And it was. It was 13 weeks of miserable hell. I was considered the worst recruit in my platoon of 85 shitbags. I always got in trouble for screwing up. Whenever you get in trouble, you get IT'd on the quarter deck, which means "intensive training" and lots of screaming by drill instructors. Basically, you do push ups, mountain climbers, jumping jacks, crunches, as fast and rapidly as possible, to the point of collapse, and then switch to another exercise, and you do it for about 30-45 minutes straight or until the drill instructor gets bored. I did a lot of this, and I was often in a puddle of my own sweat. I got pretty good at it, and stopped getting tired. I was a shitbag who did dumb shit, like forgetting my hat, or losing my wallet, or laughing in formation, or messing with other recruits to get them in trouble with me, or feeding the fat kid my cake so he'd get fatter even though he was on a diet. Well, all the fun and games stopped on September 11th, 2001. I'll never forget that morning. We were lining up to go to an early morning class. A drill instructor whispered to another one, "Did you hear what happened at the world trade center? An airplane flew into the building. Nobody knows what's going on." I overheard this, and I remembered reading this article in the readers digest a while back about a 1993 truck bombing of the world trade center, perpetrated by this guy named osama bin laden, and an ominous warning that he'd try it again some time in the future. Immediately, I knew it wasn't just an airplane accident. This was a terrorist attack by osama bin laden, trying to fix the failed attack of 1993. We finished the class on marine history, and at the end of it, the captain made an announcement about what was happening in the news, nobody knows what's going on, and he'd keep us all updated as they learn more. Not many people knew we were under attack, but I had a pretty strong suspicion at the time of what was happening. Then the second airplane slammed into the second WTC tower. Yup, we're under attack. This isn't an accident, it's all intentional. Shit's going down. The world went crazy. Marine Corps Boot camp in San Diego is right next to the airport runway. We were used to hearing airplanes roaring down the runway, making insane amounts of noise. That day, all air traffic stopped. It was eerily silent. I'll never forget the night of 9/11/2001, as we were getting ready to go to bed. Our drill instructors pulled us together that night and said, "Our country is under attack. The pentagon has been hit. We don't know who is next. This base has been put on force con delta, which is the highest defense level. Nobody is getting in or out tonight. We've got snipers posted on every roof top, so if any of you knuckleheads have ever had any ideas about running off naked into the night, tonight is not the night to do it. The snipers will shoot first and ask questions later." There was a lot of shock and disbelief on what was happening in the world.
The following Sunday, we get a 3 hour break. I read the headline of the news paper. Big bold letters: "America declares war on Afghanistan." I'm ten days away from graduating marine corps boot camp. What the hell did I get myself into? I think for a moment and conclude, "Whatever, I'm a reservist. After this is over, I pretty much go home and resume civilian life. And if I get sent to war, so what? I signed up for it knowing it was a possibility, so I'll honor that if it comes down to it." Graduating boot camp was something I was REALLY looking forward to, because it would finally mark the end of 13 weeks of miserable hardship. The week of 9/11, the graduation ceremony was extremely small because all of the US airspace was shut down. My bootcamp graduation was Sept 21st, 2001, exactly ten days after 9/11/2001. We have this really long parade deck with bleachers which span half of it. Usually, those bleachers are half full during graduations. But for our graduation ceremony, it was absolutely spectacular. The stands were completely packed, there were news cameras everywhere, and families from around the country flew in to watch their young sons marching proudly to graduate from boot camp in a time of peril and uncertainty. I never felt much in life, but at that moment, marching down the parade deck, I dare say that I felt quite a welling of pride. I was extremely surprised that even my parents had flew down, because I was totally not expecting them to make such a trip. We got a two week break, and during that time, every single freakin' car in San Diego had a brand new american flag sticker pasted on it to show support and solidarity for our country. I was very touched. The terrorists thought that by taking down our world trade center buildings, they'd deliver a crushing economic blow to the west and American's would be too soft to react in any meaningful way, and we would bicker and cower. Instead, their plan backfired as completely as a plan can backfire. Rather than dividing us, they united us in a way nobody else ever could, and not only did America stand as one against their atrocities, the whole world stood with us.
I finished the rest of my training and became a reservist. I resumed my schooling at community college, and paid for it with the meager earnings I made during boot camp. Reservists don't get much in terms of financial aid for education. Anyways, 2002 rolls around. George Bush is on a war rampage. Iraq is continuing to play games with UN weapons inspectors, thinking they can continue getting away with the same games they played with Clinton. That was a fatal miscalculation. Bush was on the war path and he was looking for any reason to declare war on more countries. I could see this inevitable war machine slowly rolling forward like a steam roller, squashing anything in its path. We're going to go to war with Iraq, now it's just time to come up with a pretext for justifying it. And it happened. A flimsy pretext was invented. In 2003, America declares war on Iraq. Now, that's two countries we're at war with. At that moment, I realize that it's no longer a matter of "IF" I'll go to war, but a matter of "WHEN" and "WHERE" I'll go to war. Reserve units are being activated all over the country. What does this mean for me and my education? My goal of making a game?
The Iraq War rolls around. I'm standing in line at the grocery store, and I see the cover of Time Magazine next to the check out stand. There is a picture of a bloodied marine being carried out of an LAV by two other marines. His face is covered in blood and dirt. I squint at the picture. It can't be... I know that guy! He's the dick guide I went to bootcamp with! Velasquez or something from Vancouver! What the hell is he doing out in Iraq? Is he okay? I saw that smug little fucker every day in boot camp, and now he's on the cover of time magazine. Wow. Life is strange. I wonder how many other people I knew from boot camp are out in Iraq right now getting shot up like him? It struck me that we are all someone and we can all make some difference in life.
In the summer of 2003, I volunteered to participate in a war gaming exercise on a US command ship off the coast of south korea. It's a joint exercise to simulate a response to an attack by the North Koreans. Details are classified, so I can't say much more. But, I did bring my computer skills to the table and it was noticed by high ranking officers. I went back home and I got a job as a junior network admin at a post dot com company at $10/hour. The company was nearly broke, but I did such a good job that they gave me a raise to $15/hour within the first two weeks. FINALLY, I have gotten my foot in the door of the IT industry! This is what I've been waiting for! Now, it's a matter of growing my skill set and becoming a professional. In December 2003, I got a phone call from an officer from my unit who worked with me on the command ship in korea. He was going out to Iraq as a part of a civil affairs unit. They needed a webmaster and I was the first person he thought of. He said I'd be worth my weight in gold. What do I do? I just got this new job doing IT, and now he wants me to come to Iraq with him? Fallujah, no less? A month or two ago, 40 Iraqi police officers were brutally murdered in Fallujah and the police headquarters was razed. It was one of the most dangerous cities in the country. And he wants me to go there of all places to build websites? I told him I'd need a day to think it over. I was on the fence. I eventually decided to go. My reasoning was that an opportunity like this happens only once in a while, but I can always come back and get my foot back in the door of the civilian IT industry. This was a chance for me to make a difference where it really matters. I was joining a civil affairs unit, and this is perfect for someone who has pacifist leanings and just wants to make the world a better place. If I can move the needle even a little bit, it's worth the sacrifice. So, in January I told my boss that I'm leaving the job and going to Iraq. He said I could have my job back when I return. I didn't enroll for winter quarter classes.
I was a Lance Corporal, which is the third lowest enlisted rank in the Marine Corps. I was 21 years old. I was on a flight to Kuwait, and then from there, we would spend two days driving a convoy to Fallujah. My truck had all of the ammunition in it, so it was the most dangerous truck to drive in the convoy. I had my M-16A2 rifle, an M-203 grenade launcher with six grenades, and an M-9 barretta strapped to my right thigh. I had a kevlar helmet, a flak jacket with SAPI plate inserts. I was probably the most heavily armed web developer in the whole world, going to the most dangerous city in the whole world : Fallujah. We were replacing the Army 82nd Airborne Division. Our base was a commandeered base previously occupied by Saddams Republican Guard, and it was about two miles from downtown Fallujah. You can see it today on google satellite maps if you look for it. The barracks room I slept in every night was a room formerly occupied by the republican guard. Every single evening, insurgents would shoot rockets and mortars at us from town, right around dinner time. You never forget the sound of incoming fire, as the sound of exploding mortars has a very distinct "ka-runch" type of explosion as you dive for cover. Unlike most people, I coped very well with this. I had played a LOT of battlefield 1942 and I was also an artillery fire directions control man, so I knew a TON about how to properly shoot indirect fire. These guys were just aiming in our general direction and hoping to get lucky. So, when rounds would land, I didn't give a fuck and I'd just keep doing whatever I was doing. If its my time to go, then it's my time to go and I can't do anything about it. Besides, you never hear the round that gets you anyways.
So, I spent the summer of 2004 sweating away in a tent outside of Fallujah, writing HTML and PHP code while people are shooting at me (I hand carried my personal desktop computer out to Iraq). Being a part of civil affairs, I spent my time writing a web based application which managed all of the reconstruction projects out in western Iraq. It was an INSANE crunch time. I wrote 20,000 lines of PHP code in three months, working 18 hours a day, 7 days a week, stopping only to eat and sleep. I felt that every minute I waste is a minute I'm cheating out of an Iraqi, impatiently waiting for life to get better. How many lives would be lost if I stopped working? I had no idea, so I wanted to make sure that nobody could attribute a death to my laziness. One thing I was not though, and that is incompetent. I built and launched this app from the ground up, and within 7 months, I had over a billion dollars worth of reconstruction projects being managed by my system. It was the achievement of a lifetime for me. Who else can say that? It was such a success, that it attracted interest in the US Embassy in the Baghdad green zone. I was requested to come over there and build a similar application to help them manage the flow of logistical supplies into the country, from all around the world, through all modes of transport, through all modes of entry, etc. It sounds more complicated than it is, because they really just gave me an excel spreadsheet and said that they'd like a web application built with some business logic behind it. I designed and built a database and then coded a CRUD interface and sprinkled some business logic with it. I did that in about three weeks, and had another billion dollars worth of goods flowing through it. Not bad for a 21 year old lance corporal, eh? One of the staff officers said that I was the man of the hour back at the pentagon, whatever that means. I'm still not sure if I really believe that. Anyways, one thing that DID happen is that our officer briefing General Conway had asked me to give the general a five minute brief on the projects I'd built. I was nervous as hell and not the best public speaker. So, I kinda rambled about my project for five minutes and asked him what he thought about it. He said it was very interesting and wanted the projects to keep going. Later on, one of his battle staff officers comes up to me and says, "That is the first time in five years that I have seen a Lance Corporal briefing a three star general. Well done!"
Then, my tour ended and I went home. I had earned $28,000 for my work. One day, I'm in a hot desert getting shot at, and the next day I'm back home in Seattle, and life is "normal" again. I came back to civilian life. It was surreal. I needed time and space. I couldn't live at home in my parents basement anymore (my pride wouldn't allow it), and they didn't really want me living with them anymore anyways, so I quickly found a new place to live and moved out. I got a lot more serious. I was a lot more jumpy. Loud noises made me think for a fraction of a moment that I was under attack. Especially slamming doors. I went to my old boss and told him my story and asked for my job back. Not only did I not get my job back, but the company was going bankrupt. So much for that. What now? I became very, very isolated and spent a lot of time in my room, avoiding room mates and either playing video games, doing homework, or watching anime and drinking tea. It became harder to relate to people, especially class mates. War had changed me a bit. I felt a bit depressed. I mean, one day you're on top of the world, at the pinnacle of your abilities, flourishing and doing real things to make the world a better place for people to live in, and the next day, you're just some random, nameless schmuck sitting in the back of a classroom trying to understand the double angle formula. I vowed to myself that what I accomplished in Iraq would not be the highest height I reached in life. I wasn't going to let myself be a "has been", that accomplishment was only going to be the first of many, greater things I end up doing in life. There's no resting on laurels for me. You either keep moving forward, or you wait to die.
When it comes to schooling, I had to retake a lot of classes. I had forgotten a lot about mathematics. I needed to retake my algorithms and data structures programming class. Going to war had set me back academically by about six months. A year and a half passes. Then the unit I went to war in Iraq with is going to war again. Those fuckers can't go to war without me, god damn it! So, I volunteer to join them on their deployment. This time, I decide to join ranks with the Information Management Office. I wanted to do more app building, more of the same stuff I did last time, and the IMO would be the best suited fit for me. Fortunately, my reputation preceded me and they heartily welcomed me with open arms. A few weeks later, I'm back in Fallujah. It was a familiar haunting ground for me now. It was like a second home I had returned to. The familiar "ka-runch" of incoming mortars welcomed me back to the war zone, as if it had missed me (technically, they always did which is why I'm still alive). Now, it was time to shine again. Oddly enough, I was STILL a lance corporal. I had never gotten promoted, regardless of what I had done. Why? Because my occupational specialty was locked out -- too many corporals in field artillery. I didn't even DO anything related to my MOS, so why did it matter? No meritorious promotions for me... I was turning into an old salty lance coolie. Again, I did great things. I pretty much ran the IMO shop. I oversaw the virtualization of our whole server room, and we moved 28 physical servers onto 4 servers running VMWare. This was back in 2006, when virtualization was still very new, so this was a lot of cutting edge stuff in unexplored territory. The server room was a beast to work in and I got to learn a LOT about disaster recovery. Backups man, those are your life raft. And just because your server is on an UPS doesn't mean it's not gonna go down when the power goes out. We had FOUR air conditioners running at full blast to keep the server room cool. Keep in mind, we're in a desert in Iraq. The walls of the server room are 12 inches thick and made of brick and plaster, but are hot to the touch, thanks to the summer sun beating down on us. Dust storms will come through every week or so in the summer, and you'll get a nice coat of reddish brown dust in your server room, thanks to the AC units. I hope you're blowing it off of the CPU heat sinks... If the power goes out, the AC stops, but the servers don't shut off thanks to UPS. What this means is that in less than 5 minutes, the server room is going to become a cozy 150F if you don't move to shut everything down gracefully, and then processors will overheat, possibly melt, and then you've got REAL problems on your hand. You can't just drive out to Fry's Electronics to pickup a new intel chip...
Anyways, I did that for a year. I remember coming home again. You get off the plane, board a white bus which takes you to Camp Pendleton, and all the families are there waiting for their loved ones to get off the bus. That is, if you had a family there in town. Me? I had nobody waiting, so I just got off the bus and quietly slinked away unnoticed to the barracks. I felt a little bad, but tried not to care. In a week, I'd be on another plane back to Seattle, ready to resume normal life. This time, I had $35,000 saved up in my bank account, ready to pay for more school. I was a bit pissed off that I had spent just as much time in a war zone as any active duty marine, but I didn't get anything for a GI bill. At most, I'd get maybe $100/month, which is enough to pay for books, but involves a monthly check-in and red tape to continue getting. Yet, I'd put in just as much time and sacrifice as any active duty marine. What gives?
Again, I had to retake classes. Particularly math classes. I sucked at math, but thanks to war and the habit of hard work, I finally had the necessary work habits to succeed. I was accepted to and transferred to the University of Washington and enrolled in their CSS program. It's computer science and software engineering rolled into one. I had gotten pretty good at programming by this point. I felt that I was mostly going through this academic program to prove to the world that I knew what I was doing, and the degree was just a formality check-the-box kind of thing. But, I was exposed to some really cool stuff which I had never been exposed to before, such as network programming (grid computing), logic circuits and hardware programming, ray tracers, and operating systems programming (night class taught by a windows kernel architect). I had also developed a strong love for philosophy. I loved it and wanted to minor in it, so I took a bunch of extra classes at the UW Seattle campus. My favorite branches were the philosophy of science, logic, and moral theory. I'm very interested in gaining deeper insights into the human condition. I mean, I've been to war. People have shot at me. War is a place where some people rise to great heights through heroic action and sacrifice, and others stoop to unfathomable lows with dehumanizing atrocities. Why is that? How can we all become better human beings who flourish into exemplary form? Or are we all the same, equally capable of both great goodness and great evil?
Fortunately, the University of Washington had a program for veterans where they offer a 50% tuition discount. All the war money I made, paid for my living expenses and tuition, but I still needed to take out a student loan to cover the costs. I loved my classes, and I quickly gained a reputation for going WAY overboard on projects. My goal was to push myself and the limits of my capabilities to their furthest extent. I believed that if you don't try your hardest and do your absolute best, then you can't possibly improve. Any feedback you get from professors would just be to improve in the areas you didn't push yourself in. True growth comes from pushing yourself to your limits and exploring new areas which are unfamiliar to you, and trying new things. That belief, coupled with my war experience, drove me bonkers. You want me to create a distributed file system? Okay, I'll reinvent the BitTorrent protocol because I'm concerned about disaster recovery and fault tolerance. You want me to create a simple bouncing ball game? Well, I'm going to give it thrusters and put in a parallax scrolling background too -- but it'll bounce as well. You want me to ray trace something interesting? Okay, I'm going to ray trace a rainbow and show you a scientifically accurate light spectrum by redefining a light source to be a composition of its excited chemical elements. Towards the end of my academic career, a fellow classmate asked me why I work so hard and go overboard with what I do. I couldn't really give him a straight answer at the time, but now I would say that a big part of it has to do with my personal history of being a programmer in a war zone and never wanting to be the weakest link responsible for the deaths of others. You sweat in peace time so that you don't bleed in war, and if you're not sweating, you're not trying hard enough. Little did I know at the time, that I would be returning to a war zone a few years later.
I finally graduated. It took me eight years to get a four year degree. However, when I graduated I felt the opposite of happiness. I felt a foreboding sense of doom and despair. What the hell am I going to do with my life now? There's no war to go back to, and no more classes to take, so what now? Every job I applied for on craigslist was either shit or I wasn't qualified for, and the few interviews I did get, I messed up. Who is gonna hire me?! I want to work in the game industry as a game programmer, but... why would anyone want to hire a programmer who has very little experience making games? I mean, I made a game in high school, and a game in university, but they're shitty games. There's nothing to really prove to a potential employer that I have what it takes to professionally make games, so why the hell would anyone care to hire me on? Nothing I did in Iraq is really relevant. So... I had a dwindling bank account and no job. I lived in complete isolation again, probably speaking to a live human being about once a week. Some days, I couldn't afford to eat for several days at a time so I went hungry. I could count every rib and my face was gaunt. "Why am I so lost?" I sometimes wondered to myself. "Why am I so bad?" My routine became very bad. Every day, my intention was to build a game in C# with XNA. Every day, I would start, and say, "Today is the day I really do it! The day I really work hard and make a game! ... but first, I need to... watch this youtube video, or play a couple rounds of starcraft 2, or check a couple things on facebook." and hours would slip by, and I would realize what happened, beat myself up over being such a lazy slacker, feel bad, give up, play some more, then go to sleep at 5am while cursing the morning birds for being awake at a sane hour. I could easily waste away like this for months. Many people do, and I did.
One day, I was rescued. A contractor friend called me up and offered me a job working for General Dynamics. Another contractor friend had told me back in Iraq that he's worked for many companies in the past, but GD is one of the best companies he's ever worked for. If I could get a job with GD... that would be the greatest thing that ever happened to me because it was a good company to work for. My foot would be in the door of the IT industry once again. They flew me out to Arizona for an interview. My resume was strong. The job was easy, I was vouched for, and my military experience was great. To my delight, I was hired and got offered $61,000 / year. FINALLY, I could start making some income to pay off those student loans! A year or so after I graduated, I finally had a job, worthy of a 'career'. It was an alright job, too! Every morning, I would have to wake up, drive an hour to the military base, do some work on computers, sometimes I'd get to travel to different parts of the country to assist units in their IT prep for a deployment to Afghanistan, and sometimes our contractors would do short six months stints in Afghanistan as well. Six months into the job, I was a rising star. You only have to show me something once, and I'm all over it. Being a programmer, one of my personal goals was to start writing a powershell script to fully automate the deployment of an enterprise server stack. I mostly got it working! Just push a button, come back 30 minutes later, and you've got a working domain controller, exchange server, webserver, etc. ready to go. Then, my program manager said I should go to Afghanistan because their knowledge management office needed a senior developer. So, I went. It was supposed to be for six months. I hated it in Afghanistan. I was used to getting shot at, so that was no big deal for me, but working 12 hours a day, 7 days a week, sitting in a corner, living out of a plywood shack, with little extra money to show for it, was very mundane. I didn't want to stay there any more than six months. But... one of the other contractors there was getting treated really nicely by his company. His manager would show up once a week and check in with him and see how he's doing. Meanwhile, I hadn't talked with anyone from my company in months. The corporation I worked for just saw me as a butt in a seat, keeping customers happy while making them money, doing who knows what. The US Army really liked my work and wanted to keep me if they could. So, I negotiated a position at the other company and got a really nice pay raise and committed myself to working in Afghanistan for another 12 months. I'd be in Afghanistan for a total of 18 months, working 12 hour days, 7 days / week, overseeing three different unit rotations. Guess what "burn out" is? It's being worked to the point of uselessness. That happened to me. Again, I started to feel depressed because I wasn't able to work up to snuff anymore. Suddenly, I became very passionate about managing burn out. I absolutely had to quit my job and let myself recover. But now, my bank account had been healthily replenished and I could afford to! If I lived very frugally, I could probably live for ten years without getting another job. If I wanted to, I could screw around and play games all day, every day. But... is that what I *really* want out of life? To waste away and be a "has been"?
Here's an interesting thought experiment I put myself through: Imagine you have a billion dollars in your bank account. Not a million, but a billion. It's so much money, that any material purchases you might have could be done with a couple million dollars at most. And now, you'd still have $995 million dollars left. Money will never, ever be a problem or a motivating factor for you again. Now, what do you do with the rest of your life? How do you spend your days? Do you take up painting? Sitting in a lawn chair watching the grass grow while drinking martinis? Sitting on a yacht? Travelling the world? Setting up charities for some philanthropic endeavor?
My answer was that I'd like to start and run a company which makes video games. Nobody will hire me, so I'll hire myself. It's been a lifelong passion that I've worked towards for well over a decade. I've put my life at risk to get to where I am. Making games is more than just a profession and a job for me, it's a lifelong dream and a creative outlet which lets me share stories with the world and worlds around the rich imagination I have. I'm a story teller (albeit, probably not too good, but that comes with practice). This company, the culture, and the games, are a manifestation of who I am. This is what I would do if I had a billion dollars.
So, the follow up question is this: You don't have a billion dollars, but you now know what you'd do if you had a billion dollars. Your dream doesn't cost a billion dollars, so the question is this: what are you doing today to take steps towards making your dream a reality? The wrong answer is always "Nothing", or some flimsy excuse.
After I got back from Afghanistan, I took a one month break. Then I started working on a game (you can read about my progress, mistakes, highs and lows, in prior journal entries). Every day, I got up to take steps towards making my dream a reality. Every day, I would commit myself to making strong progress. Every day I slack, people aren't dying, but I am cheating and robbing myself of my future, and I should never accept that, and I should never, ever, ever give up. There will be days that are dark and low, and there will be days when not much seems to get done, and you can feel bad about that, but so long as you start each day fresh and keep putting one foot in front of the other and making steady progress, you are taking the vital steps it takes to make your dream a reality, whether its making games or saving the world.
So, last Monday was the launch of my first ever, commercially accessible video game. I fucking did it. I really did. It took me twenty years to do it, from that fourteen year old kid with a dream to the thirty four year old me of today writing this. I went through a lot to get here. If fourteen year old me could have known that later on in life he'd be building a virtual reality game about magic and wizards, and having even a tiny hand in shaping the direction of this industry, he never would have believed it and probably would have been overwhelmed by what it would take.
But... this doesn't mark the end of anything by any stretch of the imagination, this is just the very beginning. There's no time to rest on laurels and get complacent. Complacency kills. There's a whole industry waiting to be shaped, a whole suite of fantastic games waiting for the brush strokes of a creator, a whole cadre of future team mates waiting to be hired and given a chance at the same dreams, a whole generation of future gamers waiting to be inspired as I was, and humanity as a whole hungers for enlightenment through the insight of arts and entertainment. It's time to keep going, pushing harder than ever.
In the immediate future, my focus will be to continue building out the core content and functionality of my game, to add in hardware support for the Oculus Rift and touch controllers, to update the support of the Leap Motion hardware device, and to localize the game for international markets and place it on multiple online store fronts. That means there is lots of work to do, and the hard part is just beginning. I'm sure you'll hear about this stuff in future journal posts. Before you can thrive, you have to survive, and in order to survive, you have to make money to be self-sustaining. If you can be self-sustaining, you can work to improve and develop your product and business, and then its just a matter of hard work and time to become a flourishing business. I can do it. I know it. And I will. Just watch.
For now, thank you everyone for reading my journal and your support. I didn't get here by myself, I got here through the help, support and guidance of the communities I'm a part of.
I read the first 48,000 words of this, am breaking for dinner. Will return to complete the remaining 26,000 words along with a thermos of coffee :P.
I enjoy your Journal entries - they bring personality to a field that is so often hidden by algorithms and I have now introduced feature x to the game.