All posts by dave

Say Hello To My Little Friends

Say Hello To My Little Friends

Well, what do you know? There’s another video featuring Buzz Monkey’s unreleased South Park game with more footage and info. This post is pretty much just to embed a playlist of all of the videos that have been put together for this project. The guy who actually owns the Xbox was able to get to more of the features in the build and seemed to play around quite a bit more than the video that was posted a couple months ago.

Look What I Found

I’m also going to post a few images that I found for anybody who is interested. This first one was a mockup that was made for a demo DVD that we burned.

Say Hello To My Little Friends

Here’s a rendered image of the boys that were on some other box mockups. I still think the artists did an amazing job of modeling the characters in 3D.


Roll The Clips

Here’s the playlist of all the videos about the cancelled game, with the new video at the start:

And here’s a bonus clip of a Happy Feet demo that we did as well, which was on the dev kit with the South Park game:

What Could Have Been

And for anybody reading this far, have a colored map of South Park with every location in the town through season 8:


If any more videos or information come out, I’ll make sure to post another update and add them to the playlist above. I may even post some more art and stuff as I dig through my backups and find stuff worth sharing. Sweet!


Gems Of War

Gems Of War

Gems Of War

It’s official! A game that I did some contract work on has shipped. Gems Of War is now available for Xbox One and PlayStation 4. It’s the latest Puzzle/RPG from the original creators of Puzzle Quest.

Match 3 Puzzle Battles

The game itself is based on a match-3 puzzle mechanic, similar to Candy Crush Saga. Instead of single-player puzzles with different layouts and special pieces, the puzzles in Gems Of War are openly laid out and played against an AI opponent. Each side has a team of up to 4 characters who have special attributes and abilities. The player alternates taking turns with the AI, and as you match different colored gems (or skulls), you build up magic points which allow the characters to use their special abilities. Matching skulls and, most of the time, using special abilities deals damage to the opposing team. The last team with remaining characters wins the match.

I was a fan of Puzzle Quest many years ago, so I was pretty excited to get to work on the game. I was familiar with the game mechanics and strategies, so I could focus on the Xbox Live stuff without having to learn the game as well. In addition, whenever I had to test certain things, I got to play matches. It’s always nice to enjoy playing a game while you work on it.

Xbox One

The mobile and Steam versions of the game were written in Flash for the AIR platform, and Pipeworks re-wrote the game in Unity for the console versions. I was contracted to implement the Xbox One functionality.

This project went very smoothly. The other programmers had the game ported and running in Unity when I came onto the project and I just had to add support for the Xbox-specific features. As is the case with development on a new console, digging through the documentation and learning the idiosyncrasies of the platform take the bulk of your time. After going through the process though, it makes it much easier during subsequent projects.


Bang The Chains!

Bang The Chains!

I’ve uploaded the final submission of VR Discs Of Golf to the Leap Motion 3D Jam. It’s probably not super applicable to you if you don’t have an Oculus Rift and Leap Motion controller, but I’ll be adding gamepad controls, Cardboard, and non-VR support after the 3D Jam so that everyone can play it.


You can download it and vote for it here: VR Discs Of Golf submission page

Lessons Learned

It was a pretty fun project, and I learned quite a bit from it. Plus, I got to write some custom physics code for the discs. I’ll go ahead and dump whatever I can remember right now into this post for posterity.

“Free” Hardware

When I first heard about this 3D Jam just over a month ago, I was told that anybody who submitted a project would receive the Leap Motion controller for free. If I only consider the $80 cost, then I easily made less than 69¢ an hour. Of course, having a playable game is a much bigger payoff than the hardware.

I had decided to make a disc golf game while I was reading about the hardware, since I know a bunch of avid disc golfers and hadn’t really seen many disc golf games before. Unfortunately, after I received the controller I realized that the hand positions for disc golf are pretty much the worst they can be for motion tracking. So, the controls are a bit simplified for now.

Custom Physics Code

This was easily the highlight of the project. I haven’t written custom physics code in several years and it was great to get back to it. I read quite a few papers about disc physics and pulled together the parts that were sensible. Being the internet, there are a bunch of people who like to talk a lot about things that they don’t actually understand. Ultimately, I found myself taking much of my model from a few research papers, which I came across in various articles.

