Jump to content

  • Log In with Google      Sign In   
  • Create Account

slayemin's Journal


September Recap

Posted by , 30 September 2016 - - - - - - · 880 views

Whew! That last entry was a long one and I was almost wondering if there's anything to add to the month of September. As it turns out, there is always lots to talk about :)


So, I launched my game. That was pretty cool. It's a first, and I feel happy and proud about it. I hold my head a teensy bit higher now. But, let's not kid ourselves. The game is far from finished and there's a TON of work left to do. I mean, I released it in "Early Access". There's at least another two years worth of work for me to continue on, so there's no time to rest or slack off.


Right after launching, I sent Oculus a message to see if they'd be kind enough to send me an Oculus Touch and a CV1. To my surprise and delight, they agreed! The Oculus Rift arrived on Monday and I've been spending the whole week working with it and adding in support for it. I am not allowed to write any details about the Oculus Touch however, so I can't say much other than I'm working with it. I'm eager to add full support for the Rift however, and I hope that some day Spellbound will have a presence on the Oculus Store.


I want to talk about the Oculus "experience" for a moment though. From the moment I opened up the shipped package to the moment I was inside VR, I had a very smooth, crisp installation experience. I was pleasantly surprised by just how well engineered everything was. It's incredible. *This* type of experience is what VR needs in order to succeed and win in the market. The oculus store is another excellent experience refined to perfection. The *only* thing I would complain about the oculus store at the moment is the lack of a review system for the content, and ways for early access developers to interact with their customers & community. I suspect that these features are upcoming, but there are still some VR engineering challenges for oculus to get through. Their store experience is designed to be a virtual reality store, so text input will be a stumbling block for people who are not touch typists. I think that they also have a unique opportunity to demo the VR products in a way unlike what any other storefront can offer: Use VR to your advantage! Let's stop thinking in 2D. Let's create game play trailers in VR, to be viewed in VR. Nobody has done this before, and the first VR storefront to do it will set the bar for every other VR storefront to meet.


After I released my game, I started working on a patch to fix some issues people identified and to add requested features. One of those feature requests ended up requiring me to update the game to the latest version of Unreal Engine 4, and that update caused a significant bug in my room scale locomotion setup. The problem is that I am using a customized camera setup for VR. If the player walks forward 1ft in their play area, I move the camera forward 1ft as well. Then the engine moves the camera forward 1ft again. So, there's now a 1:2 ratio of movement. When it comes to intelligence, I'm just average, so it took me longer to figure out exactly what was happening than what it would take most people (a couple days). So, you might ask, "Why not just let the engine move the camera?". Fair question, but the problem is that the engine doesn't do any collision checking with the camera, so you can easily put your head through a wall in VR. So, *I* have to control the camera position at all times.


That brings up an interesting VR design principle: Who controls the first person camera? The player or the game? The intuitive answer would be "The player!" but that is actually the wrong answer. The game controls the camera position and orientation at all times, but it responds to input *requests* from the player. It's up to the game to decide whether to accept those input requests. 99% of the time, they pass through and are accepted. However, there will be some very special times when you'll want to control the camera position or orientation. What if the player tries to put their head through a virtual wall? The wall should block that movement, and the only way to block that is to stop the game camera from accepting the movement request of the player. In the real world, we're physically blocked from putting our heads through walls by the wall itself, but in VR, there is no physical restraint. Likewise with hand movement controls. If you have a hand and you pass your controller through a virtual table, you should sweep the virtual hand through the world until it gets blocked by a colliding object. The really tricky design problem becomes, "What happens to the virtual hand position after the physical hand controller is in an unblocked state?"


Now that I'm adding support for multiple hardware input devices, I've had to come up with a new way to support the differences in hardware. I decided that there should be one common interface that the hardware works with, and one common interface that controlled characters interact with. I came up with this weird principle of disembodied control. Instead of directly controlling a character, you are a in control of a "head" game object. The head game object is the interface for working with all VR and input hardware. It is responsible for converting the various coordinate spaces into a unified common coordinate space, applying the appropriate vector offsets for each hardware platform, and generating the common input commands all characters would have to respond to. The head also contains a skeletal mesh which can be swapped out to match the character being controlled, so you're literally plopping a head onto the shoulders of a headless character. What's interesting and important about disconnecting the head from the rest of the body is that the player who controls the head should never render the head for themselves (or else you see the insides of the head mesh), but anyone else seeing the player should see the head. The head mesh should be attached to the body at all times and it shouldn't be apparent to the player that they're different objects. On a slightly more abstract conceptual level, the head is like a puppeteer, and the body they're on is the puppet being controlled. Your inputs are like pulling the puppet strings, but sometimes the puppet can't do what you're telling it to do (like clip through colliding objects). This creates some interesting new game play opportunities. There is no reason why a player now couldn't control a zombie, much in the same way they control a wizard. So, in a future multiplayer game mode, players could play as zombies against a wizard. Because the heads are also disembodied, they can very easily become spectators in VR -- just don't give them a body and don't render the head mesh, and they're now invisible observers!


This also introduces some interesting new design considerations. What happens if the player is really short (such as a kid)? What happens if the monster you're controlling has their head in a different position relative to the rest of their body (such as a crawler zombie)? Is your locomotion system still valid if players are controlling zombies (ie, no teleporting)? What information do you give the player playing as a zombie to make their play style indistinguishable from the AI?


Anyways, the huge win with this design is that it creates a layer of abstraction between the hardware implementation and the creature control, so I only have to add support for a single interface and all creatures which respond to that interface are automatically supported. Adding extra hardware platform support becomes a lot faster and easier, and its a lot easier to work with characters which have no idea whether they're being controlled by AI or VR interfaces. I don't know if this is common, but if you're doing VR, you should consider this extra layer of abstraction.


On the financial front, I'm still broke. Any proceeds from sales I made in the month of September won't be received until the end of the following month. Aside from this dev blog, I've done zero advertising for my game. Despite that, I've gotten some reasonable sales, relatively speaking :) Thank you to anyone here that purchased my game. I'm still 5 months late on my office rent and I'm getting pressured to pay up. I went to the bank today to apply for a personal line of credit to pay my office $800, but the bank rejected my application. I haven't had income for the last three years, and I have no credit history because I've never owned a credit card in my life. It's weird to think that I have to pay myself, but I guess that makes sense. Being "self-employed" still means I'm employed, and you have to pay your employees. Still, it's like having a conversation with yourself where you're like, "Here yourself, have some of your own money!". But I guess when you do that, you generate a paper trail... and get taxed for giving yourself your own money. It's time to ask friends and family to lend me money for a month to get by. Some day, I'll have enough money to be fully self-sustained by my work, and then I can truly call myself a "professional", though maybe I may not necessarily always act like one ;)


I had this interesting dilemma the other day in regards to communicating with my community of fans, and I'm still a bit perplexed by it. I know there are bugs and issues I need to fix with my game. I've fixed them in the latest build, but thanks to my most recent overhaul of the character control scheme, it's going to take a few weeks to finish and test before I launch. I want to tell people "I fixed all these things, but it's not ready yet!". But when I start writing a list of all the things I fixed, I find myself wondering: What's the point of telling people what I fixed weeks before releasing the build with the fixes? Wouldn't that just cause more confusion? Shouldn't this just be included as patch notes to go along with the update?


