Yesterday I received my first payment from Valve for sales in the first month: $4,354.89
I debated whether or not to post the actual amount I received. Normally, I'd not want to share this (and I generally won't), but I think there is a bigger, more important conversation about game development financing and revenues which people in and out of the game industry need to have and understand, and that requires some of us to be open in order to start that conversation. If you're going into game dev (particularly VR) as an indie developer, you need to have very tempered expectations about how much money you're actually going to make on your game.
Let me explain this number a bit more.
I have done next to ZERO marketing or advertising (aside from this dev blog). I made a facebook and twitter post about my game release. One person requested a Steam Key so that he could make a youtube video, which I granted. What I haven't done is spam Reddit with posts about my game release. I have not reached out to game industry press with an announcement. I haven't done any outreach. I haven't done any external marketing or advertising.
"What's wrong with you, Eric? Do you hate money?" you might ask.
The biggest problem is that I think the game isn't ready for advertising and promotion...yet. It needs more content. I believe you only have one shot at making a grand announcement and getting people to check out your game, and when you make that announcement, the game had better live up to the hype. It's gotta be the greatest surprise experience. It's gotta be an undiscovered gem. I feel I'm not quite there yet. Where does the game need to be? It needs more content. It needs to support both Oculus Rift and HTC Vive. It needs to be widely available on multiple distribution channels.
What's interesting about this sales figure is that it is 100% about your first initial release bump, followed by 100% discovery. When you release a game on Steam, your game is listed in a "new releases" category, and that's about the only exposure you'll get. After that, future customers will have to find the game by either stumbling on it or intentionally looking for it. So, for the last week or so, I've averaged about one sale per day. It might as well be zero. I think I can say with a high degree of confidence that this is my baseline. Now, this is where things get kind of interesting. With an established baseline, I can start conducting various scientific experiments to see what moves my baseline. If I release a content update, how many additional sales does that generate? If I do a targeted advertising campaign, how many sales does that generate? If someone creates a reddit post, how many sales does that generate? If someone publishes an article on an industry publication, how many sales does that generate? If the game has a unique feature, does that impact sales? What about online streaming on channels such as twitch? How many additional sales does a youtuber generate? How much does word of mouth impact sales? How much does a steam discount drive sales?
Again, I believe that the key to sales is having quality content. I'll say it again: Content, content, content. Why? Let's say you get 1,000 impressions. That's 1,000 people that look at the game and are deciding whether to buy or not. We could do something tricky and slimy by creating a really compelling sales pitch and promise things the game doesn't do yet. This could increase the number of sales we get, but ultimately, those sales numbers are false because people will just put in a refund. The numbers won't stick. We'd just be fooling ourselves. Of the 1,000 impressions, we'd get a 10% conversion rate and make 100 initial sales, but 50% of those would refund, and we'd be left with 50 sales and a lot of angry customers. That's not a desirable position to be in because it hurts long term prospects. On the other hand, we could create great content and be truthful and honest every step of the way. We want people to say, "Wow, I can't believe I got this for only $20! What a great value!" Of the 1,000 impressions, we'd probably still get 10% conversion rate and get 100 initial sales, but 1% would refund and we'd be left with 99 happy customers, who would then be happy to recommend the game or write good reviews, which in turn leads to more sales. We also wouldn't have to compromise our integrity, which means we become a more trustworthy source of information, and the long term effect of that is happy people all around.
The right time to do advertising is when you know that anyone who buys your product is guaranteed to be satisfied with it, and for every $1 you spend on advertising creates more than $1 in sales. I'm not there yet.
The income was not as much as I had hoped, but it was enough to relieve some financial pressure. As of right now, I owe other people a total of $14,892.99 and this first payment will help me start chipping away at it. It'll also help me buy lunches again, so hopefully my health will improve a bit more. Today I also went on a spending spree on the online market place and purchased about $300 worth of game assets which fit the theme I'm aiming for and suit my game requirements. This is a reinvestment of my income to improve the product. Now, there are fewer things holding me back from creating better content! I still have to contract out some art work which needs custom work though, and that's going to be tough with the debts I have. With the lack of sales for the month of October, I'm not expecting much money in the next payment. This is going to make it more difficult to pay off my outstanding debts. But it also means I need to kick ass and make more content, and get it ready for promotion. The lack of income is also going to mean that I can't hire on any additional employees anytime soon, or contract out extra help. Heh, those exclusive funding deals are looking pretty attractive right about now.
The month of October has been full of "distractions" (November will be better). There are a couple noteworthy events.
I was asked to be a guest lecturer at the University of Washington to speak about VR game design to a class of design students. I spent a weekend preparing for it, and then gave a huge, coffee fueled talk for an hour. I was worried that I wouldn't have enough material to cover, so I over prepared. I taught the students about the software development life cycle, compared various SDLC's and their strengths and weaknesses, and talked about how design fits into the whole process of product development and its context to the business environment, and talked a lot about the considerations I've made for designing VR content. The talk was supposed to last for 35-45 minutes, but I went a little over time -- which was no problem. If you think this blog is long... this is nothing. She said that I pretty much taught her whole course curriculum in an hour (which was flattering) and she asked me to come again in the spring. Afterwards, we had a short Q&A session and the professor thanked me for taking the time to come. Overall, it was an honor to share my knowledge. My closing statement was "Don't be afraid to stand on the shoulders of giants. Don't reinvent the wheel. Use their work. In the process of your work, leave footprints behind for others to follow in."
This sentiment is a large part of why I am writing and maintaining this journal.
My girlfriend went to China for two weeks to inspect her factories and to look at products at the Canton Fair in Hong Kong. This meant that I needed to take care of our ranch business and dog sitting business and make sure that things run smoothly while she's gone. Her trip was good and worthwhile though, so the short term cost in time and money will lead to long term profit. The Canton Fair is the biggest fair in the world, with booths which go for miles. MILES!!! It's so big, some people drive cars and bikes down the thoroughfare. One thing that struck me is that she is looking at "items", which are just physical things out on display in a booth. They're not products until she makes them into a product. It's not a product until it has a name, packaging, has a pitch, and is designed to sell. You don't sell items, you sell products. Everything on a retail shelf is a product, not an item. I've been to many fairs with her and stood behind a booth and helped her sell product. I made some interesting observations. Most people absolutely suck at selling anything. I include myself in that category. I've also realized that I'm also a bad gauge of whether something will sell or not. My personal metric is, "Would I buy it?" and the answer 99% of the time is "Hell no, this is garbage or would just collect dust." (I tend to be a minimalist). The uncomfortable truth is that the average consumer will buy the dumbest shit. Millions of people have bought fuzzy worms, slinkies, bop-its, slap wraps, fruit choppers, lint rollers, etc. The item they buy doesn't matter, the way the product is presented is everything. After they take it home, you just hope that they get value out of the product. I can't over emphasize the value of good sales and marketing for a product.
Okay, so let's turn our gaze to advertising and promoting a virtual reality video game such as mine, and look at the opportunities and challenges. How do you sell this thing? I'm going to list out some facts I believe to be true (my premises):
1) Most people in the VR industry have no clue on how to market a VR product.
2) 99% of consumers don't have a VR headset (evidence: look at steam hardware survey).
3) High end VR hardware costs $800 out of the box, and requires a powerful PC to support it. This is a financial barrier for entry for many people.
4) Traditional forms of advertising (2D film) is not representative of the experience people get from VR. You really have to play the game in VR to understand the experience.
5) My game is hard to discover. Nobody knows about Spellbound, so the only way people find it is if they stumble upon it on Steam or hear about it somewhere.
6) My four biggest markets are as follows: North America, Europe, China, Austrailia
7) It's ALL about quality content. The game should be fun and compelling, sell itself, create excitement / inspire the imagination, and be highly replayable.
8) If I do zero promotion and marketing (current), then I average about one sale per day. That's enough to buy my lunch every day. This means I need more than zero marketing. I have negative $15,000 dollars, so my marketing budget has to be low, as in zero. That means my promotion efforts can't cost me anything, which means I need to look at free online promotion.
9) Multiplayer is hot. But, the VR market is small, so the hottest multiplayer VR games have at most 50 concurrent players.
10) VR is extremely new. It launched six months ago to consumers. The market size will grow in time, so patience is needed.
11) There's a catch 22: VR hardware needs content in order for the hardware to sell, and VR content needs everyone to have the hardware. There needs to be an alliance between VR content creators and hardware producers.
12) VR is absolutely perfect for demonstration. Once you try the hardware with the right content, you will want it. VR hardware sales should be coupled with capable computer hardware so that it can be sold as a whole package unit. This would be a perfect product for in-store demo's with a skilled pitchman. Don't just setup a demo station and call it good.
13) 2,000+ people have my game on their wishlist. Interesting. What are they waiting for?
14) A majority of VR content feels like a demo.
15) A majority of VR content is also lower in quality.
An interesting technique I'd like to try is to go to various meetups and events and actually try to sell copies of my game. I would essentially be selling Steam keys printed on cards for $20 each. The objective isn't to actually sell the game and make money off of the sales, but to learn how to sell the game. What's the sales pitch? What interests people enough to put money down right then and there? What doesn't interest people? What common objections do people have? What are my counters to their objections? What modifications can I make to the game to help it sell better? What do people need to see before they buy? In essence, I need to understand my customer better than they understand themselves. With all this in mind, what's the best path forward towards market success?
I'll get to that in a moment. First, let's talk about Steam Dev Days.
I went to Steam Dev Days. It was my first time. A good 60% of the talks were focused on Virtual Reality, though I felt that the subject matter was generally way below my experience level. Most people are VR novices or haven't even touched VR development, so this was a good entry point for the game dev community. Despite my shyness and general awkwardness, I had the privilege of meeting several game developers from around the world. The really cool thing about Steam Dev Days is that everyone I talked to was a game developer. Like... I could walk up to anyone and talk to them about game development and share my best practices and they would know exactly what I'm talking about and share valuable insights. I only wish there was more time to mingle and find interesting people.
There were two talks which I felt had some particularly salient take away points.
The first is in regards to your game trailer on steam. The average person will look at your game trailer for 5-10 seconds. So, let us say that you have 5-10 seconds to pitch your game. If the first 5-10 seconds of the pitch is good, people will watch longer. How much longer? 30 seconds? 2 minutes? 8 minutes? So, how does that change the way you think about the production and sequencing of your game trailer? Your hook has to grab someones attention in 5-10 seconds. Also! Keep in mind, steam auto plays videos without sound! Does your game play trailer communicate the same message without audio? If not, fix it! This part wasn't in the talk, but my personal pet peeve with game trailers is that they are cut with white text on a black background which tells you about a feature of the game. Fucking stop doing that! Show, don't tell. Use those extra three seconds to show me this feature in action! Do you have too many features?! Fine, pick the three best ones and show those. Under promise and over deliver! (end rant) Anyways, I believe the importance of a good game play trailer cannot be over stated. It is often the only exposure people have to your game, so do it right and let the trailer represent the quality and production values of your game. If you get 1,000 impressions, they are going to be based off of the sales pitch presented by your trailer.
With that in mind, my current game play trailer sucks. I need to redo it. More on this in a moment.
The second really good talk at Steam Dev Days was about Communication. This is an area I need to work on a lot more. I have this bias that people can read my mind, know what I'm talking about, and know what I'm looking for in deliverables. I've slowly come to understand this is not true, and people will do their best to satisfy the requirements I give them. I have to blame myself if something isn't done the way I wanted it. Does this mean I have to micromanage everything? No. If I do that, then I don't give people room for being creative in my constraints. Communication is really an art which requires practice and experience to get good at it -- and it's a two way street. You say something, and then someone interprets what you say. The interpretation may be different from what you intended to say, so take your time to verify that their interpretation and your intention match. It may take an extra two minutes for this, but it's a lot cheaper and less frustrating than a wasted two hours. So, the thing to do is to try to distill what you're looking for to the root intent/expectation, then communicate this to your worker. If you don't know what you're looking for, you're not ready to communicate and you have some thinking to do. Some of this thinking might be good to involve others in via a discussion. Anyway, very little of this was covered in the talk, but it was my take away.
So, thinking about game play trailers and communication, it seems that they're very related. The game play trailer is both marketing and communication at the same time. The challenge is to correctly communicate the content of the game in such a way that it is compelling enough for people to spend money on it and to be happy with the product they bought. Like I said, my game play trailer sucks because it is not communicating the right message. It's well produced though and my film guy did a good job on it, and that's to his great credit.
In terms of game development, I've spent most of the month of October working on getting a patch out the door. I upgraded unreal engine to version 4.13, and that seems to have broken my room scale locomotion. At the same time, Oculus was kind and generous enough to send me their consumer version of the Oculus Rift and Touch controllers. I needed to fix this room scale locomotion problem before I released a patch. Or so I thought.
I learned something really valuable about backups. When you release a build of your game, make a backup of that build. You'll also want to maintain two branches of your game: A developer branch and a release branch. When you're developing your game before you release, you only need and use a developer branch. If you break this build, no big deal. Nobody is waiting. Once you release your game, there will always be bugs. Things which annoy the player are counted as bugs. The bug fixes may be small and simple. So, if you are working on an update to the game which breaks your dev build (as I did), then you have to finish the update before you can send out those small fixes. You could be looking at a timeline up to a month or two ("It'll only take me a week" = two months). You don't want to keep your customers waiting for two months for a hotfix while you are developing a major change. So, apply the hotfix to the release build and release that asap. If something can't be done quickly (~10 minutes), it doesn't get added to the release build. I thank my friend Russel for this tip.
The UE4 update broke my room scale locomotion movement ratio. It was no longer 1:1 and instead became 2:1. You move one foot, your character moves two. I don't know why. Nothing in the camera code changed between engine versions. So, I decided I needed to refactor this. I decided it was time to do this "right" this time. I have an upcoming requirement where I need to be able to support VR spectators. I also want to setup the game to support controlling multiple characters. The VR control interface should be consistent across each character, so switching from playing as a wizard to playing as a zombie should be consistent. I also have to support the Oculus Rift hardware platform. I spent a lot of time wrestling with the various changes in coordinate spaces between hardware platforms. By default, Oculus sets the play space origin at your starting eye level. The default for the Vive origin is at floor level. When you start asking questions like, "How tall is the player?", deriving the answer is going to be dependent on the origin location. I also want to go back and add in support for Leap Motion. Oh, and I need to support monitor, keyboard and mouse. And game pads. So many possible hardware configurations! So many ways to create the same interactions! I have five different hardware configurations I need to support:
HTC Vive + Motion Controllers
Oculus Rift + XBox controller
Oculus Rift + Touch controllers
Oculus / Vive + Leap Motion
Monitor + Keyboard + Mouse
My current "wrong" approach was to just hard code in the hardware specific interactions into the wizard character the player was controlling. Why is this wrong? What happens if I want to let players control additional characters? Let's say I have ten player controllable characters. If I copy the hardware specific implementations on a per character basis, then I will be maintaining and updating the same logic multiplied by the number of characters. What happens if I want to add in more hardware support? Then I have to go through all ten characters and update them all. This becomes tedious very quickly and creates room for human error. The right approach is to create a hardware abstraction layer and put it all into one object. All of the Human-Computer Interaction happens with this one hardware interface. That hardware then sends out interface calls to the character being controlled. As long as the character implements the interface call, it can handle the input. Now, adding in an additional hardware platform is just a matter of capturing the hardware specific input and translating it into an interface call which can be sent out to a controlled character! With this setup, it would be a walk in the park to eventually add in support for the PSVR or any new motion controllers or VR hardware platforms. I also realized that really what a player is is just a view into the game world and an interface to change this game world through interactions. A player which doesn't interact directly with the game world to change its state would just be a passive observer. And a passive observer is just what I need in order to support mixed reality video capture and to support VR streaming...
I visited the HTC North America headquarters here in Seattle this month and met with one of their film guys. I plan to create a mixed reality game play trailer for Spellbound. Unfortunately, Unreal Engine 4.13 doesn't support Mixed Reality yet. So, if I want to do MR, I have to get really clever and will probably have to modify the engine myself to add support for it. This means I'm probably going to have to push my video production timeline out by at least 3-4 months. My grand plan is to add multiplayer and streaming support. I want to enable players to easily setup a recording session of themselves playing the game in VR. I also want other players to be able to spectate a game in progress. At any moment, a spectator could stop being a passive observer and become an active participant by possessing the body of an AI controlled character. If I design my AI correctly and design the characters correctly, a player controlled character and an AI controlled character would be close to indistinguishable. The mixed reality shoot of my game would require that I build out the multiplayer observer capabilities. This means I need to go through every variable in the game and decide if it needs to be replicated to all connected clients so that the game state is universally consistent. This is going to take a lot of work. But, if I do it now while the game is still relatively small and simple, it'll be a lot less painful now than a year down the road.
The other interesting dimension to this is that if players can stream themselves playing, or play with other players, this opens up a potential secondary cosmetics and accessories market for me. Players have a full body avatar of a fully dressed wizard. Players will want to customize their appearance. What if the way to do this in VR is to go to your dresser or closet, select the wardrobe you want to wear, and then look at yourself wearing it in a mirror? Since I'm tracking most of the players body, wearing the clothes yourself would feel a lot more "real" than anything else. What kinds of secondary licensing opportunities would become available with this tech? Would something like this also change the online retail clothing store experience? This could put a dressing room in everyone's living room, and you wouldn't even have to take your own clothes off to try on other clothes. Anyways, there could be two categories of apparel that people get. The first one is clothing you acquire through playing the game and accomplishing certain feats. The second category is exclusive clothing acquired through micro transactions. Here's where things can get really interesting however... Let's say you bought a digital wizard hat and you really like it. For an extra $25, you can order the real hat and have it shipped to your house. Now, when you're doing your VR online stream, you can wear the real hat and wizard robes. What if... there's something you can do in the game which makes you eligible for a free clothing item...? This would be like a starter clothing item. And, if people go to events and want to cosplay a character from my game, they've already got an official outfit ready to go. The interesting (and difficult) part about this is that to do this right, I'd have to enlist the help of a fashion designer to design the clothing product lines and they'd have to work together with an artist who creates the digital version of the clothing, and at the same time, the game designer would have to make work with the fashion designer to make sure that everything is functional in game and in real world. Talk about a "Mixed Reality"! This could be really cool. This would also mean that all of my game characters should eventually be gender interchangeable. The red wizard is currently a male, but I should also do a female red wizard. Heh, this would quickly be a game which looks like it's about throwing fireballs at zombies, but really its a shopping game for clothes and social VR. I have fashion design and modeling connections and getting the clothing sourced from China wouldn't be too difficult, so this is actually a feasible option to consider.
Speaking of Social VR, this has some fascinating applications as well. Why not have a wizard academy where all of the worlds wizard congregate and meet? This could be like a multiplayer lobby. Players wear their custom wizard robes and talk to other wizards in VR. It could be like a fashion gala, where you meet and talk with new people. The robes you wear are symbolic of your accomplishments as a player, so your clothing is equal to status. At any time, they could decide to go together on a wizard dispatch mission. Maybe they start a co-op game where they have to use their wizardry to protect the villagers from a horde of zombies? Or perhaps they can help a bunch of farmers have a good harvest? Through these mini side quests, people acquire new wardrobe items and the side quests are really just facilitators to socializing with other people in VR. And maybe, players can also build and design their own wizard tower and invite their friends to come visit? The wizard tower could be an extension of their personality, so the moral decisions you make in the games influence what items you can use to decorate your tower with (with a nod to Black & White). All of what makes social VR so compelling is the social proof which comes with it, and that the game is just a medium for people to meet over, do shared activities with other people, and to share your creations and status with others. This will be an interesting direction to investigate. Aside from the technical hurdles to implement it, the biggest challenge will be figuring out a way to moderate people and prevent them from harassing others and ruining their experiences. In real life, we have police and laws. Maybe that model is a good launching point? So, if you break a law in the game, you are put in jail for a period of time? Every time you log in to the social world, you just log back into a jail cell until the period of your sentence has passed. Okay, what about moderator abuse? Maybe we can even have a small mock trial with a judge and jury? Or would this be a distraction and waste of time? Okay, someone gets sentenced to VR jail. Why not just leave the game connected while you're sleeping? Counter: Maybe your sentence time counts down only when you're logged into the jail cell, and it counts only if the HMD and motion controllers move every minute? And maybe I have a loud speaker in the dungeon which repeats the game rules of conduct once every five minutes? ie "Sexual harassment is unacceptable behavior. Sit here and contemplate how your actions make others feel." The ultimate goal here is to discourage people from ruining the game for other people, handing out consequences for the rule breakers, to give victims a sense of justice, however slight it may be, and to design a system which can't be abused to abuse others.
Anyways, this is totally feature creep stuff and looking way into the future, but would also make the game into something truly magical and have a viable business model to sustain it. One thing at a time though. Today, I need to finish adding support for the Oculus Touch. I need to get this game to sell and make it as widely available as possible. As I gradually get there, the other aspects will become much more viable. This might even be something an investor would eventually be interested in.
For the month of November, my development focus will be centered around adding support for the Oculus Rift and Oculus Touch so that my game can be ready to go by December 6th, when the Touch is launched. I want to get my game onto the Oculus Store in Early Access mode as well, but I'm very worried that their vetting process is going to take a very long time and result in a few rejections before I finally get a build up. I'm also going to be turning my attention towards Viveport and getting my game localized for the Chinese market. Whoever ends up doing my localization will have to have a strong ongoing relationship with me, because there will be lots of additional work required to support content updates. Ultimately, I'd like to eventually have an international academy of wizardry in VR for all VR hardware platforms. You join the game, find new friends from around the world, form a party, go do a story quest together, role play your character, finish the quest, return to the academy, and collect a reward which you can display / use.