Spatial 9 on VR

I’ve been using SpatialOS for quite some time now and there have been some ups and downs along the way. Major changes to the API have required me to rethink how I develop with the technology. The latest version Spatial 9 was no different. This version had some of the biggest changes yet.

After taking the time to learn the new version, I was pleasantly surprised by all the improvements that were made. The team at Improbable really has done a great job. 

To celebrate getting Spatial 9 working in VR, I wanted to share the first rough screenshot of my friend hanging out and waving to me in the Community Garden I’m building. Unfortunately the plants we had growing in here died due to lack of watering…

Wordsum Blitz is out!

It’s finally time to for you all to play Wordsum Blitz. I’m really proud of how this game turned out so please check it out and let me know what you think. Love it or hate it, I always appreciate feedback.

Wordsum Blitz Coming Out Finally! November 6th to be exact.

Making Wordsum Blitz has been a very long journey considering the small size of the game. I really wanted to make something special based on the original idea of Wordsum. Along with the artistic help of my friend Jennifer Reyes aka InkByJeng, we managed to create a beautiful and fun game. I’m actually pretty terrible at playing the game so my top score is around 30,000 or so. Tweet me @pixelshotgames and let me know how awesome your score is.

Pro Tip: Just in case people are wondering, you tap the white panel at the top to pause the game. 

Remembering what it means to be indie

I’ve been creating games independently now for more than a year. It hasn’t been easy to do everything myself but it has been rewarding. Somewhere along the way I feel like I lost track of why I became indie. I even started to regret making games in the first place. I’m not sure if this post will amount to anything more than me rambling but I feel reflecting on my past might help myself as well as others remember why we all chose to do this in the first place. 

After finishing my first game Wordsum, I wasn’t sure what was next for me. The game didn’t take off like I had hoped for. Don’t get me wrong, the amount of people who played my game was more than I could have originally thought possible. Even better was the people that played the game seemed to really enjoy it. But even with this, I was baffled that it took me over a year to get 1,000 downloads. The game also didn’t make much money (I found I do like to eat on occasion). I was spending all my time figuring out how to maximize the IAP for my game. What had I become?

 Original Wordsum screenshots
Original Wordsum screenshots

When I look back, it made sense why the game didn’t become the next Crossy Roads or Monument Valley. It didn’t look or sounds unique so it didn’t standout from the crowd. Where did the game lose it’s identity? It started during early development of the game when I got caught up in what would sell well and what would attract people to download the game. In summary:

  • I made the game cartoonish and flashy instead of beautiful and unique.
  • I made it Free to Play instead of believing people would buy the game.
  • I changed the core structure of the game to make it more of a value proposition.

The game I set out to make became a watered down version of the original. After the release, I became obsessed with marketing and IAP. I was miserable. The whole point of this change in my life was to make games I was proud of. I had quit my full time programming job to do it (I still contract to support myself). Yes, I can be proud this game exists and that it’s fun but there are too many what ifs.

Over the next year, I’ve done a few other things. I made a VR game for the Leap Motion Game Jam, In Space, No One Can Hear You Dance. I started other games like Donut for the Gods and my current focus, MetaWorld. In the back of my mind I never felt like Wordsum was done. Little by little I began recreating the game as I originally envisioned. A fun, fast and beautiful word game that took the spirit of a game by Shintaro Sato, Blocksum, and shook it up with words.

 Screenshot of Blocksum the inspiration for Wordsum
Screenshot of Blocksum the inspiration for Wordsum

I asked an artist who happened to be my friend to help with the art. Make it her own. I refined the gameplay to the core mechanics and improved the ‘feel’ of the game. Most important of all, I took my time and I didn’t compromise my vision. This new game Wordsum Blitz, was something I wouldn’t say what if to once it’s released. It’s the game I wanted to make.

 The new and improved Wordsum Blitz
The new and improved Wordsum Blitz

I hope people do buy the game and enjoy it just like I would. I want them to look at it like I’ve looked back at Blocksum all these years and say “that was a really fun game”. In the end, that’s all the really matters to me. If you want see the change for yourself, download Wordsum for free for iOS or Android and check out Wordsum Blitz when it is release on iOS App Store on November 6, 2016. 

It’s Been Awhile

My posts have become infrequent but I haven’t given up on game dev. Too many things going on so blogging was put on hold. To get me back in the habit I decided to at least provide an update on what’s been going on.

MetaWorld

After completing In Space, No One Can Hear You Dance, I started working on a much bigger, more ambitious project. MetaWorld is an open world VR experience where players can explore a huge world with others. This project has been super challenging for many reasons. The first being I’m the only developer. This is made even harder by the fact that VR is so new that I often need to rewrite entire systems when something doesn’t work. On top of that, being an early adopter of SpatialOS has presented many challenges. The Improbable has been working hard to create better documentation and a more stable API but the journey has tested my resolve. Also, building on top of SpatialOS requires a much different approach then commonly found in game development. The results though have been great. Creating something new that hasn’t really been done before is very satisfying. An awesome moment for me was talking to Rachel Webb from GamesIndustry.biz. She really captured why this project is so special.

There is more to come for MetaWorld as well as more challenges but nothing great is every easy.

Wordsum

Wordsum reached a big milestone with 1,000 downloads. I never honestly thought I would make a game that this many people played. I still want more downloads but I’m also very happy with this number. Being my first complete game, Wordsum is special to me so I don’t see myself letting it die.

Wordsum Blitz