Another interesting observation: I have TONS of people who have my game on their steam wishlists. The question is, "What are they waiting for?" And there could be multiple answers:
-Support for different VR hardware platforms
-Steam sales
-Full game release
-Content updates
-More compelling sales pitch?
It would be interesting to know what they're waiting for and how they discovered my game (despite no advertising).


Last note:
I'll be at the Steam Dev Days in Seattle on 12 October 2016. It's just a short walk from my work place :) Let me know if you are going and want to go get a beer or chat about game development.

Long launch reflections

Posted by , 15 September 2016 - * * * * * · 1,485 views

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.

Launched Spellbound on Steam

Posted by , 05 September 2016 - - - - - - · 732 views

It's 10:15PM on Monday Night. I just launched Spellbound on Steam for the HTC Vive VR headset. This is not only the first game I've ever launched, it's a VR game. Pure craziness. I'm feeling a bit emotional about it right now because it marks the accomplishment of a lifelong dream, which has been something I've wanted to do for more than half my life. 18 years later, and I did it. Wow. Even if I get no sales or a ton of bad reviews, I'm kind of okay with that. I now have what it takes. I'm in the industry. I'm a game developer... **tears**


Anyways, it's time to go drink a beer in celebration tonight, and then get to work tomorrow fixing an expected slew of bugs tomorrow. Here's the link for anyone that's interested:




I'll have to write a longer thought out reflection post later.

Spellbound Launching on Steam

Posted by , 31 August 2016 - - - - - - · 1,363 views

Alright. Spellbound is now up on steam. The release date is slated for September 5th, 2016. The game is being released in Early Access.


I'm nervous. The worst thing that could happen is that I release the game, get a ton of bad reviews, angry customers, and I make about 20 sales, which might as well be none. The second worst thing that could happen is that a bunch of people buy the game and then have no idea what to do or how to play it. Or, people buy the game, realize they paid $20 for 20 minutes of content, and then ask for a refund. They would probably get it too, because steam requires refunds to be within 2 hours of game play or two weeks of ownership. Of course, there's a lot more content coming, and I can tell people that, but it won't stop people from asking for a refund. Then, there are bugs and interfaces which could be smoothed out. The bottom line is that I'm releasing a game which I know isn't 100% perfect, and that makes me nervous. I know that if I had infinite money, I'd continue working on the game for at least another 6 months before releasing. Maybe I'd work on it forever and never release?


The other fear I had was my price point. Initially, I was planning on selling the game for $25. I justified the price based on the high quality of the content, the polished game play, and the promise of hours of additional content, and the novelty of VR. I balked. I looked at the price point of comparative games, their level of production quality, length of game play, etc. and decided to drop my price by $5. I can always raise the price later as the value proposition increases, right? Maybe strategically, it's more important to get more sales and less money in order to get more players acquainted with the game, so that later on I can sell DLC to a wider audience? Nobody buys DLC for a game they don't own.


I didn't get into PAX this year. I submitted an application to get into the indie mega booth way back in April. I didn't hear back from them until mid august, and they rejected my application. I felt disappointed. I asked a fellow indie if he got in, and he was rejected as well. He's got a high quality game, so I know it wasn't just me. What's annoying is that I got rejected a few weeks before the event even happens, so if I had been making plans to be running a booth, I would have had to do everything very last minute. That's never ideal. I think next year, I'll get my own booth or partner with a bigger company. However, it's kind of a mixed blessing in disguise. I was very worried about the logistics and manning of the booth. If I have a room scale virtual reality game and I only have one workstation, and a play session takes about 10-15 minutes, then I'd be cycling about 4-6 people through my game per hour. If PAX attendees see I have a VR booth, they'd line up very quickly and people could be standing in line for hours just waiting to play, and that would suck for them. I also have no money, so I can't hire people to help me with my booth, so I'd pretty much be tied to one area for 12 hours straight, for 4 days. Getting food would be very difficult, and making sure my computer doesn't walk away would be challenging. And I wouldn't be able to actually attend PAX and see what other companies and studios have been working on. Anyways, my dear girlfriend has been able to secure three PAX tickets for Friday, so I can just be a carefree attendee.


On a slightly different topic, my former artist is unemployeed and I still owe him about $9,000 which I don't have, and he's pressuring me for it. I'm also behind on my office rent by 3 months. My $20 / month photoshop subscription has lapsed. My company website is also down due to lack of payment. The bank refused to give me a line of credit due to lack of credit history (I have never had a credit card). Once I start making sales (which I expect to be very modest), I'll pay everyone as I can, and then buy a new pair of shoes, jeans, and clean socks. Then, I will continue financing the development of my game. One thing I will do differently: avoid hiring full time employees. Contract that work out. The appropriate time to hire a full time employee is when you have revenue and you can't do the work yourself.


In a totally different topic: My girlfriend and I have been running our bed and breakfast near Mt. Rainier for 3 months now and it has been prospering. Every weekend, we've been booked solid. I kind of expect this for the summer season. We've got 240 acres of forested property which has been used as a farm for 120 years. We're going with a combined theme of farm tourism and an outdoor camping experience. We have 3 pigs, 3 goats, a baby cow, a missing peacock, and 10 horses (several which are rescues). We make money by renting out rooms & teepees, and by offering horse trail rides for $49/hour per person. Last weekend I had to go work the farm and do a bunch of very different jobs: supervising hired help; catching & saddling horses; repairing the farm house; cleaning rooms; checking in guests; taking care of animals; fixing fences; catching escaped animals; giving trail rides; building campfires; etc. By the end of the weekend, I was absolutely tired. My back was sore from lifting saddles and working. My hands were thrashed, blistered and bloody. My nose was very bruised from a horse smashing its head into it. My face is browned from the sunshine. But, I did get a moment of great fun when I took one of the horses off the beaten path and went exploring around the property. I even trotted it through the creek :) The first night at 1:15am, there was a coyote making all sorts of noise near the horses and it wouldn't shut up. So, I had to get out of bed, put my clothes back on, and walk down the dirt road to find the coyote. By the time I got halfway down the road, it disappeared and I never heard it again. The only light I got was from the thousands of stars, so it was very dark. The odd thing about that farm is how cold it gets in the summer nights. The temperature drops below 45F during the night, and goes above 80F during the day. Just to show off, here's a couple cool camera phone pics I took:


Posted ImagePosted ImagePosted ImagePosted Image
Anyways, one thing that kind of struck me is that I draw on a lot of these diverse life experiences to design my games.


Ninja Edit / Update: I'm excited to announce that someone created spellbounds first youtube "let's play" video! Check it out here:

June: Spellbound, Steam & HTC

Posted by , 27 June 2016 - - - - - - · 990 views

Lots of exciting news for this month!


HTC Meeting:
Last week I walked down to the HTC office for North America and tried to get a meeting with their VR people so that I could give them a demo of my game. On Monday, I had that meeting and it went very well.