I prioritized the various aspects of the physics model and focused on the lift/drag model and gyroscopic precession first, since they have the most influence and were the easiest to test. Due to the time limit, I didn’t get to the more subtle aspects; spin decay, instability, magnus force, variable moment of pressure, etc. The game feels pretty good though, so I’m happy with what I got in for the 3D Jam.

Simplified Controls

The Leap Motion controller is a small box with 2 IR cameras in it that can track hand positions within a couple feet. When mounted on the front of the Oculus Rift, it can track your hands as you move them around in front of your face. Due to the angle that the cameras are facing, when you have your hands pointed away from you and closed it presents a very small image to process. Unfortunately, that’s the primary position for throwing a disc.

So, I’m still not entirely sure that the controller can’t detect disc throwing movements very well. I think that a major factor with the tracking issues I had is my old computer hitting its limits. I’m already researching new components to build a new machine soon.

In any case, since I needed the game to work on my machine, I simplified the controls to that you hold your hand(s) in positions that are very easy to identify for the controller. The controller seemed to do a very good job at recognizing when you open and close your hands, so I based most of the interface on opening and closing your hands to trigger actions, while using movement and rotation to fine tune the input.

I had a friend try it out earlier today and watched as he struggled to make it do what he wanted. Since I had to finish the game by midnight tonight, I was a little bummed. However, I tried a minor modification that turned out to work and the game is much better now. I basically separated the aiming and throwing phases of input which made each of them more robust. Phew!

Pre-release Means It’s Broken Somewhere

This no longer surprises me, but it still wastes my time. I never did update to the latest version of Oculus and Unity for the game, which I really wanted to do. The main reason is that I haven’t been able to get the latest version of the Oculus runtime working on my computer yet. I’m sure I’ll figure it out soon, but I didn’t want to waste time with it when the game worked with older versions. I doubt it would have made much of a difference, but I still don’t like feeling like there isn’t time to upgrade everything and take advantage of any bug fixes and optimizations.

VR Meteors Update

I’ve also done a little bit more work on VR Meteors this past month and am planning to upload the Oculus version to the share site soon. I’ve come across a few issues with the Android version that I’ll need to fix before I release a Cardboard build. I suspect that this will progress much faster now that the 3D Jam is done.


VR Discs Of Golf

VR Discs Of Golf

VR Discs Of Golf Title Screen

I suppose I can go ahead and announce that the project I’m making for the Leap Motion 3D Jam is a VR Disc Golf game. I basically have the disc physics and basket interaction at a playable state, so I’m going to stay committed to the premise. I still don’t know how accurate it really is, since I can’t find any type of recorded flight data online. That’s why I’ll need to bother some of my friends who disc golf to try it out for me.

I’ll be making the course out of geometric shapes and basic grid-style textures. It’ll be a little like Discs Of Tron, so that’s why I’m calling it VR Discs Of Golf. In fact, I’m pretty sure that this is a precursor to a Discs Of Tron remake for VR. I may even add moving obstacles and trick shots, so it’ll be kind of like disc mini-golf.

Unfortunately, I don’t know if the Leap Motion is going to be accurate or fast enough to do a realistic throw motion for the game. It may be that my computer is finally starting to show its age, and can’t quite keep up the with Leap Motion’s processing demands. It may also be that the angle of the hand when making a disc throwing motion is about the most inaccurate angle for the cameras, so that’s my fault for not trying the interface before I wrote the physics code. It’ll still be cool, but it will be more of a gesture-based interface. While I think about the interface and how I’m going to handle it, I’ve gone back to finishing up a release version of VR Meteors.

VR Meteors

VR Meteors Title Screen

VR Meteors keeps getting closer to a release date. I put in the high score and initials screens today. I also added a shield effect when you get hit. Of course, it’s all delightfully programmer art, but it gets the job done.

At this point, I only have a few things left to do. I’ll add a background sound and audio options to the settings. I’m going to implement the single button play style that I had for the Gear VR into the Cardboard build. Now that I have a better understanding of the rendering system, I’ll see about being able to switch between the colored and outline graphics on-the-fly. Then I’ll do a tuning and polish pass and go through the publishing steps for Google Play and the Oculus Share site.

