Long launch reflections

Published September 15, 2016
Advertisement

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.

Next Entry September Recap
11 likes 13 comments

Comments

Stormynature

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.

September 16, 2016 06:03 AM
arka80

There's enough material for a book here

September 16, 2016 08:02 AM
Giallanon

Great story, congratulations

September 16, 2016 08:34 AM
ferrous

Yeah, you have an interesting life story, and are adept at telling it. I hope you achieve success, either on this game or the next.

September 16, 2016 08:42 PM
slayemin

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.

Oh man, I also drank a lot of coffee while writing this. I just started writing, the coffee kicked in, and six hours later I came up with an 7,850 word wall of text.

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.


Thanks :) I think its important to expose the human element behind game development. Every game is made by people who have lives, families, dreams, adventures, histories, stories, culture, passions, and everything that makes us human. Games are art, and art is a reflection of ourselves and our humanity, so these parts of ourselves go into the production of a game as much as code does and these elements bring out the depth and character of the game.

I think if we were to compare game development to painting, nobody asks or cares to ask the painter why he chose to use a horizontal brush stroke here, or a swatch of color there -- Everyone wants to know who the woman is and why she's crying, what she meant to the painter, and why he chose to paint her in this moment. Code snippets are brush strokes :)

September 16, 2016 10:35 PM
Servant of the Lord

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.

Oh man, I also drank a lot of coffee while writing this. I just started writing, the coffee kicked in, and six hours later I came up with an 7,850 word wall of text.

He reads every line six times. :)

Long read, but I enjoyed it. Especially this line:

"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)"
September 17, 2016 06:16 AM
MagForceSeven

Yeah, I remember those classes. I thought the visual basic one was a joke, I think I spent more time helping other students than I did on my assignments. But only because I finished them super fast. I remember Chris too, putting us all to shame.

I also remember that little space fighter game, or at least my version. I don't remember talking to a math teacher about the trig stuff since I'm pretty sure I had already covered that (or at the very least polar coordinates which was what I'm pretty sure was what I was trying to apply). I do remember getting help with a function to round floats to arbitrary decimal places.

Some things just come easier to some people. I'm not sure how well I'd be able to put together something like Spellbound. Even after going to the Sony dev conference last spring (where they covered way more about VR than I ever thought I would care to know) I'm still not sure I could set up it. I can at least get by with most math, but that's about it when it comes to linear algebra. It's one of the reasons I stay pretty far away from 3D graphics, animation and physics.

You're doing well, keep on truckin' man!

September 18, 2016 03:03 AM
Orymus3

Lengthy but very informative read.

I can fully related to almost every single detail of your story prior to 2001, and oddly enough, after the 2001-2014 ish era. We each have our own path to this moment, but I feel from reading you that we're roughly made from the same matter.

The question you raise about what we'd do if money (or work by extension) wasn't key in our lives is an interesting one, and one the next generation will struggle with. By many account, the workforce obsolescence (or the necessity to work becoming more and more an option) will hit in a few generations (some nations are taking drastic steps towards that), and soon, people will not live through that crisis of 'what will be my job, who will employ me' and neither will they define themselves as the work they do.

I believe that, in our interest and theirs, it is good to start challenging that culture ahead of the curse, that is, to help people perform introspection to question what they'd be doing if they had no external constraints (money/work). If all is paid for and you just have spare time, will you waste away as a miserable waste of flesh and bones? or will you help humanity in some form?

Much like you, I was already certain I wanted to / would make games ever since I was about 8-9 years old. I designed games on paper until that point, as early as I knew how to write, and started programming at age 9. My older brother was (and still is) an amazing programmer, already replicating some of the work of John Carmack (and others), but like many people, he lacked vision. He would keep bugging me for challenges on what to develop, and he needed me every step of the way to detail and break down each 'feature' or interface.

Our games sucked balls, but compared to the era in which they were made, our tech wasn't overly out-dated, and our concepts weren't particularly boring.

Flash forward to now, I make games, and there's nothing as satisfying to me. I love making music with the instruments I'm proficient with, but they're just another tool I contribute to the greater art of making games, that is, experience that other people can play and enjoy. It is as much art and media as movies, and it is a better conduit to someone's emotions than words.

I always imagined that once I'd release my first game, I'd somehow feel special, like I entered that secret club and people would welcome me to it, but the industry proved far different than I had anticipated, and soon enough it became clear that making games for others is not nearly as satisfying as making games for oneself.

So it is through this lens that I applaud you for the release, for the pain and dedication, and for many things to come.

Congratulations!

Now, get back to work and stop gloating! ;)

September 18, 2016 06:08 PM
ccuccherini

Thank you for sharing your story! It gives me a lot of hope for my endeavours. I learned some simple HTLM when I was in elementary school but lost it since I never used it after that. Then I did poorly with Java when I learned it in high school, but now I'm doing great with C++ and have even joined a game dev club at my university! My biggest hope right now is to reach the point you are at with your game with my own and I know to get there I have a lot of hard work ahead of me . :)

