VR user tendencies in demo situations

Over the past months of working exclusively on VR, I’ve performed many demos using prototypes and other demos from the internet. I’ve observed the following behavior (this is by no means scientific just some personal observations)

  1. Users want to do things the fastest way possible. For example, locomotion is a big thing, if your VR system supports room tracking people will generally walk towards their objective. But if given an alternative means of getting there (like pointing to teleport) then they will almost exclusively use teleporting. I suspect because it requires the least amount of work and is the fastest way to do it.
  2. It is harder to explain to a user what the experience and controls are once they have an HMD on. I suggest explaining at least partly what to expect in the demo to make it easier for them to jump into the experience. Obviously some experiences are better left to be naturally explored. Anything with complexity that you can only demo for 5 minutes requires the user to be briefed before hand.
  3. Users during demos are very receptive to verbal commands, use this to your advantage as they are a captive audience :)
  4. People like creative tools the most in all the demos I have shown. Because these demos tend to let the people explore more without structure and without pressure to do the “right” thing. I also think this taps into their inner child where they can happily express themselves and be amazed at what they make.
  5. If you have an option for a person to pick up an object, be sure you let them have the option to throw the object. That seems to be the majority of things people do when they pick up objects.

Developing great and bad VR experiences

Ever since January I’ve been doing VR as my full time job, transforming from a enthusiast hobbyist to a bonafide VR developer. I’ve made many interactive experiences across multitude of devices and platforms. None of them have excited me more than VR, as this is a very new territory compared to smartphones, the web and video games. So with this new territory comes a lot of unknowns and un-established tropes. I hope to post many of these thoughts and notes on what makes a good and bad VR experience.

VR Notes!

  1. Use fade to black transitions when teleporting the player. This consistently got good feedback from everyone experiencing it
  2. Fast movement causes the most nausea, so anything that quickly moves the player is a no-go, especially if it is not them initiating the movement.
  3. Teleporting them too far from their original position can cause disorientation if they don’t have a frame of reference of where they went
  4. Traditional heads up displays in games where information is static and follows the camera is not very effective in VR. It becomes an eye strain trying to read information at the very edges of the screen
  5. Represent available actions as their real world counterparts would do. Especially if the player has a controller that enables them to reach and manipulate objects naturally. This eases the burden of figuring out how things should work.
  6. Stop thinking of of school ways of interacting in VR! Shed the keyboard and mouse and think more about how to make interactions more natural and rooted in reality. Once we have more established interactions and tropes, we have to rely more on the real world counter parts of interactions

That’s it for now, I’ll post more thoughts and notes in VR developement in the coming weeks and months!

Hello VR!

Just wanted to let everyone know that I am now tackling VR as my full time job over at HTC, you know the guys who are making the HTC Vive. I’m now a prototype developer over there cooking up some really awesome prototypes that will help define the VR going forward.

With that in mind I am now going to change the focus of my blog from just indie game development to VR development with an emphasis on games. I’ll still be tackling indie game development as I still am finishing up work on Habitat and I have many things to talk about there.

So expect some interesting VR thoughts and best practices to be posted here as well as some personal projects I am working on.

What have you been up to Elbert?

Well I have been very busy! First of all I am getting married on June 28th, that would be 4 days from when I write this post. It’s been a year and a half since I proposed to my lovely fiance and now that day I promised is arriving :)

On the game side of things I’ve been working very hard on Habitat (www.jointthe509th.com) as the Development Director. I’ve been working on it full time since April 2nd, the day I got laid-off at Microsoft, which coincidentally was also the day we launched our successful Kickstarter campaign where we raised $64,154 (https://www.kickstarter.com/projects/4gency/habitat-a-thousand-generations-in-orbit)

It’s been very rewarding working with a small team of 5 people + contractors as every decision and action I take has a direct and very measurable impact on the game. Also being the development director means I get to decide on most engineering challenges as well game design decisions. I’m more of a hybrid developer/designer which makes the game development process as I can resolve issues in more ingenious ways than if I was a pure designer or developer.

Anyways, expect more updates from me once things calm down a bit, with the Early Access version being demoed to the press right now,the impending announcement when it will be available to steam,  and me getting married it’s been busy!

See y’all in my post in a week or two

Announcing Habitat

I keep telling everyone that I am always working on a project and it might take some projects some time before I can announce them, especially when I am partnering with 4gency an awesome company run by Charles Cox. Now we have officially announced Habitat (www.jointhe509th.com). Habitat is a space themed RTS set high in Orbit around a super futuristic yet devastated earth. Your mission is to build your habitat using salvaged space junk and get out of Earth. However it won’t be easy as living with that much debris around you is dangerous not to mention other people who want your stuff.

Check out the sick trailer we have for the game.


Sustaining the indie drive

So there has been a lot of silence over the last few months over here in my blog. I will come out and say it that I am busy with my work at Microsoft trying to ship Ryse: Son of Rome and helping out with the Xbox One. Thankfully we are close to the finish line and everyone at work including me is very excited to get our baby out the door. Obviously the work has just begun when shipping a game/console these days. Everything has a service attached to it and work goes on 6 months pass launch.

So how is this related to being an indie? Well, I am not a full time indie at the moment and that has taken a little bit of a backseat as I concentrate on getting my main work done. But hear this, I have not given up or stopped at all in being an indie. I always am working on a project. This time around I am working with other talented folks that I know and trust and we are baking something truly spectacular. We are no where near ready to talk about what we are working on but trust me that this is something special :)