Since publishing a game is a pretty significant step and legitimizes my company, I’m really getting excited about it. I’m pretty nervous too, since this will effectively be my “first impression”. I’m just trying to deliver an enjoyable experience that is quick and easy to play, while not trying to do anything extraneous. I’ll add more stuff in later updates as I get the systems written. At least it’s free, so there shouldn’t be any complaints about the price. It is the internet though, so I won’t be surprised if there are.



AR/VR Tech Talk And A New Laptop

AR/VR Tech Talk And A New Laptop

What a quick week and a half it’s been. My progress was slowed a couple days when I went up to Portland last week for an Augmented Reality (AR)/Virtual Reality (VR) Tech Talk. Unfortunately, my previous laptop decided to blue screen again, so I didn’t get much work done those days. My new laptop arrived yesterday, so I’m glad to have that taken care of. Let’s hope that the 4th time’s the charm with this laptop situation.

Dell Inspiron 17 5000 Series Touch

Dell Inspiron 17 5000

I ended up with a Dell Inspiron with an AMD graphics chip. Once I have everything installed, I’ll see if I can use the DK2 with this beast. This is easily the largest laptop I’ve ever used, and it’s heavy. I believe it may be about 7.5 lbs. If it works with the VR hardware, it will be worth it.

AR/VR Tech Talk

The tech talk that I attended was held at the Nike Decathlon Club Cafe next to their campus in Beaverton. It was 2 1-hour talks and some time before and after to socialize. I went over a few hours before the talks and did some work while I waited. I met a few other devs who showed up early as well, and showed them my new View-Master Cardboard viewer. Surprisingly, that viewer generated a lot of interest from several people who were there. The bright and familiar colored plastic probably has a lot to do with it.

AR Talk

The first talk was about augmented reality (AR), and the speaker was from Meta. He was more of a business guy instead of a developer, so his talk was about a lot of the things that he had seen, the potential of AR, and info about their product. He showed several examples of their product being used for education and other non-gaming applications. He spoke quite a bit about how AR will allow for medical training in developing countries and remote locations, which was pretty cool.

Meta 1 Dev Kit

The development kit is available for less than $700. Though this is much less than the $3000 for the HoloLens, it does require a computer to run the software and it is tethered. It was nice to know that there is a HoloLens competitor that already has hardware out in the world though. Here’s a picture of their upcoming Pro version, which looks pretty slick.

Meta Pro

VR Talk

The second talk was about VR, and was given by Kent Bye, who has been attending dozens of conferences and gatherings the past couple of years and has hundreds of interviews. He hosts a podcast called Voices Of VR. He also organizes monthly meetups and is active in the Portland AR/VR community.

His talk was a little more interesting to me at least, as he has been a little more involved with the community at large and has seen a wide range of the hardware and talked to a lot of people in the industry. I did ask him what he is currently most excited about in the VR space, and he mentioned: Tiltbrush, Oculus Medium, Super Hypercube, and Fantastic Contraption. I’ll be checking out whatever info I can find about these soon.

Fantastic Contraption - Vive

That’s enough for now. I’ll have another post shortly with updates on my current projects.


Leap Motion 3D Jam & Stuff

Leap Motion 3D Jam & Stuff

This week has been busy and fun. I feel like I have all the pieces to finish VR Meteors. I just need to put them in place now. I have plenty of plans for extra features and some restructuring, which will wait until after I put the game out into the wild. Here’s a screenshot of the title screen to show that I’m super cereal.

VR Meteors Title Screen

Getting VR Meteors online will also free me up to work on a project for this month, which is the Leap Motion 3D Jam. I just got my Leap Motion controller this week and have a couple ideas that I’m going to try. I’ll have to see how well the controller works, and the best hand positions, before I can decide which one to develop.

For those who don’t know, the Leap Motion controller is a small device which houses an IR camera that tracks hand movements. This allows for interaction with 3D objects by moving your hands around in the air. Typically, you would place it on your desk and it would track your hands as you move them around above the device. However, for my interests, they have a mount that allows you to stick the camera on the front of a VR headset so that you can track your hands in a virtual environment.

Other Stuff

Some other things that I’ve been working on this week are: menus, input, paths and splines, 3D text models, and various framework tasks.


For the menus, I’m trying to figure out how to separate the menu system and package it in a way that it’s easy to import into new projects. I drew a simple vector based frame to use for the various controls and have been working on setting up a template for the various UI elements in Unity so that the layout and sizing works the way that I want. I still have quite a bit of work to do before it’s truly flexible. Fortunately, VR Meteors is my primary development project, so it works for that.

Xbox360ContollerMenu OUYAContollerMenu

I’ve also made a couple of screens for the Xbox 360 and OUYA gamepads that display the controllers and highlight the buttons when you press them. I’ll be putting this at the beginning of my games to try and remove the need for me to explain the controls to people when they try the games. Especially since I won’t be able to do that when people download them soon.


Wow, I don’t know exactly how Unity’s input system could be more cumbersome and less useful. Even if it didn’t exist, it would be more obvious from the beginning that you would want to write your own. I’ve been working on a new input manager to handle various controllers on all the platforms that I’m trying to support. Even the same controller on another platform has different button mappings, and the axis and button handling are separated seemingly arbitrarily. Fun times.

Since I’m primarily focused on VR using a gamepad, I haven’t yet tried to figure out how to handle keyboard, mouse, tilt, and touch controls. I’m sure that will be a whole new can of worms when I start working on some mobile app ideas.

Paths And Splines

When I was working on VR You Make Me Sick to go along with my talk last weekend, I wrote some simple path control code to make the targets move. I have now adapted that to move any transform in Unity along a path, circle, and now splines. I have a basic spline calculation that I came up with just playing around. I’m going to implement a proper Bézier Curve calculation as well, for more precise control. I’ve also learned how to use the gizmo system in Unity in the process, which will be handy.

3D Text Models

I learned how to create 3D text models in Blender, so I decided to use them as logos for now. I went to the Google Fonts site and downloaded a few different fonts that I felt fit the style of the games and modeled the titles to use for the title screens. I still need to figure out textures for them, but I think they’ll do the job until I can get some real art done.

That’s enough writing for now. I’ll be working on the finishing touches for VR Meteors this weekend and you should see it online next week sometime. Then I’ll get to work on the 3D Jam.


Indie Game Con!

Indie Game Con

The Indie Game Con starts today. It’s all taking place in downtown Eugene. There is a Business Summit this afternoon and Art Show this evening. The Expo and Pro Talks are all day tomorrow. Followed, of course, by After Parties.

VRoom! Getting Up To Speed With Virtual Reality

As a bit of self-promotion, I’m giving a talk at 4:20, called VRoom! Getting Up To Speed With Virtual Reality. I’ll be talking about various topics related to virtual reality, as well as a little bit about augmented reality. I’ll cover the various popular game engines that support VR, the hardware that is currently and soon-to-be available, best practices for VR, and share some of my personal experiences with working with all of the above.

I’ll make another post to supplement my talk, and I’ll share a link to my presentation as well. I’ll do this after the talk, so that I can make sure to cover things that I missed, provide further info, and integrate any Q & A information.

I’ll even have a small game that I’m putting together to demonstrate what not to do in VR. It’s called: VR You Make Me Sick.

Business Summit

This is happening all afternoon today, at the newest addition to the downtown bar scene, The Wayward Lamb. It’s several hours of information from members of the local startup and indie game community, as well as some guest speakers who are in town for the IGC. I suspect there will be quite a bit of useful information for those of us who are new to running a business.

Art Show

Immediately after the Business Summit ends at 7, the Art Show begins at the LCC Downtown Campus. There will be art from and inspired by video games, as well as a DJ playing music with a video game theme. I’m not sure where I saw that info, so I don’t have a link to it. Sorry.


The expo is the main part of the Indie Game Con, and there are over 25 indie games being shown this weekend. Come down and take a look at them, play them, and talk to the developers. This is a chance to get any questions you have about game development answered by developers who don’t have to watch what they say, since they work for themselves. If you can’t find a game that you like in this bunch, I’d say it’s likely that you didn’t look hard enough.

Pro Talks

I already talked myself up earlier, so I’ll focus on the other talks here. There are 18 talks and a panel discussion on LGBTQ issues in games and the game industry. The speakers range from business people, to full-time game studio developers, to online personalities, to indie developers. 6 of the talks are free to attend with the basic expo pass, so you have no reason not to check at least one of them out. The other 12, require a pro talk pass, so be sure to get the correct ticket if you want to see any of them.

After Parties

After the expo ends at 6:00, or 6:30 if you attend the panel, the party begins at 8:00 at 3 locations nearby.

Big City Gamin’

This will be where you want to go if you’re under 21, since it is the all ages party. It’s just over 3 blocks away, so you’ll be able to walk there in a few minutes. I’m not sure what all will be happening there, but I expect games and music at least.

Shoryuken League

If you’re 21 or over, and want to play some more of those awesome indie games that you didn’t have time for at the expo, this is where you will want to go. It’s less than 2 blocks away, and will have plenty of demo stations set up for developers to show off their work. They’ll have drink specials and happy hour starts at 5, if you want to head over early.

The Wayward Lamb

If you’re 21 or over, got your fill of playing games during the expo, and just need to dance, head over to The Wayward Lamb. This is the dance party. There’ll be DJs and drinks and it’s right behind the LCC building.

Come support your local game development community. It’s going to be a blast!


Going Down To South Park

Going Down To South Park

Well, this is certainly exciting.

Gonna Have Myself A Time

Somebody found an Xbox dev kit with an old build of a South Park game that we worked on at Buzz Monkey for several months. If I recall correctly, we were told to make “Simpsons Hit & Run + 20%”, whatever that means. In any case, it was a blast to work on. And while it was super ambitious and we only had several months to work on it from scratch, it actually was a lot of fun to play. The design team had to watch every episode and document every character, location, and item in detail. Not bad work, if you can get it. The programmers and artists did an amazing job in a tough situation, and most have gone on to work on some great games and interactive entertainment.

Mission Overview

Here’s a quick synopsis of the sample mission that they show in the video. It was meant to be a vertical slice demo, which means that all playable elements of the game were to be included in the mission. The basic premise for this portion of the game is that there is a city-wide scavenger hunt happening, and one of the items is a straight jacket.

Exploration and adventure

The first part of the mission has Cartman trying to find his Special Olympics costume so that he can get on the short bus and get a ride to the mental hospital to find a straight jacket. This was to demonstrate the interactivity of the environment, the quest system, character costumes, basic controls. The arbitrary timer was not part of the design. We’re gamers, after all, we knew it was stupid. Let’s just say that sometimes the development team doesn’t make all of the decisions when making a game.


After he collects his costume, he then has to make his way through the backyards of his neighborhood to get to the bus stop in time. This had fences, hedges, gates, and other obstacles. This was to demonstrate the platforming elements and destructible objects, while showing how the 2D town was going to represented in 3D.


Once Cartman makes it to the bus stop, the short bus arrives and he gets on board. There was actually a question about why the user would control the bus if the kids weren’t actually driving. We basically responded with, “seriously”? Anyway, the user then races to the hospital while avoiding other cars trying to run them off the road and beat them to the hospital.


When the bus arrives at the mental hospital, Cartman runs to the gate to close and lock it to keep the other players from getting in to the hospital. Here we meet Towelie, who offers to help Cartman figure out the combination. If you’ve seen the show, you can probably imagine how this plays out. I was going to put Towelie in as many places as I could. Since, you know, “Don’t forget to bring a towel.”


Now Cartman has to search the hospital for a straight jacket, while not being noticed by various NPCs. This wasn’t Splinter Cell stealth. It was more like Hotline Miami stealth. After Cartman finds the straight jacket, he is caught by a nurse and tries to fight his way past her. Since he has no special powers yet, she easily overpowers him. This leads to the cut scene where he is strapped down and given electroshock treatment.


If you’ve seen the South Park: Bigger, Longer, & Uncut, you know about the V-chip, and this turns out to be Cartman’s special power. If you haven’t seen the movie, what the hell?!? Go watch it now! The electroshock treatment reactivates the chip in his head and he is able to shoot lightning bolts from his hands by cursing. He uses this power to fight his way past the orderlies and nurses, exit the hospital, catch the bus as it is leaving the parking lot, and the mission is complete.

Quiet Mountain Town

Here’s a little taste of what you would have been exploring, had this been finished.


I have to say, that as difficult as this project was, and how much stress it caused everyone involved, I’d do it again. And it helped me develop a much deeper respect for South Park, which continues to this day.