This game has been a long time coming. The original Wordsum opted for a level based design to give the player a sense of progress. Originally, I wanted to make Wordsum a score based game that never ended much like Tetris. You simply just try to get the best score and compete against friends. Instead of adding this to Wordsum, I wanted to make a new game that was lighter, without ads, without IAP, with better art and that was straight to the point. Over the past year, I’ve slowly made updates and changes but only recently has it been looking like a finished game. The last little bit that I had to overcome was performance. With that finally conquered you can expect Wordsum Blitz very soon.

Donut For The Gods

Oh this poor game. Unfortunately Donut for the Gods has received the least of my attention. It’s not abandoned though. Once Wordsum Blitz is released I will begin the slow struggle make progress. The gods will get their donuts!

Wordsum Blitz, Full Steam Ahead

After finishing Wordsum I took a trip into the work of VR with In Space, No One Can Hear You Dance. During this detour, I never quite stopped playing around with the design of Wordsum. The game was fun but I felt like I had strayed away from the main point of the game. I removed everything but the core gameplay and made it score based. The result was a game that was even more addicting with endless replay value. Wordsum Blitz was born. 

With the gameplay fixed I turned my attention to the art. The art for the original Wordsum was fine but it wasn’t original and lacked something. Lucky for me, I know a talented artist. Jennifer Reyes joined the team (ok a bit of an over statement since it was just me) and crafted this beautiful mockup.

This is just a mock up but I have already started integrating this into the game. I will post more updates once there is a working demo. 

Some thoughts about designing for VR

As the Leap Motion 3DJam is coming to an end, I’m going to take a short break to reflect on the things I learned while making In Space, No One Can Hear You Dance. Josh Rose from Robot Sea Monster Games said in a recent talk that VR is still in its infancy. Like the early days of film making, game developers need to experiment to find what works and what doesn’t. These discoveries should be shared so we can all grow together and learn. This blog post is my attempt to follow that advice.

Input Disconnects

Current Oculus Rift HMDs only provides the hardware to put players inside a 3D world. This will change with the up coming release of the consumer version of Oculus Rift. Most of the content for the Oculus has been more of an experience or tech demo rather than a game. This is mostly because games at their core require some sort of player interaction. Leap Motion and Intel RealSense provides a way to reach into a VR world. Standard controllers are another option that’s more familiar to gamers. What ever your input method is, you want to avoid doing things that break the players immersion. Once it becomes to difficult to provide basic inputs, player will get frustrated and probably turn your game off.

Since I’ve been working with Leap Motion, let’s focus on that. Grabbing things or touching physical objects in 3D using Leap feels odd because there is no tactical feedback. Simple interactions can be very challenging and just not fun. For example, the video below shows a prototype I was working on. You can see the player (me in this case) has difficultly with pinching and rotating the object. I’m not new to using the Leap by this point, other people I had try this prototype who never used Leap found interacting this way to be impossible. I could lock the object to the players hand when pinching is detected but it creates an odd felling because for a stationary object like this, the players hand will move less in game then in real life.

For In Space, No One Can Hear You Dance, I decided to have the player follow instructions with their hands, swiping  up/down/left/right, based on a screen inside the VR world. The result felt more natural because the interaction was a 1 to 1 match. The game did nothing different then what the player expected.

Simple Is Fun In VR

Most game developers love games (hopefully all but I have met some that don’t play games O.o). When we dream up games, they are often pie in the sky ideas with deep systems and huge scope. Making complex games that are fun in VR is actually pretty hard. Gameplay mechanic’s in conventional games are strange and can sometimes make you sick. For the near future, creating simple games (but complete, not just tech demos) is enough for players to enjoy their time in VR. If indies want a chance to make a meaningful impact in this space, we need to think small but polished. People who have never experienced VR find simple games to be fun and exciting. VR has transported us to time when the concept of just playing a video game was an amazing thing. Once we get a solid base of usable VR game mechanics, we can build off of that just like games have in the past. It’s hard to have the Call of Duty of VR when we haven’t had the Pong of VR.

FPS is very important

Low frame rate in any video game is annoying and can make a game unplayable. Low frame rate in VR game makes you want to throw up and never return. Current VR technology requires the screen to be drawn twice, once for each eye. To avoid the stutter that causes nausea, your game needs to run around 90 frames per second or more at all times. Any drop in fps below that can be enough to make a player sick. Once they get sick, that’s it for a few hours or the entire day. 

Since we are drawing the screen twice, the requirement of 90 fps becomes 180 fps when not running in VR mode. Getting this sort of frame rate can be hard if your game has complex scenes with realistic graphics. There are a number of ways to get better performance in your game but the three items below are what I found easiest to implement and gave me the biggest improvements.

BAKED LIGHTING

Use baked lighting instead of real time lighting. This is not an ideal solution but it does provide a significant amount of processing relief. Many game engines provide great tools for baking your lights without much effort. If this is something your game can’t live without then you may need to hold off until technology improves. For right now, we are limited by the hardware we have. It’s a lot like the early days of video games where the limitations of the available technology could drastically alter the design of a game.

SIMPLE GEOMETRY

Your 3D models should be as simple as possible. If you can’t get something to look just right with a lower poly count then you need to think about that objects importance in your game. Can you remove that object or use something else in it’s place to get the point across.

GAME LOGIC

Be careful with the code that makes up the logic for your game. In Unity, it’s easy to forget that invoking GetComponent(), FindObjectByType() and Instantiate() is very slow. Use simple solutions rather than complex ones to make it easier to tune and troubleshoot. Don’t be sloppy and program smart. I know this tip may be sort of a no brainier but I found that taking a critical eye to my game code helped a lot with my overall performance. I had gotten use to being able to make mistakes and not paying so dearly for them.