Before going to the meeting, I sat down and had some coffee with my girlfriend and we talked about some possibilities. She is also a marketer (one of the best! <3) and has the staff and resources to promote major products, primarily through "direct response" and events. She has an international team of people who can put on live demonstrations in large retailers such as Costco, Sears, Sams Club, Walmart, etc. has the connections, and has a solid track record. Virtual Reality is new and exciting, and she's tried it out (of course!) and wants to send her sales teams around the world and sell it. Currently, I'm guessing there are about 50,000 HTC Vive units out in the wild and they are selling very well. What this means for me is that there are 50,000 potential customers who would be capable of playing my game when it's ready. In order for me to increase my sales, I need to increase the size of my market. I sincerely believe that if you give people a live demo of the HTC Vive VR headset and they play my game, they will want to buy both the hardware and my content. The amount of effort to pitch the product will be much lower because the products pretty much sell themselves. Combine that with masterful salesmen, and you're probably looking at easily moving 100,000 units. There are a few things I might worry about: Would HTC's sourcing be able to keep up with the demand? Could they build 100k VR headsets? From the consumer standpoint, does the average consumer have a computer capable of playing high quality VR content? Grandma's computer just isn't going to cut it, so the sales teams will have to make sure that customers have the necessary hardware to run the VR device as its meant to be run. That creates an interesting partnership opportunity with computer manufacturers as well -- we could create a complete package where consumers purchase a high end computer, VR HMD, and a content bundle which includes my game and a few other select VR games. There's a huge opportunity to bring VR to the masses and I want to be one of the people who helps make that happen. Anyways, I'm probably getting ahead of myself. The key thing to note is that as just a programmer / VR content producer, I play a small but important piece in the puzzle of the whole picture and I need to make sure that what I'm building is perfectly in alignment with the rest of the pieces. I can't let myself have tunnel vision on just code and design problems, I need to make sure that what I'm creating is aligned with the visions and objectives of all my potential partners, that it's something consumers love and want, and everyone who works with me, wins and succeeds.


Anyways, I met with the senior producer at HTC and showed him my VR game this morning. He loved it. I had this terrible bug which caused the AI in the packaged build to not move, although it works perfectly in my preview builds. I was in the office until 3am trying to fix it, but couldn't get it fixed in time. Despite that, I showed HTC my VR game. The locomotion system I came up with is unique and they said that they had never seen anything like it before and were surprised by how well it worked and were surprised by the lack of motion sickness. The spell casting system felt perfect as well and they loved it. This is really encouraging. A lot of indies bring them stuff which isn't very good and the quality bar is too low to get excited about. I hope I'm the exception. I still have a lot of work to do on my game to get it to be perfect, but I'm totally on the right track despite the bugs and need for polish. They said that their biggest markets are going to be Taiwan and China, which isn't surprising since HTC is a Taiwanese company, so what that means for me is that I absolutely need to make sure that my game is localized for those markets. One interesting localization bit about China is that their authorities don't want to see red blood... so what do you do? Make it green instead!


I fixed the path finding bug for my creature AI in the packaged build. It took almost two days because it costs about 30 minutes to package and test. After I got that taken care of, I pretty much had a decently playable build of Spellbound. It's time to put this thing up on Steam and start getting people to play it and give me feedback! So, that's what I've been doing the rest of this week. I have *never* launched a game before. I have never done anything on the backend side of steam. So, there was a lot of "uhm... am I doing this right?". The good news is that I got my first build up! I downloaded it, played it, and it works! I can't stress how big of a milestone this is for me and this project -- what this means is that people around the world will soon be able to play my game, give me feedback, and I can push out updates. I have finally created a closed iteration loop on product development and customer feedback. Check this out!!




Before I can officially launch, I'm going to have to create a polished game play video which demonstrates what it's like to play this game in VR. That's going to be a bit tough. I'm going to try to create a "mixed reality" video with green screens. One interesting challenge is that the player is represented by a full body avatar within the game, so when I composite the game into the video, how will that work with the avatar? Would it be interesting if the player wore an entirely green outfit so that it gets masked out and all you see is their skin? Then it would look like the player is actually wearing the wizard clothing... but would that be a problem for "representational purposes" for actual game play? I'm not sure.


Anyways, there is going to be a TON of work remaining to do in regards to bug fixing, polish, voice acting, and publicity, marketing, etc. I certainly won't be able to rest on any laurels for at least nine more months, or however long it takes me to finish building the rest of the content while this game is in early access. It'll be a relief to start getting some income though. I've been struggling financially. I still owe my former artist something like $8,000. I owe my office space $1,600; My webhost is about to shut down my websites for lack of payment. The "Employee Security Department" in my state is charging me something like $500 for unemployment insurance and fines. I need to be able to pay my share for food and rent. I have zero dollars in the bank, and probably about fifty cents in change in my pockets. If not for the financial support of my girlfriend, I would have had to go to the bank and try to get a loan, or lay off my artist a few months early. This has been healthy for me though. 100% of my focus has been "shut up and ship!" and "don't release garbage!". I really hope that I can at least sell enough copies of my game to pay all of my current debts and have enough to get by on a monthly basis. If I can become financially self-sustained, it means I can continue producing VR content. If I can't, then the reality is that I'm going to have to give it up and do my best to go get a job elsewhere, which would be a crushing disappointment. I'm literally a hungry entrepreneur and starving artist, and I'm finding there's nothing glorious about it... I have an optimistic feeling though that the lack of money will only be a temporary problem and a very good teaching moment for me. My new mantra is "gotta survive before you can thrive!"


Anyways, I have set a public release date for July 8th, 2016 for the Early Access release of Spellbound. I'm afraid that date is going to be very slippery due to the lack of a good game play video. Before I can release, it also has to pass a validation check from Valve. But if I do launch on the 8th, it's going to be worth celebrating. I won't get any income or revenue for at least two months after launching though, so I'll have to continue to scrape by for a while. When and if I actually launch publicly, I'll make a special post about it here.


note: Gamedev.net is being a bit finicky tonight.

Attached Thumbnails

  • Attached Image

Spellbound Game Play Video

Posted by , 22 June 2016 - - - - - - · 1,210 views

I created a 10 minute game play video of Spellbound this afternoon and thought I'd share with everyone. This is played in a room scale environment on the HTC Vive and features a locomotion system I invented. Have a look :)


Spellbound: May Update

Posted by , 03 June 2016 - - - - - - · 687 views

I think for this month, I'm going to do something different and spend less time chatting about backend details and more time showing off some of my work in progress screen shots. Enjoy!


Sunset. It probably won't make the final cut, but I like the colors and tone this creates.
Posted Image


Water Puzzle: Players have a room with a chasm of water which needs to be crossed. At the far end is a wraith lobbing death at you.
Posted Image


Night in the dark forest: This is the first thing you see in the prelude.
Posted Image


Boss Arena: This is the prelude boss monster arena. He's the protector for the book at the center.
Posted Image


Boss Arena 2: This is the same boss monster arena, viewed from a different angle.
Posted Image


All of this is a 'work in progress' and doesn't represent the final product. I still have to add in decorative bits and give these environments more of a 'lived in' look. They look too sanitary right now.


I'll launch this on steam early access soon. I'll make an announcement here when I do.

April Update

Posted by , 07 May 2016 - - - - - - · 1,070 views
lean, game dev, business and 1 more...

I'm feeling depressed. This is what happens when you run out of money and your project still demands more from you. This is a hard entry to write because there is so much struggle right now.


Last month I ran out of money. I had less than $1,000 in my bank account, and my monthly costs to stay in business are around $8,000. The expenses are as follows:
$4,000 - artist wages (+/- 100 depending on the days in month)
$800 - office rent ($400 / desk)
$2,500 - my living expenses (which are my wages paid to self)
$300 - misc bills