September 18, 2016 10:54 PM
slayemin

Thank you for sharing your story! It gives me a lot of hope for my endeavours. I learned some simple HTLM when I was in elementary school but lost it since I never used it after that. Then I did poorly with Java when I learned it in high school, but now I'm doing great with C++ and have even joined a game dev club at my university! My biggest hope right now is to reach the point you are at with your game with my own and I know to get there I have a lot of hard work ahead of me . :)

My theme in life has always been persistence. "I'm going to do this, no matter what."

I was once bad at programming. But I kept at it. I got better.

I was once bad at mathematics. But that wasn't enough to stop me either. I got better.

etc. etc.

When people say, "I can't do X because of Y", then fix Y!

"I can't make games because nobody will hire me."

Don't let anything get in the way between you and your dreams :) It sounds like you're well on your way, so be persistent with your efforts. And don't... be on a one track mindset either. Round yourself out by exposing yourself to many different adventures, experiences, opportunities, and areas of knowledge. You never know when you'll use that as a part of making a game :)

September 19, 2016 09:06 AM
slayemin

Yeah, I remember those classes. I thought the visual basic one was a joke, I think I spent more time helping other students than I did on my assignments. But only because I finished them super fast. I remember Chris too, putting us all to shame.

I also remember that little space fighter game, or at least my version. I don't remember talking to a math teacher about the trig stuff since I'm pretty sure I had already covered that (or at the very least polar coordinates which was what I'm pretty sure was what I was trying to apply). I do remember getting help with a function to round floats to arbitrary decimal places.

Some things just come easier to some people. I'm not sure how well I'd be able to put together something like Spellbound. Even after going to the Sony dev conference last spring (where they covered way more about VR than I ever thought I would care to know) I'm still not sure I could set up it. I can at least get by with most math, but that's about it when it comes to linear algebra. It's one of the reasons I stay pretty far away from 3D graphics, animation and physics.

You're doing well, keep on truckin' man!

Ah, you're smart. You'd figure it out. It's just a matter of taking one step at a time, even with building a game engine from scratch. At the very beginning, you always start with the most basic of basic things: "Okay, I need to just put a single triangle on the screen. How do I do that?" then, "Okay, I need to put 2 triangles on the screen", "okay, now I need a hundred!", "A thousand!" "Okay, now the triangles need color... and they need to move..." etc. etc. The same process goes with VR, but with more experimentation:
"Okay, I just need to get the HMD position. How do I do that?" "Okay, what about the rotation?"
After you get past the hardware stuff (which is pretty easy), you slowly start to get into the VR design stuff, which is a bit harder because there are a lot of question marks to resolve through trial and error and creative problem solving.
With your background, I'm sure that given a year and a half, you'd be able to come up with a pretty decent VR game as well :) Don't sell yourself short.

As far as the math teacher stuff... I thought that was pretty smart to ask for help. Maybe I remembered wrong on what exactly you asked for help on, but that detail doesn't really matter. At the end of the day, you accelerated your development and improved the quality of your game because you asked for help, and that's great. Now I think math is a super valuable tool for solving game problems :) I just wish I was better at it. Look forward to seeing your next blog entry.

September 19, 2016 09:20 AM
ccuccherini

Thank you for sharing your story! It gives me a lot of hope for my endeavours. I learned some simple HTLM when I was in elementary school but lost it since I never used it after that. Then I did poorly with Java when I learned it in high school, but now I'm doing great with C++ and have even joined a game dev club at my university! My biggest hope right now is to reach the point you are at with your game with my own and I know to get there I have a lot of hard work ahead of me . :)

My theme in life has always been persistence. "I'm going to do this, no matter what."

I was once bad at programming. But I kept at it. I got better.

I was once bad at mathematics. But that wasn't enough to stop me either. I got better.

etc. etc.

When people say, "I can't do X because of Y", then fix Y!

"I can't make games because nobody will hire me."

Don't let anything get in the way between you and your dreams :) It sounds like you're well on your way, so be persistent with your efforts. And don't... be on a one track mindset either. Round yourself out by exposing yourself to many different adventures, experiences, opportunities, and areas of knowledge. You never know when you'll use that as a part of making a game :)

I completely agree! :) I do plan on tackling Java and HTML again in the future after I get a better grip on C++ (and C# now) as I know they will be extremely useful! I've already started on the design side of things by designing levels for my own casual game and I hope to have at least the MVP done by the end of the year once I learn how to make Tile Maps in Unity (working on this now).

September 19, 2016 04:20 PM
jsaade

A very interesting and inspiring story.

I can relate to some stuff even though I live on the other side of the globe in a messed up little country in the middle east.

September 23, 2016 06:59 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement