Friday, July 11, 2014

The Test (v0.3)

Download: [WIN] [OSX]
I've put together a small gaze-based demo as a follow up to my last post. The controls are similar to Rift Command but simpler in that the only fire key is [Space].

In this demo you're a mutant trainee being given an evaluation test. Try to reach the highest level and accuracy by shooting the clay pigeons. Get hit by too many and you fail.


The goal of this was to make a demo that would be easy and intuitive to jump into, while causing little to no motion sickness. 

I could see the player being on rails, moving through different environments, if this were to be turned into a full game.

Curious to hear what people's best scores are. Mine's 35.81 :)

Thursday, June 19, 2014

Gaze-based Games For The Mainstream VR Win

A lot of VR experiences that we were promised simply aren't ready yet because we lack the means for reliable input and locomotion. To experience a first person game to the full degree we require at least 3 pieces: a headset to view your surroundings, a controller to manipulate the world, and an omni-directional treadmill of some sort to get around.

The gaming rig of tomorrow?

While there are considerable advances for control and movement (projects like Control VR, Omni, and Infinadeck), the headset is really the only piece as of now that is within striking distance of a mainstream consumer audience.

So what does this mean? Well, until control and movement catches up, that the initial commercial "built-for-VR" successes will be games where gaze plays heavily into the gameplay and movement is either slow / non-critical or tracked / not-possible.

Upcoming title "Private Eye" looks very promising.

Not only that, but until we see a wireless VR headset, gaze-based games that keep the action to a 180-degree field from the user's front are also more likely to be well received. I've found that even with the best VR demos, if you have to look over your shoulder more than once, that your gaming rig will soon end up a wired mess.

We don't all have the luxury of an awesome setup like this!

There's something behind me, isn't there?

I've been working on a small gaze-based demo which I'll post in the next entry. In the meanwhile, here's some upcoming VR games that utilize gaze-based gameplay and look like a lot of fun:
  • Private Eye - A cinematic, psychological thriller for the Oculus Rift, where voyeurism meets mystery, played out against a 1950's New York city backdrop.
  • Classroom Aquatic - Players play as an exchange student in a school of dolphins, going through a semester that they're in no way prepared for. They must resort to cheating in order to become the best student in school!
  • The Gallery - Trapped in a subterranean temple, you will journey through esoteric worlds in order to discover the true meaning of The Gallery and the key to your ultimate salvation.

Tuesday, April 8, 2014

The Last of Us: Factions Review

So I never gave The Last of Us' multiplayer mode ("Factions") any serious thought after finishing it in 2013. I guess previous games have taught me that online PvP experiences are drastically different than their single-player/story-mode counterparts. Maybe it's because you usually end up having to alter your play style; you can't try the same cinematic moves you normally do and have to rely purely on trigger reflex.

This can chip away at the integrity of a game's story mode since you're always comparing your online experience to what would have happened if that same interaction occurred in the storyline.

0.0001 seconds to pull that trigger or instant death

Well about a month ago after finishing the Left Behind DLC, I stumbled across some amazing youtube Last of Us reviews, including some that covered multiplayer. After watching a few I decided to give it a try and wow, it blew me away.

The Last of Us: Factions is, simply put, incredible. Why? Because it feels just like an extension to its single-player world. Not once have I felt like I needed to change how I think or move, simply because I'm fighting human opponents. Maybe that's just a testament to how good the AI is in Last of Us (that's likely part of it) but it seems more likely due to its design and structure. Here are some of my highlights.

Close Quarters Stays Cozy

Hand to hand fighting is just as up-close, violent, and desperate as in single-player mode. But those moments when you're out of ammo and decide to rush an armed opponent can still pay off, and boy are they satisfying as hell when they do.

I've never once felt like the game punished me for trying a brazen leap over a barricade to engage a pistol-wielding enemy with my 2x4, which is something I would often try as Joel.

Should've stayed home today

Crafting Under Fire

A big part of Last of Us is crafting items and weapons "in the moment" while you're constantly looking over your shoulder for trouble. This doesn't change at all in Factions. Items play a key role in winning but you're almost always sweating your way through it. It is possible to speed it up by taking certain skills but as with everything there are tradeoffs.

Also because craftable items are so powerful, you're constantly on the lookout for supply drops on each map (very much so like in single-player).

Crafting a shiv to use on the hunter around the corner

Listen For Your Life

Listening for enemies is still a crucial element in Factions. I remember so many times in single-player where you're holding your breath, praying that a nearby enemy will pass you by. They've preserved that element beautifully here and I've yet to play a single match that doesn't have one of these nail-biting moments.

Go left, go left, please go left...

Only the Strong Survive

The world in The Last of Us is immensely dark and gritty. It's dog eat dog and the match types offered in Factions are a perfect fit. There's Supply Raid, Survivor, and Interrogation. Supply Raid and Survivor are super fun and are the closest to the traditional deathmatch/attrition mode that most online PvP offers.

My favorite type however is Interrogation. Normally when an enemy is wounded they go into a "downed" state where they crawl around on all fours and from there you can perform a brutal execution on them by getting close. But in this you interrogate them instead to find the location of a hidden lockbox somewhere on the map. After five interrogations the location is revealed and it's a race to see which side can unlock the enemy's first. The closest game type I'd compare this with is Capture the Flag and it fits so well with the survive-at-all-costs mentality of the Last of Us universe.

Shivs make for a faster interrogation

I feel like it would be unfair for me not to mention a weaker part of Factions, namely the "clan" component:

A little soulless

In Factions you play a hunter trying to salvage supplies for your clan, an unseen group of survivors presented to you in the form of roving red and blue dots on a mini-map in the matchmaking lobby. Clan members can get sick or hungry, give you missions, or just idle around and do clan-member activities (presented in text form, "Billy Joe is going fishing at the creek").

I feel too much here is left to the imagination and they should've either removed this piece entirely or doubled down and made the entire online lobby an explorable survivor's camp (similar to Uncharted's Tibetan village experience)

No Fireflies here

How cool would it have been to be given missions by survivors who approach you or to see your clan grow by the number of wandering members as opposed to a simple number increase? Or if the method to initiate a match was by walking out the front gates into the wilderness instead of simply selecting "Find Match"?

I feel like that would've done more to create a believable and personalized bond between the player and their clan and was slightly disappointed with the dynamic we were given, especially from a game that did such an amazing job of making me attached to its characters. But I understand that building all that would've practically been an entirely new game in itself.

***

All in all, The Last of Us is by far one of the best stories that I've ever experienced, in any medium. But Naughty Dog has not only raised the bar on how well a game can tell a story, but also in how we play that game with each other while still preserving said story.

Factions doesn't take anything away from its single-player world and I'm eagerly looking forward to future titles that combine their story/online game modes so well.

Thursday, April 3, 2014

Turn your iPhone/iPad into an RSS ticker with Passive

So this post is pretty late but I'd still like to talk about an app I released last month called Passive. It's uber simple and I only spent a few weeks on it, but I couldn't find anything else in the app store that serves the same need. Basically it's a list of RSS feeds that you can follow and displays them as a scrolling ticker:


I got the idea after watching Her (If you haven't seen it, go do so now!) The movie focuses on AI and relationships but one thing that really stuck out to me was how passive all the technology felt. Lights came on by themselves as you walked by, phones and computers could just be spoken to; the effort it took to interact with technology was minimal yet the power and data that was readily available at your finger tips was incredible.

When I got home I sat at my desk and looked around. Why can't we have that sort of world now? There's a million changes going on around us at this very moment and why should we have to seek them out to know what's happening? 


Another thing I noticed was a neglected iPad sitting on my shelf. Passive is a great way to put unused iOS devices to work. By turning it on and letting it run, Passive will subtlety trickle breaking news and headlines (or even your tweets) across the screen. Then while working or walking by you can simply glance to the side to learn something new. If a headline warrants additional attention, tap it to open the full URL and from there you can save or share with friends.

I even went ahead and purchased an iPad wall mount so I can get updates when first waking up in the morning:

(not my actual hallway)

I know this post doesn't have much to do with VR but I really wanted to express how much I can't wait for a cool cyberpunk future. Let's all push in any way we can.

Sunday, December 22, 2013

Rift Command v0.13


Download: [WIN] [OSX]
I've never been that good at Missile Command yet it still holds a special place in my heart. Maybe it's because it's one of the first games I remember playing as a kid (I also just recently re-read the Wargames sequence in Ready Player One so that could be it) but regardless, I wanted to replay it with a rift.


You look in the direction you want to fire and press (1, 2, or 3) to launch a missile from that specific battery. Rift Command is pretty basic and I haven't had a chance to really tweak the balance yet, but as of v0.13 there's increasing enemy missile speeds, a persisted best score, and a couple different enemies that you encounter. 

If people get into it I'd like to add bonus cities and maybe even a global high score table :)




Would be great to hear any thoughts or suggestions anyone has or lemme know what's your best score! Mine so far is somewhere around 12,000.

Download: [WIN] [OSX]

Thursday, December 5, 2013

Signing a Unity game for the Mac App Store

A compiled list of the hoops you have to jump through for getting a game built with Unity 4.3.0f4 signed for the Mac App Store.

There's a handful of posts already on this but I found that many were out of date or missing a step or two. Terminal Commands are in Blue, Error messages are in Red, and any reference to Game.app or Game.pkg should be substituted with your game name. Let's jump in!

1. Create a Mac Installer Distribution and Mac App Distribution certificate on the developer portal.

2. In Unity > File > Build Settings > Player Settings...  make sure that Mac App Store Validation is turned ON. Then build your game.

3. Right-click your built Game.app file and select Show Package Contents. Under Contents... open up Info.plist and ensure that CFBundleShortVersionString and CFBundleVersion match the version set for your app awaiting upload on iTunesConnect.

You also have to add a string value for the LSApplicationCategoryType key and set it to your sub/primary category in the form of "public.app-category.subcategory-primary category" In the case of Wriggle 3D (a puzzle game) it was public.app-category.puzzle-games

4. From the Unity documentation: Fix the read permissions for your app with

chmod -R a+xr Game.app

5. Here's a tricky part. At the time of writing, you must download an older version of Xcode and use its codesign tool instead (Current version is 5.0.2). Download Xcode 4.6.3 and install it somewhere other than your existing Xcode location (so as not to overwrite it!). Then in your terminal export this variable:

export CODESIGN_ALLOCATE="path to Xcode4.6.3/Contents/Developer/usr/bin/codesign_allocate"

Skipping this step will result in later errors with the following message:

Game.app: object file format unrecognized, invalid, or unsuitable

6. Once you've done that, create an entitlements.plist file with the following entitlement (and others if your app requires them)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key><true/>
</dict>
</plist>

And run this command:

codesign -f -s "3rd Party Mac Developer Application: **Company Name**" --entitlements "entitlements.plist" Game.app

Skipping this step will result in later rejection with the following message:

App sandbox not enabled - The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list. Refer to the App Sandbox page for more information on sandboxing your app.

7. Now we have to codesign all *.dylib and *.bundle files in the following Game.app directories:
  • Contents/Frameworks
  • Contents/Plugins
8. After this, it's time to package the app with this command:

productbuild --component Game.app --sign "3rd Party Mac Developer Installer: **Company Name**" Game.pkg

8. Now under Xcode > Open Developer Tool > Application Loader... you should be able to upload Game.pkg to the store! Pat yourself on the back :)



Coming from an iOS developer used to working exclusively with Xcode, this is an annoying, but ultimately manageable, process. If you'd like to see the finished product that was submitted after all this, check out Wriggle 3D!

Thursday, October 31, 2013

Razer Hydra support added to World of Reddit (v0.15)

After a couple nights work I've added Razer Hydra support to World of Reddit. [WIN] [OSX] [LINUX] If they're connected you'll be prompted to bind the controllers by pulling the Left and Right trigger. The controls for using them are:












It's a lot cooler using these to navigate and you can even use them standing up. I'll try to record a video of this next week for those without a Hydra.

WINDOWS DOWNLOAD [v0.16]

OSX DOWNLOAD [v0.16]

LINUX DOWNLOAD [v0.17]