In order to pay the bills, I've been relying on my girlfriend to help with the finances. We've been getting income from watching dogs in my apartment. This... has been really annoying and rough. At one point, we had twelve dogs in there. We've been watching dogs for around 10 months in her old apartment, but in order to save money, we moved in together, so the dogs now stay in my apartment. Each dog brings in about $45 per day, so with 12 dogs, we were making about $540 / day before taxes. Let me tell you something about dogs... they bark. They shit. They have to be taken out to go poop and pee every few hours, or they will relieve themselves inside... which happens a lot anyways. They're hairy mongrel beasts which shed everywhere. They get into everything, especially garbage. They damage walls and claw at doors. They chew things up and shred furniture. If they're puppies, they have super high energy. The absolute WORST dogs to watch are black labs which are 1-3 years old. The barking and whining not only keeps me awake at 4am, but it also bothers the neighbors. Just a few days ago, I got a 10 day notice on my door from the apartment manager saying that we're not allowed to have dogs anymore or run a business from there, and if we continue to do so, we'll get evicted. Great.


My girlfriend also operates a bed and breakfast ranch an hour outside of Seattle. We've been renting out 60 acres near a river for almost a year. We began in August 2015, which was kind of bad timing in terms of seasons. So, my girlfriend wanted to staff the ranch with inn keepers to take care of the daily operations of it and she would do the management of it. Her friend from Portland was getting evicted and needed help, so we offered them a place to stay for free and a job with a revenue share agreement. I was completely against the idea because I didn't like her friend and her family. This was a family with two children who were about as skeezy as you get. They were a pair of Portland hippie tweakers / druggies. So, they moved all of their junk from Portland to the ranch house an hour east of Seattle, nestled in the cascade mountain range. We started running three separate operations simultaneously. First, was the bed and breakfast. We have 5 different bedrooms which are fully furnished in a large, beautiful ranch style house. Second, we host dogs as a part of the dog sitting side business. The dogs can run around in the fenced in area and play all day. Third, my girlfriend is passionate about horses and operates a horse rescue and trail riding business. I'm against this because of the financial burden, but it doesn't seem to matter. As I predicted, the inn keepers were terrible. They did nothing but complain and bicker and were a nightmare to deal with. A few months in, we discovered that they were doing meth and there were several incidences of domestic violence and knife stand offs. I immediately came in and fired them on the spot, but... you can't just throw a family out on the spot. This was in early November, so winter was setting in. They begged for a second chance, and Christmas was right around the corner, so I relented and gave them a probationary period. We had no staff and needed to have someone running the place. They both complained that they were broke and over worked, and despite the house being a dream property, they said it was no place to raise a family. Their biggest gripe was the amount of work they were both putting in to care for dogs and take care of guests, saying they were putting in 14 hour days, 7 days per week. Based on other accounts from temp workers, they were actually spending 12 hours per day fighting and arguing with each other, and maybe two hours working. It would literally take two hours to argue about who would take out the trash, which is a two minute job. Everyone looked to me to be the stoic, respected leader to arbitrate these petty squabbles, but I wanted as little to do with this as possible. I just don't have the time or the interest to get involved, I've got a game to build. Yet, I had to step in and be the force to be reckoned with. Immediately after Christmas, there were more incidents and reports of meth and pills being used, so I finally stepped in and fired them and meant it this time. A day later, I had a moving truck ready for them, paid them $4,000 for their time (after much arguing), and sent them back to Portland. They can go back to working for Walmart, collecting welfare, and living off of food stamps. As a consequence of working at our ranch, we received many bad reviews which hurt the business. At the same time, we found a young girl to replace these two nut jobs. I interviewed her and immediately liked her and pretty much hired her on the spot. The bar was set super low: Do you do meth? do you argue all day? do you hate working? no, no, and no? great! you're hired! really though, she was presentable to customers, looked capable and willing, and was eager to get started. She was living with her mother but the mothers landlord said she couldn't stay there, so we invited her to live at the ranch. She has been a dream employee. We both love her. Me and my girlfriend want to take care of her like she's family.


However, the neighbors of the ranch have complained because they have nothing else to do. They are perpetual complainers who find fault with anything and anyone. They run a diary farm with something like a hundred cattle. From what we can tell, the source of the ire is from the wife. She makes life miserable for her husband and adult son, and they take it out on everyone else. Regardless, they put in a complaint with the county and said that our horses are starving, miserable, and uncared for. And the dog business is "illegal". More annoyance. My girlfriend went and spoke with animal control, who came and inspected the ranch. Seeing as how we were running a horse rescue, saving abused and neglected horses from being sent to a slaughterhouse and being turned into dog food, we would take in horses which were severely neglected and unhealthy. The worst horse was this eighteen year old white horse with a liver problem. You could literally count every one of his ribs when he came in. We've since nursed him back to health and he's made a full recovery. We have seven horses which are being taken care of and used for trail rides (to pay for their care taking). The dog business was a different story. We discovered that the county is full of red tape and bureaucrats. If the dogs even set foot on the porch, we have to submit a "certificate of occupancy" and that requires the fire Marshall to certify the building. And for some technicality, they weren't going to do this. So, we looked into building dog houses. But, that too requires a separate permit and each shelter needs to be certified by the fire marshall, and would need sprinkler systems and fire alarms... in dog houses... located in a yard... At the same time, we discovered that the zoning for the property was an agricultural zoning, so running a commercial enterprise was not in compliance with the zoning laws. And you can't just easily rezone something. If a county rezones an area, it is legally obligated to provide zone specific services for that zone, such as paved roads, plumbing, sewage, etc. which costs the county a lot of money. So, if you want to watch a few dogs on a ranch, the county doesn't want to let you do that because they would have to pave a road. How does any of this make any sense?! Dogs don't care if a road is paved! They just want to run in the grass and play all day!


On top of that, the land is in a flood zone. In the winter time, the river floods and two thirds of the sixty acres is under water. The land is also a designated wetlands. And our landlord for the ranch runs an asphalt and paving company and stores his equipment in a barn. There are a lot of legal and permit based problems, and what he's doing is probably illegal, so he absolutely doesn't want any county officials nosing around his property, lest he gets discovered. So, he hates that we have horses and dogs on in an agriculturally zoned property. Last week, he decided that he doesn't want to renew our lease, which expires in August. Probably due to the recent attention by county officials. So, that means we have four months to find another suitable ranch. We have to find a place to store seven horses and a fenced in enclosure for dogs, and find enough space for nice trail rides and a house nice enough to host guests from around the world. In four months. It's nuts. It's a huge source of new stress. How are we going to find a good home for these horses, with everything we need? Here's a lesson I learned from this: Do NOT rent land from someone and try to operate a business off of it. Your business operations are dependent on you having a place to operate your business from. If you're renting with a one year lease, you're at the mercy of your landlord. If you invest any money, time or effort into developing your business, it can legally be ripped away from you by simply not renewing the lease. And, if your landlord is a two faced liar, you have no legal recourse. ANY promises made should be written down, signed and dated. Don't do ANYTHING without a written agreement which can be used in court. A paper trail is your best friend. I can't stress enough how important it is to identify potential risks and look at the mitigation steps and their feasibility. It's much better to perform a risk analysis before making any sort of commitment because it is much easier to turn back and say "no thanks".


A few weeks ago, I went on a trail ride with one of the horses. We went out into the woods and along the river. The whole time, I could tell that the horse just wanted to stretch its legs out and run. We got to a large field, and I gave the horse a light kick. That was all the 'go ahead' it needed and I could feel the surge of pure joy as it just bolted at a full run. Normally when you sit in a saddle, you're sitting nice and comfortable. When the horse is running as fast as it was, you are bouncing out of the saddle with each gallop. I had to stand in the stirrups and lean forward in order to not fall off. I'm generally a pretty reserved and stoic person, but I couldn't help but grin from ear to ear. I've only ridden a horse about six times in my life and never been on top of a beast running at 35mph, so it was one of the most exhilarating and scary experiences I've done lately. I still want to do it again.


I was talking about the horse trail rides with my girlfriend. We realize that riding horses is kinda fun, but we need a bigger "draw" to make it compelling for people. The first iteration of our idea was to not offer "horse" rides, but to offer "unicorn" rides. Anyone can say they road a horse, but who can say they rode a unicorn? That's something interesting to talk about, right? I thought about it for a bit longer and thought it was a bit gimmicky. Then I had an epiphany. I'm a virtual reality game developer. I create experiences. Why not combine virtual reality with horse riding? What if we could develop an augmented reality horse riding experience? You sit on the back of a horse, go on a trail ride through the forest, and you're wearing AR goggles. When you look at your horse, you see a unicorn. When you look around the forest, you see mythical forest creatures such as fairies, elves, dryads, and nymphs. Some of them may come and interact with you as you ride through the forest. When you look at the foliage, you can identify the plant and read about it and learn about nature. If we do it right, it can be the most magical experience in the world. It would be something that people from around the world would want to come and try, and it would be an experience of a life time. I'm super inspired by this idea, but realistically, I can't make this happen any time soon so I have to keep it on the back burner. I need to finish my current VR game and build up my team and talent before we tackle anything bigger and harder. If we got investment or sponsorship, we could make this happen faster, but that's unlikely.


Last weekend, my girlfriend and I went to Astoria, Oregon to work a booth at the crab and wine festival. We've been going to fairs and selling these hair combs with beads. This was probably my tenth fair. I can say that manning a booth and selling this product has been a huge, huge learning experience for me and reinforced the importance of sales. I was working as the "closer", which means I take everyone's money and try to upsell them on a better offer. "You're getting two hair clips for $20? For another ten dollars, you could get two more! Would you like to do that?" I suck at upselling, but I have no problem taking and counting money from people. My girlfriend is the sales opener, and can sell product to about 80% of people who stop by. My conversion rate is about 5%. Yes, I really suck at sales. I'd love to be better at it. I learned that to be a good sales person, you are pretty much acting for people. You put on a persona, you entertain, you woo, you draw people in, you get them interested, you show them your product and tell them how amazing it is, all while being as truthful as you can, you make them want it, then you take their money and give it to them. This is what you do in sales. I realized it doesn't matter whether you're selling hair clips, bottle openers, or video games, selling is a universal skill which works the same for every product but requires a knack for understanding people. I'm a programmer, and traditionally, programmers and sales people don't get along (which is stupid!). But damn, what if you got the sales people and programmers to have a super cozy relationship to build exactly what people need and want? How can I use the principles of sales to maximize the selling potential of my games? If my girlfriend can sell product to 80% of the people she exposes it to, how can I get the same sales rates and how do I maximize the exposure of my pitch? Is there a systematic way to do this on a massive scale? Is the "social media" angle right, or are there better channels?


Overall though, we didn't do very well. While we sold around $1,500 in hair clips, our profits were eaten up by the costs. $675 for a booth fee. $300 for lodging. $150 for food. $80 for gas. $300 for product costs. We barely broke even, despite selling so much. Was it worth it? Could I have been more productive if I spent the weekend working on my game instead? I'm not sure. But, that does get me thinking a bit about fairs, festivals, and events in general. Translate this to the game industry and think about PAX, E3 and CES or any other game related expo. Running a booth costs money. Lots of money. Somehow, you have to get your money back, or else you lose money. And, if you keep losing money without making it back... well, good luck staying in business. That means you need to think very carefully about where and why you are setting up a booth and what you're trying to get out of it. Are you trying to do marketing and create brand awareness? Are you trying to get press coverage? Get player feedback on a game prototype? Woo possible investors? Make a name for yourself in the industry? Whatever it is, at the end of the day it has to translate into increasing your bank account. When the sales don't happen immediately after a pitch, it's hard to measure the effectiveness of your effort. I suspect that 95% of the time, people will completely forget about your product the moment they walk away. Yay, 5% sales rate, just like with me and the hair clips. A battle is won in the planning phase, so if this is a risk I anticipate, then I need to plan for it and account for it. Remember the ranch fiasco I wrote about above? If we are going to run a booth at a gaming expo, we want to at least break even with the costs of operating the booth by coming up with a plan to do so and somehow measure the effectiveness of it. Plan, plan, plan, then plan some more. While battles are all chaotic and plans quickly fall apart, it's better to enter into battle with a plan than no plan at all. At least you know what your strategic objectives are and you can loosely achieve them and recognize the moments of opportunity and seize them.


This summer, I plan to show our game at PAX Prime. Probably at the indie mega booth, with whatever money I can scrape together with my girlfriend by selling hair clips. The sales experiences I've had with hair clips helps to think about how I want to sell my own product during PAX. The question is, how do you get people to come and see your booth, get excited about your product, and buy it? Obviously, the longer the time period between sales pitch and purchase, the lower the chances are of getting a purchase. I'd rather do "buy it right now!" vs. "hey, go home and remember to buy it tonight or next week". How do you do that with digital purchases? How does that work with VR? What if your product isn't available for purchase? I have no idea.


Anyways, finances are going to be very tough for a while. I can't have dogs in my apartment (which is a relief), our ranch lease is not being renewed in three months, my game isn't ready for sale yet. From the comments other people left in my last post, I think I'm going to reconsider doing early access for our game and will aim to have an early access version of the game online. It's the beginning of May. I think I can have a pretty playable version of the game available for purchase by the end of May. If I put my game up by May 30th, I can get paid by the end of July, which is two months later. If I wait until June 1st, I get paid at the end of August instead. Jesus, is this okay?! What if game sales absolutely suck? What if I only sell 100 copies? What if nobody wants to be an investor? What if no bank wants to give me a business loan? What if nothing works out? Fuck... I have to believe in myself, that's all I got. If I don't believe in myself, nobody else will either. I have to work hard. I have to make this work. Nobody else is going to do this. If I give up... well, then my fate is sealed and nobody cares about the "coulda-shoulda-woulda" types of people. If I give up, there is no future, no great company or great product. I can't rob the future of my contributions to it by giving up today.


My artist is planning on quitting now that he's not getting paid. That's a disappointment to me. I don't know if that's good or bad. He hasn't been coming to work for almost a week now. I've been thinking about this quite a bit lately. We're a two person team. I've been a bad boss because I'm not acting like a boss. Early on, I decided to take the "Valve" approach to management where I don't manage at all and just trust that people work hard and diligently. I've learned that it doesn't work very well with everyone. My artist likes to chat and hang out with other freelancers in the office for an hour or so every day. I don't like this. The fact that I rarely come down on him for it is proof that I'm a bad boss. I just want to say, "why the fuck aren't you working right now? I'm not paying you to shoot the shit with people." It needs to be said, but if I say that, then I'm a mean boss, but I suppose I have to be a mean boss or else people will take advantage of me. God damn, I just want to write code and make games with people, not babysit them. Anyways, my artist is actively looking for work elsewhere now. The downside to losing him is that I lose out on the investment of time and nurturing of his talent over two years. But, is that an assumption I'm making to justify in retaining him as an employee? It seems that an artist is somewhat of a fungible asset, where I can replace an artist with another, so long as they're decent and maintain the art style/direction. I was looking on the unreal asset store and it has really filled out lately. There are LOTS of high quality art assets I can purchase. I had my artist create and animate a skeleton for me. That took him about two weeks. If I pay him $24/hour and he worked 80 hours to create a skeleton, then I paid 80 * 24 = $1,920 for the skeleton model. I found a skeleton as a part of a fantasy character package online for $39.99. Wow, I paid so much more for a skeleton than I should have!! So, I've wasted a lot of money I didn't have to waste. To be fair to myself though, the art asset wasn't available on the asset store when I asked him to model it, and the requirements I had are a bit unique. But anyways, the point is that in the practical sense, even if I purchase a $100 asset package and can only use one or two assets from it, That is equivalent to four artist hours, which would be a minimum of what it takes to produce those same assets anyways, so spending $100 is much cheaper than having an employee. My girlfriend tells me that I should contract out any unique art requirements as well, so... yeah, I'm dumb and a bad boss. If my artist does quit however, my production costs sink from $6,000 per month to about $400/month, and that is equal to selling 20 hair clips, which can be done in about an hour at a decent fair. That would mean that operating my business would become very sustainable because my operating costs are so low. However, I would still have to spend money on things like voice actors, contracted talent, and miscellaneous expenses such as booth fees and asset purchases. When I explained this to my girlfriend, she said "Now you're thinking lean!".