He Who Talks Loud Saying Nothing

He Who Talks Loud Saying Nothing

I’m not sure I believe this myself, but I’m actually giving a couple of talks in the next couple of weeks. I should probably be figuring out what I’m going to say instead of writing about the fact that I should be figuring out what I’m going to say. Or something.

In any case, I’m done with my contract work tomorrow, and it’s going to be back to full-time Out Of My Mind VR game development. I’ve got so much stuff on my to-do list, I just kind of shake my head and laugh at myself when I read it.

The Big Mix

This week I’m presenting at The Big Mix. It’s a gathering of people from the local business community and each of the presenters is given 3 minutes to introduce their companies, explain their existence, and ask for whatever it is that they want. This is going to be a good test run for whether or not I can articulate what I’m doing.

Indie Game Con

The big talk is coming at Indie Game Con on Oct. 3. I’m giving a talk: VRooom! Getting Up To Speed With Virtual Reality

I’m going to basically regurgitate a bunch of information that I’ve collected regarding various hardware and software for developing VR experiences. Then I’ll pretend to impart wisdom that I’ve attained from developing the various games that I’ve mentioned on this site, which only a handful of people have actually seen. It’ll be a lot of fun.

Game Progress

On the game front, I’ve actually made some progress. I have standalone builds running for Cardboard and Oculus. I’m going to work on WebGL builds to show demos on my web pages. That seems like a no-brainer now that it has occurred to me. I still have to finish various polish tasks and make the games behave correctly, which is why I haven’t released them into the wild yet. I’ve learned quite a bit from showing them to people. The fact that I have to explain so much to them when they play means that I still have work to do.

I tried using stereoscopic support in Unity, but it doesn’t work on my computer. It only supports DirectX 11 3D, which my video card doesn’t handle. I’m an AMD Quad-Buffer guy, apparently. Perhaps when I get my new computer built, I’ll be able to try it again.

With the Indie Game Con coming up and some free time on my hands, I expect to have the first playable versions of my games available to check out by the end of the month. Whee! Your patience is about to be rewarded. Not that you were actually waiting, or that anyone is reading this besides me, but I’m feeling pretty excited about it.


Google Cardboard

Google CardboardGoogle Cardboard Viewer

Well, since there seems to be a major upgrade of the Gear VR around the corner, I’ve decided to hold off on getting the hardware until it is released. Plus, various issues with the 0.7 runtime and lack of laptop support makes Oculus a bit of a pain to deal with at the moment.

In the meantime, I’m working on supporting the Google Cardboard platform. While the general concept and functionality are similar to the Oculus, the experience is a bit less immersive. The field of view is more akin to a View-Master, which coincidentally is releasing a Cardboard viewer this fall. I love my View-Master. I’ll definitely be getting one.

View-Master Cardboard Viewer

Google Cardboard in Unity

Using the Cardboard SDK for Unity makes it very easy. You basically just need to attach the StereoController to your existing camera. Make sure the camera has the MainCamera tag. You’ll also need the Cardboard component somewhere in your scene.

I’ve had some inconsistent results with making Android builds and the rendering not working. I’ve made some builds with just the above two components added to the scene and the stereo cameras get created at runtime and render properly. Other times, I’ve had the rendering be black, and it only appears when I turn off the VR mode. In this case, I’ve had to create the stereo cameras in the scene in the editor, so that they exist before making the build. I haven’t tracked down the exact cause of this issue, but it would make it easier to switch between Cardboard and Oculus builds if I didn’t have to create/delete the stereo cameras before each build.

Cardboard Viewer


Teefan Cardboard Viewer

I’ve ordered a plastic viewer from Amazon that has headstraps. It looks pretty adjustable, and as good as any of the other headsets I’ve seen. Plus, it does have the magnet controller for single event input.

Ouya Controller

Ouya Controller

I also ordered a tiny Bluetooth gamepad from Amazon. It looks like a passable controller, but I mainly ordered it to get the free shipping. As it turns out, my Ouya controller connects to Android and works just fine. I do need to work on detecting the control scheme and map the inputs appropriately. Put that on the list.

At this time, I’m planning on getting the games customized and working for Cardboard so that I can publish them to Google Play and iTunes. I figure that will be good to work on while I wait for Oculus to be more reliable.