So what can we learn from my experience? Well let me enumerate:

  1. Once you catch the indiepreneur (indie + entrepreneur) itch, its gameover, you have that itch for life. However it is not always advantageous to be a full time indie all the time. Bills, commitments, time, life-work-balance, these all are considerations when you decide if you want to work for someone or work for yourself.
  2. All kinds of opportunities arise when you become an indie and some of these opportunities are through employment. My current work as a Technical Producer at Microsoft was born from being such a prolific indie game developer and I am now using those skills I have from being an indie and applying it within Microsoft.
  3. Like I said earlier, you have to time and align your resources well with events in your life. When I went full time indie, I had a bit of cash in the bank that allowed me to do it. But right now I have a wedding to save up for, and bills to pay down so being an Employee is more advantageous.
  4. Being an indie comes from within, it is an internal desire to build something cool and important to you. Sometimes that drive gets satisfied for a while because of past success, and a different kind of drive takes over. That of learning what is established out there and working in a different kind of environment. This becomes a rhythm where you go in-and-out of phase between being an employee and an indie. The good part is the skills learned in both are applicable to each other so there is no skill or talent loss.

So just think about being an indie as a life time endeavor and weigh your choices that affect now and what affects the future. That way you can have a clear and better map of how you should be shaping your career going forward.

Thanks for reading!

Download numbers and Piracy

It’s been a while since I have updated my indie progress, the biggest reason is that I have been busy with my day job and I have taken a smaller role in developing indie games at the moment. I’ve been exploring other hobbies in life like running, bouldering, and biking. Unfortunately that squeezes out some of the game development time from me. But as all good things, I won’t be far from doing another “burst” of game development with some projects coming up the pipeline for me. Last thing I wanted to do is get burnt out trying to chase after a financially successful indie project.

Anyways, I digress as I want to use this post to show the numbers trend for my games the last two and a half years. As one would expect the graph I have down below has the characteristics of long tailing.

This is for all Windows Phone games:



I also have number of installs of Impossible Shoota on Android. This is a spiritual successor to the WP version and is built on Unity. People have almost no interest in Impossible Shoota for Android. I have around 513 active installs on Android. I have to revisit my strategy there sometime. However, these numbers are just from the Android store, and we all know the APK’s get pirated rather quickly on Android Marketplace. So let me present you with a whole different perspective. graph

This information is from my telemetry data using the lumos plugin in Unity. Impossible Shoota Mobile is the APK I uploaded on the Google store and it shows that I have 8733 unique users but the service only reporting 513 active installs. I’m no big numbers guy but that is a big gap between what Google is reporting and what is actually out there. This just reinforces the insane amount of piracy going on out there. Another thing to note is that the game is completely free without any monetization vehicle attached to it.

You might wonder what the Impossible Shoota row is, that is the web version of Impossible Shoota. I uploaded it onto Kongregate and it only has 516 plays, not even users. So how in the world did I end up with 29 thousand unique users? The answer is China, according to my telemetry my game is hosted on flash.7k7k.comsxiao.4399.com, and img.3366img.com . I did not upload my game on these portals and they appeared there within an hour of my posting my game up on Kongregate.

How about Armored Drive on iOS? It has done better than Impossible Shoota on Android for sure with far less piracy. The numbers on Apple’s side is a lot closer to the one reported by game telemetry. Plus this game is monetized through ads and in-game currency which has provided some chump change to us.


So what is the moral of the story? For me WP is still the king of my indie revenue, and probably will stay there unless I bust out some super successful iOS/Android game. Releasing on Kongregate and Android will guarantee your game will be mostly pirated, which for me is not a big deal because the game I released there was completely free and had no monetization vehicle in it.

2 million downloads!


It’s been a long road but I have officially hit 2 million downloads on Windows Phone across 15 games earlier this week. It’s a great feeling and accomplishment, but there is a lot more work to be done on other platforms and making it to be as successful there.


Hopefully I learned a lot from my successes and failures in the Windows Phone Marketplace and will be able to translate it to other platforms in the near future. But just as a word of advice to everyone out there, not because you are popular on 1 platform means that it will translate to the same success on other platforms. There are just too many different variables that come into play that determines the success of games.

I may not be pumping out as much games as I used to but fear not as I am still as passionate as ever, albeit a little bit busy because of cool stuff at work :)


The GDC zen