So, I have to reconcile with the fact that in all likelihood, my artist is going to quit. That's going to suck and will be a bit of a blow to the project and my morale, but I have to bounce back and keep going. Nothing but a good attitude and positive thinking can help with this. I tend to seek the silver lining in everything and look for the opportunities in even the worst situations. It makes things a lot more palatable and, rather than wallowing in woe about past mistakes, I can look forward to the exciting opportunities which lie ahead and keep charging forward. So, my artist quits. Bummer. What's the positive side of this? My costs drop to nearly nothing. Even though I lose out on his developed skill set, I also have to recognize that *I* am the most irreplaceable person on this project. The project can go on without him, but not without me, and I'm not abandoning the project. Ever. So long as I'm working on this project and working hard on it every day, it will eventually get done. I am the one who moves this project forward. If it eventually starts to become profitable, I can hire more people to join my team and together we can make this game even better for our customers. I've always thought that it was really important to develop the skillset and talent of the team, but recognizing that the talent of an artist is somewhat fungible is important. When it comes to VR, the talent which is much harder to replace and more worthy of development & investment is the designer & programmers talent. Going forward, if I had to hire a new employee / partner, I'd bring on someone with strong programming skills with a keen sense for design. We can just shop out the art requirements to the market place or contractors. When the art requirements start becoming too unique and we're contracting too much out, it might be worth looking at hiring a full time artist.


One last thought -- While I was eating dinner in Astoria, I had an epiphany on the future of what I want for my company. This is influenced by my experiences with running the ranch as well as running my game company. The critical question to think about is how you look at and see the people who are working for you. I see people who are making sacrifices to help build our dream. To build something which we want to do for the rest of our lives, to do something which we enjoy. It's as much their dream as it is ours, right? I think of every employee as a person under my personal care, who I have to do my best to take care of as I would a family member. In a way, a company should be like a second family. Losing your job should feel horrible, like getting a divorce, if your company is doing business right. And firing someone should not be taken lightly, with all things considered. These days, I think companies expect loyalty out of their employees, but companies are not willing to show loyalty to their employees. As a result, employees are happy to hop from job to job and companies are happy to churn and burn through hundreds of employees per month. Nobody wins. If you think of a company as an institution of stability and providing for its members, then how can you have stability without a stable membership? You build stable, long lasting companies by treating employees right and creating an environment which they would want to spend 20-30 years at as an employee. You don't look towards profits as the end goal, you look at creating a flourishing company as the end goal and the profits are a means to that end. Profit would just be a natural side effect of running a business institution properly. I think... investors are going to have a problem with this view, especially if they're looking for short term profits. But hey, those are the types of investors you don't want to have as investors anyways. No, in this modern era of companies and employees, a proper company should bend over backwards to show loyalty to their employees in order to distinguish itself from the chaff of other horrible companies. A worthy company should be able to say to a new employee, "Welcome to our family, we will take care of you and we expect that you will be a great new addition to our prestigious membership.". I recently spoke with a recruiter for Amazon, and she said that Amazon spends TONS of time, effort and money to bring on new employees (about $40,000 per hire). Yet, the average employee retention rate is about 12 months. That blows my mind. Why do you spend so much time and effort finding the perfect fit for your hard to fill position, and then treat the staff like garbage so that they quit in less than a year?


Anyways, my artist is quitting and I will do everything in my limited power to make sure that he's well taken care of and lands on his feet at a new and rewarding job. It's okay, I'll survive and this game will get done. Some day, I'll look back on this, smile and think, "wow, what a defining moment that was."

A fellow game developer died

Posted by , 02 May 2016 - - - - - - · 857 views

I'm close friends with the fellow game dev team upstairs on the 14th floor. Every time either of our teams has something to celebrate, we invite each other. We share in each others happinesses and struggles. We have a good camaraderie.


Today, I learned that Doug passed away.
He was so young. He was about my age.
He was the smileyest guy on their team.
He went to have heart surgery last Monday and died on Friday from complications.
How fucked up is that? That you could be talking to someone one day, and they're dead and gone the next? Forever! I know the reaper comes for all of us, but it's a lot harder when it is so unexpected and sudden.
How do you deal with that? On one hand, you've got the grief. That's the hardest. Then you've got the team members who are also grieving. Then you've got the game project. To say, "The show must go on!" is what must eventually happen. To do that, you've got to do a transition of responsibilities. Shit. They were a four man team, now they're down to three. He was their coding heavy weight. The guy who could do it all. You can't just farm that out evenly to the rest of the team. They're also pretty much broke, so you can't hire replacements. How do you pick up the pieces and make the show go on? How weird will it be to look at his source code and see his comments? In a way, it's a part of him. And eventually as the code evolves, you're going to have to delete some of those comments? In a way, we all have threads of evidence which suggested we existed. One by one, those threads are erased over time. But you owe it to Doug to see the project through to the end.
Well, Doug worked on this game for the last few years. He wanted to "make something fun". He got to see the beta launch of the game he worked so hard on. He did what he dreamed of doing -- and when it comes to life and dreams, that's kind of rare... Things like this make us think, "what if I'm next?" and hopefully compel us examine our own life closely.


I know I'll be drinking a coffee in Doug's memory today. Damn, I wish I never had to write something like this.

March 2016: Funding ran out

Posted by , 08 April 2016 - - - - - - · 2,215 views

Well, I've officially run out of money. (long pause for reflection)


This seems to be a common struggle and problem with indie game developers, and I'm not any different... Do I blame myself? Who else and what else is there to blame other than myself? Of course it's my fault.


I had about $500,000 at my high point. Today, I have no more than $1,200. What happened? Well, about five years ago (has it been that long?!) I went to Afghanistan as a military contractor working for the US Army as a senior software developer at the headquarters. I was initially paid $61,000 per year to work for General Dynamics as a junior field technician, but my project manager knew I was a developer so he sent me out to fill a much needed gap. I worked for GD in Afghanistan for about six months. One of my co workers worked for another contracting company called "Trace Systems". He was paid very well and his manager worked in the building and came by every week to check up on him and make sure he was well taken care of. My manager on the other hand, had no idea who I was or what I was doing. I never, ever heard from him. My initial contract was going to be six months and I had no intention of staying there, but the officers liked my work and saw my value, so they wanted to keep me on staff if possible. I told them I'd stay on for a year if I can get paid better. So, they made it happen. I quit General Dynamics and switched to Trace Systems, who paid me $240,000 per year to work in Afghanistan. For that kind of money, I can do that for another year. Afghanistan sucks. The mountains are brown, the air is dirty, the ground is brown, there are very few trees, it's just brown dirt and rocks everywhere you look. And the sky is filled with brown smog. I lived in a plywood shack with a quarter inch of wood between myself and the elements. We got shot at by rockets and mortars. The closest one landed no more than 200 feet away from me one night. You're never safe. My day to day life was pretty much, eat, sleep, work. I worked seven days a week, twelve hours a day. I oversaw three unit rotations. Winters were freezing, summers were roasting hot.


