Shitty Fish, Smoking Photoshop, z0ne (formerly Rift Wars), Fire Hose office, NPLB

I've done many things since we've last spoken, old friend. Let me regale you with a story of days long since passed.

Most recently,

Shitty Fish

During the ~Great Boston VR Bender And Game Jam~ I worked with the talented Mark Stock and Jim Susino of the Boston VR meetup. We produced a game called Shitty Fish. The goal of the VR jam was to produce games that used Valve's prototype head mounted displays. The prototype HMDs are something like 1200x1k in each eye? I'm certain those numbers are wrong. Oh and they're also low persistence at 90 Hz. The Valve guys said that making the desired frame rate is of great importance, and suggested that we target a graphical fidelity reminiscent of Quake 3. With these guidelines in place, we three set out to build a video game in which you are a sea snake.

In Shitty Fish, the game is entirely controlled by the rotation and translation of your head. The idea is to slither. By displacing your head in a slithering motion, a snake body model is simulated (thanks to Mark for this math) and forces are applied to the snake body based on this model. It turns out, this is really really fun. One of the Valve guys said that it was probably the most innovative use of head tracking he's seen so far. Oh and also playing the game for 2 days straight can result in a sore neck. Relatedly, we had a man with chronic neck pain who tried Shitty Fish during the demo night and said that his neck felt much better after playing it. Shitty Fish is basically neck exercises: the video game.

This is my friend Joe trying out the shitty fish demo with a Rift DK1

This is Mark, playing Shitty Fish on Valve's prototype HMD with positional tracking.

Here's the download link:
Hope that my google drive doesn't throttle this.

Some other notes:
  • This game would be pretty cool if you could actually play it while being underwater. Some of the limitations of having to deal with gravity make it difficult to reach every neck/head position you'd like while still having to stand up.
  • The game is made with the SteamVR plugin, which abstracts the specifics of the HMD's respective SDKs. That means that using the SteamVR plugin, you can make your game work somewhat seamlessly with both the Oculus Rift, and Valve's prototype hardware. It may even be the case that the game will work with the DK2 without modification. How cool would that be? The disadvantage is that you probably don't get some of the Oculus proprietary goodness like timewarp and other things??
  • The Valve hardware is amazing. Positional tracking, ultra high resolution, high refresh, low persistence all together make a very compelling VR experience. There were a few quirks, namely that the black-to-white refresh was two frames, so if your game has a placeholder black-and-white checkers texture, you will see some pretty weird artifacts as you move your head quickly. Also there were some disorienting tracking discontinuities around where the HMD lost positional tracking from going out of line of sight. Maybe there's no way to fix this, but it would be nice if the system handled it more gracefully. Lastly, sub-90 frame rate in low persistence is perceived very differently than in a full persistence display. A low frame rate is much more jarring and teleporty. It's like a ton of tiny jump cuts. They were right about how important it was to reach the desired frame rate.

11:11, Smoke Photoshop Everyday

I've been trying to draw something every day! Here are a couple of things I have drawn in photoshop:

I think some of these drawings are pretttttty cool. Yay, sunk cost!
Here's the rest of the album if you're interested:


We changed the name of Rift Wars. The name had to go for a few reasons. z0ne is all right, but putting a number in your name is sort of a faux pas. I don't really care that much. There's a lot of exciting stuff going on with z0ne, and we're hopefully going to show it off at the Boston Festival of Indie Games. James has been leading the development for the majority of the levels, and I've been sort of less involved in the last month or so, but I've been giving my feedback where I think it's important. There's a lot of cool new content in the pipeline. Here's an example:  

Here's a video. (I'm not sure how to embed an unlisted video)

The Chamber of Silence

Also known as the desk I am renting at the office of Fire Hose games. Seth and I are renting adjacent desks to better facilitate our collaboration. So far, it has been a huge increase in productivity. There are difficulties in getting to the office on time (whatever that means), and it is a little bit out of the way (20 minute walk from the train station) but otherwise the office has been a pretty huge win. Also it totally makes me a hundred times more official. And the Fire Hose guys are super cool. And I ate some rose flavored ice cream at a cool local ice cream place.


No Pineapple Left Behind is getting pretty crazy. We've got a ton of cool arts to show off:

And there's this totally sick Cantaloupian text book page example:
Cantaloupian is a constructed language we had made for students to learn as a foreign language. It is designed specifically to be difficult for english speakers to pronounce.

Aside from the awesome art, we are getting pretty crazy crunching this week so that we can make the Boston FIG deadline for a playable build of the game.


Here's a hyper realistic video of a particle based fluid simulation that I've been working on.


  1. You don’t need to read tons of of evaluations with the identical info, but read ours and instantly go to the opinion of actual players. JackpotCity Casino Canada offers all its players with skilled and high quality help. Customer help is out there around the clock — 24 hours a day, seven days every week, three hundred and sixty five days|one year} a yr. You can contact a help representative 온라인 카지노 by way of each stay chat and e mail.


Post a Comment

Popular posts from this blog

iamagamer game jam: Blood

How to render to HDR displays on Windows 10

How to Simulate and Render Blobs