With GDC barely 24 hours finished, I have come to multiple thoughts on the state of the industry and what I should be spending my time on.

  1. Unity is totally dominating the minds of all the indie game developers I have been talking to. This includes but is not limited to “I’m learning Unity (because XNA is dead)”, “I want to publish to multiple platforms”, “I want to get back into programming so I will learn Unity”, and “We are in the process of switching to Unity”.
  2. I should get back to making original games within short time frames. I’ve mostly been doing ports of my existing games as I was deciding between Monogame and Unity. Now that I have decided to go with Unity, I can make fun games that are unique. Finishing a game is fun wether it fails or succeeds.
  3. Multi platform is the key, being exclusive to just one platform will not net you the breadth that is needed to make your game successful.
  4. I am lucky to be able to make games myself without the help of other people as I can iterate and create games at a fast clip.
  5. The quality of the talks at GDC has been great this year, the amount and quality of shwag has gone down though. GDC has been more social than ever for me thanks to the GDC vault, so I can concentrate on making and reinforcing bridges within the industry.
  6. The female to male ratio is definitely better now at GDC, I won’t even try to guess the ratio but there is a noticeable difference between this year and last year. This is good for the industry, and I believe the day of a 50/50 split will come :)
  7. There were a lot of decent parties this GDC with the ones I got into were free booze. Thankfully most of the clubs have a quiet area where you can actually shmooze with people

This is not a exhaustive list but these thoughts I think are going to guide me and how I interact with the industry. Oh and I need to start pumping out games again since most people remember me as the guy who pumped out a ridiculous amount of quality games in a year. :)

Multi-platform development experience

This post will cover my experiences trying to tackle the different platforms out there. I got my hands dirty with iOS, Android, Kongregate and Windows 8. Not all the projects are the same, and all of these are ports of my Windows Phone 7 games. By port, I mean they got ported over but substantial changes were made to adapt each game to the strengths of the platform. Let’s break it down by platform and what games I ported over.

iOS – Armored Drive

  1. The port was done in Objective-C with the help of Nick Gravelyn and Charles Cox. I did the design and most of the art, Nick did the programming and Charles handled the business-y part of the port.
  2. We ported over Armored Drive because that is my most successful game on Windows Phone. Our original business model is to have the game as a paid download with IAP purchases.  We launched with $1.99 as the price and got a few decent downloads, and some IAP purchases. However we never got critical mass to get us through the channels. Currently we are in a Ad Supported model with IAP purchases to help augment the Ad revenue. Currently the ads are making more money than the IAP
  3. Piracy is a big problem when were going with paid downloads, but now that we are free with ads we are monetizing the pirated versions of the game
  4. The iOS marketplace is so saturated with games that it is hard to get any visibility. As well as get any reviews from the review sites (many of them want you to pay them to review the game). Unfortunately we did not have any marketing spend budget as this is a bootstrap effort to launch the game
  5. Apple by far is the most pain in the butt experience when it comes to publishing the game in the marketplace. There is not much visibility into the process and you have to wait 7 days for it to be approved.
  6. Still in the red in terms of money spent to get the Armored Drive up and running. Will need to get more exposure to Armored Drive to prevent it from dying.

Android – Impossible Shoota

  1. Android was not as painful as other developers would say because of Unity. Unity shielded me from all the pain of handling 1600 different devices out there. Well, it can only work on Arm7 devices which cuts that number very low. Deploying to the marketplace takes 4 hours, and does not have any sort of manual QA, just their automated systems. Android is the most confusing in how to get everything setup, usb drivers, keys, etc …
  2. Android marketplace is the worse when it comes to marketplace visibility, just releasing the game I think I got 2 downloads without telling anyone. It’s quite horrible to see how a free game gets too low of a download. Granted this release is more of a experiment than anything else. The game was released as a beta, and is fully playable. Currently I am making it into a full fledge game, hopefully I can get this done soon and do a official release when I finish it.

Kongregate – Impossible Shoota

  1. The version of Impossible Shoota on Android is almost identical to the one on Kongregate because I used Unity. The biggest difference are the controls and interfacing into the Kongregate js files. Uploading to Kongregate was painless and fast. Integrating their leaderboards was super simple as well.
  2. Getting feedback on the game is easier with a web hosted game. People don’t have to bother downloading an app, they just have to download the plugin on their browser, and voila they have the game. It really helped me iterate on the game with this kind of method.
  3. Piracy sucks balls on Kongregate, your game is pretty much pirated the moment it hits the service. Especially looking at the telemetry, I have 98% of my players originating from china from the 4399.com and 7k7k.com sites which are super popular in china. Currently I have made $0.26 from deploying to Kongregate.

Windows 8 – Impossible Shoota, Quadra, and Traffic Cop

  1. These games were ported using Monogame, which was super easy to use. It basically uses the same class names, namesspaces, etc … so code changes are super minimal. The biggest change is that I have to up-res all my art to fit the bigger screen and different default orientation
  2. Developing was a little bit of a pain since I had to build the content files using VS2010 and develop the rest of the game in vs2012. But once you get a hang of it and write a few .bat files then the process is pretty straightforward.
  3. No one is buying or using the store in Windows 8, there is not enough volume to make decent money out of Windows 8 except if you are a big name IP. I’ve made $56 dollars on the Windows 8 store so far.

So far I have not replicated my success on Windows Phone, but I am confident that once I learn more about Unity and the various platforms I can make a really good splash on the other platforms. I just need to sit down and keep developing, improving and learning.