Towards the end of my 18 months, I was very burned out. I was tired of it all and became pretty useless. Even though my contract said I had to work 12 hours a day, I effectively only got about 2 hours of work done at best because I was so spent. It depressed me. I honestly wanted to keep working hard and pushing myself to fulfill my contractual obligations, but I felt like I was at the end of a marathon and I was trying to sprint for another mile. Nothing but a long break would fix that. It was time to go home. The whole time though, I was taking all of the money I earned and I put it into an investment account. I invested ALL of my money into Tesla Motors when they were at $55 / share. A few weeks later, they jumped to $92/share and I had made a couple hundred thousand dollars for doing nothing. I thought to myself, "Why do I work so hard to make a few thousand dollars a month when I can invest and make a couple hundred thousand?". Well, it turns out that I just got lucky with that particular stock pick. I invested all of my money into a solar power company and saw myself losing and gaining tens of thousands of dollars. It became an obsession to track the stock ticker symbols and read the news about these companies to try to figure out why the stock price went up or down.


My intention was to leave Afghanistan with $200,000 in the bank which I could use to fund my game development company. Instead, I left with about $350,000. That was a stroke of luck. I continued investing when I got home, and gradually raised my capital up to $550,000 at the highest point. I believed that, based off of the money my stocks were earning, I could afford to hire an artist to work for me. I was generous with his pay because I could afford to be. The plan was going to be to continue growing my financial portfolio and use a portion of the proceeds to pay my artist. Some days, I'd make a couple thousand dollars and think to myself, "Well, I just raised the money to pay his wages for a month." Ideally, that would have been great if it worked that way forever. However, all it takes is for one or two bad stock picks to demolish your savings. That happened. I invested in Fannie Mae, thinking they'd bottomed out at around $3.50/share. They went all the way up to $6/share and then crashed to around $2/share. I lost over a hundred thousand dollars in one day. Damn. But I can make that back, right?


The expenses of running a business with zero income will eventually drain all of your money. Every month, I had to spend about $8,000 to keep things running. My artists monthly wages were in the range of $4,000 per month. My office rent is $800 per month. My own apartment rent is about $2,000 per month. Then I've got bills, food, insurance, and a few other costs. I also spent money on computer hardware and computer software. I wanted to do everything right and legally, so I paid for all the software we use. Zero piracy. Everything is licensed. Zero risk of lawsuits in that regard. So, my stock portfolio would go up and down over the years, but it trended downward more often than it trended upward. I realize now that my investment strategy was very shitty and I should have invested in an index fund. On top of that, my investment portfolio had to give up $8,000 per month in order to keep my business afloat. Some days, I would see a months worth of savings evaporate. Those were bad days and I experienced a spike of adrenaline as my anxiety rose. Doubts became more frequent. What if I can't make it? My business focus was to keep my burn rate as low as possible and make my money last as long as possible. I saw my business as another investment vehicle. Unlike with stocks, where the value goes up or down at random, I myself can directly control the value of my business. That, combined with my belief in myself and my abilities as a developer, make it a pretty good investment, right? Maybe.


At about the $175,000 mark, I started looking for other investors who would be interested in sponsoring our game company. That turned out to be a huge waste of time and money because nobody was interested in investing. Nobody gives a shit about us or what we're doing. Investing in a game company is like playing roulette. No wallets opened up. I would spend several days creating and refining a pitch, practicing it, and looking at our financials. Most of it is just speculative bullshit, as with any other start up company trying to raise funds. Why would anyone believe in us? Or in me? It's not enough that I believe in it or have put all of my own money into it. Generally, nobody touches game companies. I kind of gave up on investors. But that's okay, right? I don't know, maybe I'm just an idiot. Maybe I should have spent 80% of my effort trying to court stingy investors instead of trying to build our product? One thing I have kind of learned though is that investors don't want to hear the cold hard truth. I have a really hard time lying or sugar coating things. I think everyone has a right to know the truth, whatever it is, so that they can react the best way they can.


Anyways, I initially worked on a real time strategy game where you controlled a wizard who could cast spells on a battle field. Think of Total War meets Magic the Gathering. I think the concept is great, and with a lot of work, it could be really fun. I had planned to build the game in XNA using my own game engine. A month after I returned from Afghanistan, I began working on my own game engine. I poured about 12 months of effort into it. It was HARD. But I got a rough 3D engine working with moving troops, AI, spells, and a decent user interface system. My software engineer instincts were throwing up red flags all over the place though. The biggest one was saying, "You're a victim of the 'not invented here' syndrome." and "You can never ship with this." and "Want a new feature? That's gonna cost a month of engine development time! That's $8,000. Is it worth it if you can't ship it?". Yes folks, I spent 12 months on this. I'll be the first to officially say that I'm an idiot and I should have realized my mistake a lot faster. Eventually, I was convinced by the following argument: You are ONE man. No matter how talented you are as a programmer, you will NEVER create an engine which is anywhere near the quality of the existing engines. They've got engineering teams with dozens, if not hundreds of talented engineers putting in effort to build the underlying infrastructure for making games. Stop reinventing the wheel unnecessarily and use an engine. Any engine is better than your own -- it makes sense from a business perspective. Divorce your baby and do the right thing. So I did. I picked up Unreal Engine 4. At the time, using it costed $20/month. That is SO cheap compared to spending $8,000 / month in operations costs creating my shitty XNA engine, which should never be shipped. At this point, I had about $275,000 in the bank, so not all was lost.


A little over a year ago, Virtual Reality started becoming a thing. I went to a UE4 meetup and I tried out an Oculus DK2 for the first time. I played an early version of "Technolust", where you just walk around a spaceship room with an android who is constantly looking at you. I did this in the back of a noisy bar, but once I put on the headphones and head set, I almost forgot I was still in a bar. My critical side looked at the experience and art assets. Undoubtedly, it was pretty well done. But I thought I could do WAY better, if I tried. I decided to think about it long and hard before diving in. I don't necessarily want to just abandon a project I'd been working on and spending money on for over a year simply because something new and shiny comes out. I wasn't keen on repeating my mistake with the game engines again. I'm not exactly sure when it happened, but Facebook bought out Oculus for $2 billion. The hardware was workable. A big company just made a big bet on it. The hardware and experience was transformational. It changes things. I decided that I would just buy an Oculus DK2 for myself and try it out and see for myself whether it's worth developing anything for. I mean, it only costs $450. Compared to my monthly expenses of $8,000, that's a drop in the bucket, so why not? I figured that if VR is going to be done right, it also needs to use hands. I had learned about the Leap Motion device when I was in Afghanistan. I put in a request to get the early developer kit version sent out to me out there, but that was totally ignored. I was a nobody (still am). But, VR done properly needs hands, so I bought a leap motion to go with my VR headset. I'd figure out how to make it work, no matter what it takes. If I can build my own fucking engine from scratch, surely I can figure out how to make hands work. In comparison, it should be trivial.


