Where is the game at today? I have nearly finished working on a major update. Customers are starting to ask about it. I'm a bit nervous about releasing it because I'm worried that people may not like it or that it will break parts of the game. But, that's what testing and early access is for, right? In the next few days, I'm going to be thoroughly testing and refining the systems I've been working on for the last 3 months. This is my lead up to deployment. This patch is obviously going to be a very significant update to the game on the technical back end because I've torn everything apart and put it back together. There are some subtle changes to the way the game feels, but overall, it feels mostly the same. Probably the most important change is that players no longer directly control the characters they're possessing. Instead, they control an invisible ghost which possesses the character they're controlling. The ghost can possess any character in the game, and controlling that character is just a matter of whether or not that character implements a control interface. This is going to be huge when it comes to supporting multiple hardware platforms, supporting multiplayer in a future release (co-op, spectating, pvp, etc), and supporting mixed reality video capture (The camera is just another ghost). I've also refactored the arm swinging locomotion system quite a bit, so with version 2.0, the torso is very close to the players torso, and movement direction is independent of head direction. Now, I can actually turn my head and look over my shoulder and still run forward. This lets me see behind myself as I'm running away from a monster. I don't know of any other game or medium which has this capability yet. This will probably be one of those changes 95% of people don't notice but take for granted. However... when you do something and the game responds perfectly, it's amazing. Creating immersion and presence is all about matching user expectations.
I think I'm getting pretty close to finishing up all of the boiler plate VR interaction stuff. One of the very last things I need to do is match the controlled avatar with the player height, so when the player jumps or ducks, so does the controlled character. Then, a player can physically duck behind a wall and hide from a monster. Or, they can duck under an obstacle blocking their movement. I'm thinking that as I develop these sorts of mechanics, I'll create gated areas in the level which teach the player how to use these mechanics. At the end of each "trial" will be some sort of reward, and really, the reward will just be another form of trial to teach another mechanic. Sort of like, "Hey... you learned how to duck! Here, have a magic missile spell! Oh, now you need to learn how to target multiple monsters with this spell."
I am now going to officially support a different spell in each hand. Some spells can target creatures, and my old technique for targeting was designed to support a single spell type at a time. I needed to come up with an intuitive new UI which doesn't break immersion. To target a creature, you point your hand at it. Initially, my implementation just shot a line trace from the motion controller position to wherever you're pointing it. However, during play testing I discovered that trying to target distant creatures is like trying to shine a laser pointer at a dime ten feet away. So... I now place targeting cones on each hand and I detect whether that cone overlaps a creature. It works. Unfortunately, there are no cones in UE4, so I had to figure out and implement the math from scratch. I learned a lot and discovered a new way to think about geometric shapes. A cone is really just an infinite series of circles stacked on top of each other, and the radius of those circles changes as a function of the tangent of the cone half angle. This technique of infinite shapes stacked on a line can be used to define a lot of different shapes too. All you're really changing is the rate of change of the radius of a circle. With this, you can create a lot of interesting shapes using a mathematical function. A sphere is an infinite series of circles stacked next to each other, starting and ending with a radius of 0, and reaching a maximum radius of the sphere radius at the line segment midpoint. A capsule is an infinite series of spheres overlapping each other on a line segment. A funnel is a non-linear but increasing change in circle radius along a line segment. I know this is a fundamental principle behind calculus, but I hadn't ever applied it to geometry like this. Anyways, this resulted in mathematically correct collision detection with cones and other shapes instead of "close enough" iterative approximations. This means it doesn't cost any CPU time to run a calculation because its constant time.
One other thing I'm going to start thinking about is character progression and growth. I'm not 100% sure how that will look yet. Normally when you have an RPG, character growth is all about stats, charts, experience, and wearing progressively more powerful equipment. My goal is to have zero UI. This is VR. There is no "UI" in reality. I have no idea how many "hitpoints" I personally have, or what my intelligence score is at (probably an 8). So, it makes no sense to have any of that in a VR RPG. You can have some RPG elements, but every element needs to be communicated somehow to the player without a graphical user interface. It's either got to be something embedded into the environment or be a sound cue of some sort. The element selection UI was particularly challenging to design, but I think I have something that works and feels convincingly real.
I reconnected with a friend from highschool. It turns out that he's been working as an illustrator and I just so happen to need some illustrations! So, I contracted him to do some work for me and it's turning out quite nicely. He'll be in town next month, so we'll hang out and he can play through my game. I've had him working on the book illustrations which will accompany the voice over audio. It'll be the first introduction people get to the story and works as an establishing shot, so it'll need to be done perfectly. Here are some of those establishing illustrations:
I have begun streaming my VR game development on Twitch.tv. It's probably a pretty boring stream considering that most of my screen is in visual studio, but I try to explain what I'm working on, show my approach, show my mistakes, and generally show my production process. If you're interested in that sort of thing, feel free to stop by and say hello. I don't stream every day but when I do stream, I bore everyone to death and they leave within 5 minutes. However, it has done wonders for my productivity to see people pop in and out and try to explain what I'm working on and how it fits into the bigger picture. As far as marketing goes? Complete failure. I probably need a webcam.
If I release full support for Leap Motion, I'm certain it would be the best Leap Motion game in the world. The hard part is figuring out how locomotion would work. We're in very informal early stage talks about featured content.
The next patch is going to add full support for Oculus and Oculus Touch. This is going to make my game fully playable on both major VR hardware platforms and set me up to host the game on the Oculus Store as well as Steam.
Steam added full OSVR support recently. I looked into it and asked for an HMD. I received a complimentary OSVR headset! This means I will be adding support for OSVR!
Razer is the hardware company behind Open Source Virtual Reality (OSVR). We had briefly talked in August about funding for indie VR developers such as myself, but that effort fell through the cracks back then. The exciting news is that we've resumed talks about funding and sponsorship. I had to sign an NDA, so I can't talk about anything confidential / proprietary or go into details. But, the exciting news is that there is a greater than zero percent chance that I might get non-exclusive funding to help develop my content. I had to submit a projected costs for 2017 for them to review. I certainly don't expect much, if any money, but I'll be grateful for anything. My projected finances are totally not confidential, so I'll share that spreadsheet here and explain a bit. It's a bit eye opening for a guy who has less than $200 in my bank account.
Project Cost Estimation:
Here are my total costs projected for the entire game. I'm looking at about $1.25 million dollars and several years to produce the complete game and all of its DLC. This is making a LOT of assumptions, which I'm going to get into in a few moments.
Here is a breakdown of what I *think* will be the per episode production costs and production schedule. It's a range which can vary wildly. I am most worried that I am not including all of my costs and being unrealistic about some things I can't account for, such as schedule and budget overruns. I may need to add some extra padding just in case. I have also broken this production down into what needs to be done in sequence and what can be done in parallel (See: Sequence column below). The number is the sequence number and the letter represents a role / person.
Here is what I think the breakdown of the production costs are going to look like per episode. There are a LOT of unknowns which clouds accurate projections.
On Cost Projection:
But I guess maybe a smarter principle is to think in terms of "orders of magnitude" and round up. So, if I think something is going to cost $4,000, that's in the $1,000 to $10,000 bucket, so I should choose the ceiling and say it's going to cost $10,000. If I'm looking at $36,000, that's in the 10k->100k range, so it's going to cost $100k. If I quote it at $98k, it's still $100k. This would account for cost overruns and have some padding for unforeseen expenses. Usually when you're scoping out the amount of work, how long its going to take, and how much it's going to cost, you are assuming a perfect world without problems. That coding project which you thought would take a week but actually took a month? Yeah. You thought it was going to be a week because you were only looking at the tip of the iceberg and thought it wasn't that big. You didn't realize it would cause other things to break because they depended on it.
A lot of projected actual costs are a "It depends" category. Voice acting is one of those. I can't possibly predict what that's going to cost because I don't have any idea on the length of my story script yet because I haven't written it. But, recording the audio is one part of it, it then needs to be processed and cleaned up, and then integrated and timed with game sequence events. And if you have people who are perfectionists, they'll take way longer than is necessarily adequate to sample or clean up, and that means your time and costs will run away.
I put my own operating costs in, and they're totally bare metal. My rent is $2,600 a month. Office costs $400 / month. Food costs $200 / month. Small expenses like socks, underwear, shoes, and other general life support costs $200. Overall, I'm looking at paying $3,400 / month to work. Boy... employment sure sounds good right about now. You mean... someone pays ME to work instead of me paying to work?! What a deal!
On Spending & Employees:
Speaking of employees, I think I'm going to be holding off on hiring anyone as a full time employee (FTE) in the foreseeable future. It's time to get a lot smarter about controlling my costs. I *have* to think about every dollar being spent. So. That means the wisest course of action is to purchase as much pre-made game assets as possible. If an asset can't be found, then I contract it out. If an asset is an 80% solution, I buy it and then contract someone to finish the remaining 20%. Let's look at an example. I need to create a 3D book which needs to open up and flip through pages. Each page needs to have an illustration. So, I could contract out an artist to produce the art asset at $25 per hour. The bid for completing the asset is 1 to 4 days, with 8 hours of work per day. Okay, so we're looking at a range of $200-$800 in labor for a custom built book which is rigged and animated. I look online and I see premade book assets for sale for $65. That's equivalent to 2.6 labor hours @ $25/hour. Okay, so purchasing that online asset is faster and cheaper, but it's also an 80% solution which requires some changes to fit my needs. How long would those changes take? About 2-3 hours of labor, which is $50-$75. So, my total cost could be $115-$135 OR it could be $200-$800 and take a week. If I had an FTE, it would almost certainly be a week long project to produce and I'd be burning money I don't need to burn. Okay, what if my artist is upset that I didn't pay them $200-$800? My angry reaction is to say: "They can go fuck themselves, it's not their money being burned!" but the much more tactful response is to say, "I don't want to waste your skills on such mundane work, I want to spend the difference on more worthy art projects." They're still getting paid and its a compliment to their skills and time. Anyways, this sort of lean spending mindset is how I need to think. Same results, but less time and money spent. Make every dollar count.
On VR Indie Growth & Survival:
Eventually, I'm going to have to get more people to join my team. Growth is going to be very tricky to manage correctly -- especially in the VR industry, which is brand new. The biggest danger is that a company gets a short term influx of money and then they use that money to staff up. They have to make payroll every two weeks. Their costs exceed their income. Eventually, they can't make payroll and the studio has to either lay people off or shut their doors. They grew too fast and their cashflow was negative for too long. That's especially dangerous for the VR industry right now because the VR market is so small. The size of the market is growing, but I don't think it's going to be that explosive exponential growth for at least another 2-4 years. The VR industry will be lead almost exclusively by gaming. Everyone else is out solving problems for which there isn't a market yet so it's not going to be profitable for at least 4-6 years. If you don't pace your burn rate with the market growth rate, you're going to either need another influx of cash via investment or you will have to cut labor costs or go out of business. And in the game of business, you have to survive before you can thrive. Investment money is just a scaffolding for your business to prop it up while you build the core business model. Success is not equal to getting funded and looking forward to a life of martinis on the beach, if anything, it should be a kick in the pants to get into high gear. Anyways, back to full time employees: They become a fixed cost which has to be paid on a monthly basis, and the more employees you add, the more your overhead costs rise (hiring support staff). Eventually, I'm going to have to scale the size of my team. Especially if I want to finish this game within this decade and move onto bigger projects. The best "employees" at this point would be business partners who take company equity instead of paychecks. Alternatively, if I was going to hire an employee, the hiring decision would be one of the most important decisions I could make for the company. You can't just hire any schlub who happens to have a modicum of talent. You have to hire people who don't think like employees. The unfortunate thing is that our education system is teaching people how to think like obedient employees happy to punch the clock and go home, rather than go getting self starters. The next person I hire will ideally be a fellow entrepreneur in the game industry who will work along side of me to build games and slowly grow the company. I think when you hire someone, there is an assimilation process where you have to indoctrinate them into your company culture, and the smaller your team is, the longer that assimilation process needs to take. Everyone needs to be on the same page in terms of values, and the values you need to have need to be values which keep the company profitable so that people don't lose their jobs. I think exporting my values and work ethic is going to be my biggest challenge in the future, and I still have lots of room for improvement in a lot of areas. Ideally, I can find a partner who is just as competent and complements my weaknesses. So, going to local game dev meetups is actually a valuable exercise because it helps me scout out talent and figure out who I'd eventually like to work together with. I don't need to interview unknown candidates if I do it right.
On my Role:
I ruminated for a bit about what exactly my vision is for my game and myself. I myself am quite unimportant. I'm just the catalyst / vessel which accepts money and produces content as output... right? Or, is there more to it? If I'm an unimportant nothing, and the work I produce is a reflection of myself, then by extension, my game would also be an unimportant nothing, right? But, what if the game is a magical form of expression and is really a manifestation of a part of me? Then I can't be a nobody, and I have to become an interesting character. I am going to build a cultural icon, and to do that, I must become one. (note: I loathe narcissism, ego, self inflation, delusion etc. so this will be challenging). This was sort of an epiphany this month on where I need to take this game. It will eventually be one of those games people think back to with nostalgia and fondness and want to share with others because it is such a great series of stories. People will dress up and act as characters within the game. And they'll be memorable. And fun. And every time you visit the VR world, it's like going to disneyland to interact with your favorite characters again and again. The game may not be that today, but one day... one day, it will get there! I just have to have faith that it will become what I envisioned and work really hard at it every day. Anyways, if the world of fantasy I intend to create is an amazing and interesting place which is in part an extension of me, then I myself need to become a role model and a fountain of inspiration. This is the vision, values and guideline I'm aiming for. I have such an amazing opportunity to create something beautiful and world changing in VR, I just can't let myself squander it. It would be a sin.
On the convergence of AI and VR:
And it doesn't all have to be slinging fireballs and hungry zombies either. What if the most amazing part of this game had an experience where you sit on a veranda on a summer afternoon and you're sitting across the table from a beautiful elven woman, sipping tea together, engaging in some small conversation for a few minutes? What if the microphone is enabled and you can actually talk to each other? What if the character at the other end would sometimes be a human being? You have a natural language processor which interprets what you're saying and then the character you're possessing speaks your words in their voice rather than your own, so you could be a man speaking with a womans voice, or a woman speaking with a mans voice? And what if, the AI system is also listening and learning about how real people have conversations and learning how to be passably conversational? Enough to pass the Turing test? Just think, every day you go through the summer tea time experience with a favorite character, it's different. Who needs disneyland anymore when you can have something so much better? I'm obviously getting ahead of myself here, but this would be the perfect convergence of artificial intelligence and virtual reality. When you are in a virtual world and you aren't certain whether the character at the other end is artificial or human, it makes for quite a powerful experience. Granted, it would take a *lot* of AI programming to really sell it, but if you could pull it off, it would be incredible.
Anyways, 2017 is right around the corner. There are going to be a lot of big, life altering changes next year. My co working space is moving to a new office space in March and I'm planning on going with them. My girlfriend and I are going to be moving to a large shared rental house instead of a small apartment, so that will be a big change. We may or may not resume operating our ranch, depending on finances this spring and summer. Regardless, I'm going to plant 4,000 sunflowers and create the "Valley of Sunflowers". There will be game cross over here :) I have a feeling that something very exciting is going to happen with this game in the next year, but I don't know what it's going to be yet. VR is NOT going to become mainstream in 2017, but it will quicken its pace. Maybe 2018 or 2019 will be the year, but in 2017, VR is going to stop crawling and learn how to stand.
I'm excited. Next year is going to be great.