So, the DK2 came in March 2015. I hooked it up. I tried out some demos over the week. They were all mostly "meh...not impressed". Someone posted online that they spent a weekend making a VR game using leap motion, where you can throw fireballs at barrels, and it was the most fun they ever had.. That intrigued me. I couldn't find it anywhere online. I figured that I'd spend a weekend and build my own. No problem, right? And hey, throwing fireballs at barrels is kinda interesting, but also would get boring kinda fast. What if... there was something that moved towards you slowly and you had to destroy it with the fireball before it got to you? It would create a bit more tension and keep things interesting, right? And what creature behaves like this? A zombie! So I bought a zombie asset from the UE4 online asset store and created my fireball throwing game in a weekend. It was pretty cool! I showed it to my artist, and he was disappointed that I didn't include him in it. I wanted to ship it, but it was rough. I decided that I could afford to spend a week polishing the game and then shipping it, and I could include my artist to make it look pretty. But... the game needed more work. More than a weeks worth of work. Maybe two weeks? Maybe three at most? We could afford to waste a few weeks on a fun side project, right? And if we released it, we'd kinda be more important. Well, that was the initial plan anyways. Enter, feature creep!


We were looking at a month. Then it turned to three months. The game progressively got better and better. We borrowed a lot of assets from our other game. We went to a VR meetup group here in Seattle put on my "Chronos VR", and gave our first public demo. The game play worked, but it was still shitty. It needed more work. But seeing the player responses to a working VR game which I hatched out of my own imagination was super encouraging. People fucking loved it. But I could do better. So, we put in another three months worth of work into the game. Then PAX came to Seattle. I really wanted to have a booth at PAX to show our indie game to people, but alas, I missed the deadline to submit a build in May (I was in Las Vegas with my girlfriend visiting her family). But hey, we're like... three blocks away from the PAX convention center, and right across the street from Benaroya hall, so why not put a bunch of sandwich boards on the sidewalks to advertise our game to PAX players walking by? VR was becoming HOT, and people were willing to stand in line for hours to try it out, so I imagined we'd have a line out the door too. Well, that was a very wrong assumption to make. I had built three sandwich boards out of plywood and created a bunch of laminated posters to glue onto the wood. The total cost was $300 for three signs, and quotes from professional sign builders were double that. I also pulled in my girlfriend to help with the logistics and marketing of all this. She is really good at sales. She can sell ice to an eskimo. She stood out on the street and pulled people to come up to our office. When she was working, she'd bring in about 10-15 people at a time. When she stopped, we'd get about 1-2 per hour. Obviously, the sandwich boards failed to do their job. Nobody gives a shit about what is written on a sandwich board. They just ignore it and walk right by. Interesting. Over the course of the weekend, we had 150 people try out our latest build of the game. It was still kind of shitty by my standards, but the response was great and showed me a lot of problem areas I needed to focus on and improve. Watching people play your game is the best user feedback you can get. I wrote a bunch of stuff down and spent another few months refining and improving the game. Money is getting more tight. We were getting below $100,000 in savings now. It's time to either shit or get off the pot. Ship this damned game or fail.


As you know, we're still not ready to ship and we're broke.


A few months ago, we ran a steam greenlight campaign for our game. We were greenlit in ten days. While a big part of that is due to the novelty of being a VR game, the rest of the appeal was from the game concept itself and our high production values. We accelerated through the ranks and hit #31. We were on track to hit rank 15. That was a very encouraging indicator of our chances in the market, once we released. Still, no funding. Valve was kind enough to finally send us an HTC Vive Pre for free. The moment it came, I hooked it up and started developing support for it. Room scale support is an entirely new can of worms to develop for. There are problems I faced in design and concept I've never had to deal with before. Like, measuring the height of the player suddenly becomes game play relevant. Figuring out how to prevent players from physically walking through obstacles in VR was tough, but I got it. Then there's the whole locomotion problem. If your world is large and expansive, but the play space is the size of a living room, how do players move around in a large open world by walking around in their living room? Without teleporting! I solved that too. If I can write a game engine from scratch, solving these problems shouldn't be any harder. Still, nobody cares. The proof is in the pudding. You can talk about this stuff till you're blue in the face, but what really, really matters is shipping a product. Show, don't tell.


Adding room scale support and solving these really tough problems has caused us to take a few steps back in order to take a step forward. Why support the Vive? Why not just launch for the Oculus and add Vive support later? I wonder that myself, but really... the answer is simple: because hurling fireballs from behind your back in a room scale environment is fucking cool. And if the VR market is going to be 50% Vive and 50% Rift, then we would want to support both. Why turn away potential sales? Well, that has also costed me about a month ($8,000). The game doesn't work yet. Now I have no money. Damn.


This week I had to have a hard conversation with my artist. I told him I'm broke and it would be hard for me to pay him going forward, but that I'd make every effort to pay him for his work. How? My dear gracious girlfriend is going to be helping with the finances. She is bending over backwards to raise money to fund our development by going to fairs around the pacific northwest and selling hair products. We're also watching a half dozen dogs in my apartment every day (piss, shit, barking, everywhere... ugh). And we co-operate a ranch bed and breakfast which barely breaks even. We also moved in together to cut costs by sharing them. She tells me she's not going to let me give up on my dream simply because I ran out of money. That's a fixable problem, right?


Currently, as it stands now, the game still needs about 3-5 months of development work. Maybe more? It's impossible to accurately predict these things. We have to finish this thing and ship it. If we sell it for $25 per unit, we need to sell 61,150 units to break even. That seems like an impossible number to reach. We've recently come up with a long term plan for the game as well. I decided that our "game" is more of a story telling platform and that there would be many different stories being told on it. Each story is released as a series of three chapters, and we release one chapter at a time. The proceeds from sales would fund the production of the next chapter. And each series is sold separately. $25 for first game, maybe $15 per additional story? or maybe a bundle deal? Each of the stories would be very different, but seen from the vantage point of a different character. And they would be intertwined. VR is beyond just a head set, beyond just adding hands and input, beyond just telling a single story, it is a way to experience first hand, the amazing stories and lives of interesting characters. This is part of our vision for the future of VR -- we just have to shut up and finish building it. Right now, nothing is more important than shipping a quality product I'd be proud to put my name to. We'll get there.


I had a bit of mentorship from another CEO a while back. He told me that I should expect to "waste" 50% of my funds. It's not avoidable and it doesn't mean I'm a bad manager of money, it happens to everyone starting a company. You waste money going down dead ends in order to find out that they're dead ends. I didn't really believe him, though looking back now I admit that he was right. We spent a lot of time and money finding our way to the final product we're going to ship. In that process, I built a game engine from scratch. Mistake. I invested money I now realize I couldn't afford to lose. Mistake? I started building a game, which we then abandoned. Failure. Now we're finally building the product which we believe will work. There will be more mistakes and failures in the future. But that's okay. These are all a part of the required process to move forward.


Anyways, just because I ran out of money doesn't mean the adventure is over yet. The show must go on! Once we ship and start making sales, I'm going to be very wary about growing. You don't want to outgrow your earnings, no matter how financially safe you think you feel. I need to learn how to make our business financially self sustaining. We have to survive before we can thrive.


I know its a long shot, but if you know any rich saudi prince who wants to invest or sponsor us, let me know.

October 2016 »

23 24 2526272829

Recent Entries

Recent Comments