Saturday, October 7, 2017

Game-A-Week?

October 2, 2017 Video game dev diary?

Since most of my work of late has been in game development I thought I should try to post a weekly blog about my indy game dev projects. I had this ridiculous idea that I could try to write a new game each week, kind of like a weekly game jam.  I would focus mostly on VR I guess but I've considered writing desktop and mobile games as well. Here are some examples of what you might see.

Color blending game:
This is kind of a tech demo. I was trying to figure out a good way to blend paint colors. Through my research I discovered that there are additive and subtractive methods of blending colors. But to blend the way paint blends you need all sorts of crazy math like in this pdf:


 http://gfx.cs.princeton.edu/pubs/Lu_2014_RPC/realpig.pdf

Here's a video of the game that I started to develop to test a simple rgb linear interpolation method of mixing colors:



Beez VR game:
The most ambitious game I'm trying to make is called Beez. I tried to make this in a weekend but I put it down and kept working on it during my spare time. The current iteration has lots of audio and paddles so you can smack the beez and kill them.



I still need to figure out how to turn this into a game or maybe I'll just clean up the graphics and make it into a silly experience for free download.


Wed October 4, 2017
It's already wednesday of my first "official" week of game-a-week and I wasn't sure if I would have anything new to show. But I came up something that looks promising. This is an idea I've had for a very long time. It's based on one of my favorite classic horror films, Scanners. Basically I spent a few hours downloading animations from mixamo and tried to come up with a way to make the heads explode.

Scanners head explosion:




Saturday October 7, 2017
Hi again,
  I'm going to wrap up this post with one last video of my current progress on the psychic head explosion game. I think I'll start a new blog for my weekly game dev posts. The first post will be more focused on this head exploding game and what I learned etc... I made this game for VR and I've been testing it on the GearVR with my Samsung Galaxy S6, but this video is captured on my mac using the mouse to simulate VR gameplay. By the way, all of the animations and the character model were downloaded for free from mixamo.com. Dang, I should have added some original music...



Tuesday, July 11, 2017

Unemployed-ish


Well, I can't sleep so I'm drinking beer and writing a blog post. This is something I plan to do pretty regularly now since I'm more-or-less unemployed.  Well, I mean I quit my full time job of 15 years at Blue Sky Studios so I can make video games.  But I did join a VR startup so I'm not just picking my nose all day...

What have I been up to though? Here's something recent... I woke up one morning and decided to try and replicate the old vector displays via a script and shader in Unity. This is what resulted. I was able to convert a mesh to a lineRenderers and apply a cool shader to the lines. Add a little bloom and it kinda feels right...


On the music front, Jamie and Eric happened to be in town a few weeks ago so we managed to squeeze in one jam session at Astoria Soundworks. I will be posting those mixes sometime real soon...

Thursday, April 20, 2017

Long overdue! - Talent show, video game dev, and bees!

Well, it's been almost a year since my last post. This is because I haven't been very active with music except for maybe the Blue Sky Talent Show which took place in the evening of Nov 16, 2017. So, to keep this blog semi-on-topic here's footage of my one-week-a-year band, The Dead Pigeons.  We had months to prepare for the talent show but I was on hiatus for 6 weeks concentrating on learning game development in Unity3d (more to come). So, I came back after my hiatus and we all got to rehearse for about a week while still trying to do my job. Here's video of the The Dead Pigeons performance:



I also performed in a recorder ensemble and played a saxophone solo. When I get around to digging up that old video footage I'll post them here as well.

So yeah... By the middle of 2016, all of my regular jam buddies had left New York to work out west in sunny California.  I guess what happened was I had all this free time so I decided to start developing video games.  I've been hungrily consuming tutorials and I even attended a weekend VR Bootcamp where I got my body scanned and put into an AR Business Card app. This is me testing it with a Metrocard:


Anyhow, fast-forward to a couple weeks ago, 4/1/2017...  I really wanted to try to do something impossible, which is to make a video game from scratch in one day, or over a weekend...  Earlier in the week I had chatted with a co-worker about a funny game idea involving bumblebees.   The idea would be you're in VR and a swarm of bees is surrounding you and you need to try to keep still and try not to get stung.  An alternate version of this game would involve shooting them with a bazooka or something.

I knew making this game in 1 or 2 days would be impossible since I had never really tried anything like this before, but I just needed to see how far I could get. So this is what happened:

I drank lots of coffee and looked like this for most of the day on Saturday:
10:00AM - 12:00PM 4/1/2017


Yeah, I stayed in my pajamas for most of the day...
And then some time after lunch I had built a bee hive, and a funky looking bee out of sphere primitives and then I taught the bee hive to shit the bees out like this. That's the thirdpersoncontroller standard asset running that is intended to be the target for the bees:

2:17PM 4/1/2017

I realized that the bees were spawning too fast and the rigidbodies were colliding with each other causing them to repel each other resulting in this funny scene.

4:44PM 4/1/2017
So then I tried to make the bees fly using purely rigidbody forces and I got them moving in an almost natural way but they were kind of wobbling around as if someone is pulling them with string.




7:23PM 4/1/2017
 I guess I got bored with writing the bee flying script so I added sounds. This is me going "zzzzz" into my MacBook Air.  I manually looped the audio in the Sound Studio App. The pitch shifting is pretty rough but it was a good start and I felt very encouraged.  My hope is to always remember to add sound as early as possible when prototyping a game. It just brings everything to life don't it? Plus, it's the sound of bees that makes them really scary in my opinion.



Late into the evening I refined the flying and targeting algorithms. I made some audio tweaks and also stabilized the rotation of the bees. One of the rules I gave the bees was not to get within a certain range so some of the bees revolve around the character because their targets are inside the illegal area. This was an accident but it made for some pretty cool behavior.

11:51PM 4/1/2017


The following video that I captured on Monday morning represents my final tweaks that I added on Sunday. I had big plans for Sunday but I was so burnt out from the previous day that I just tweaked the code for a couple hours. For the most part I was trying to get the bees to behave in a particular way that would seem natural and maybe be a little terrifying in VR.  In an attempt to make it feel like a game I made the bees die if they collided 5 times.  As a sort of indication of aggression due to bumping into things I made the bees get larger after every bump. Kind of goofy, but I wanted a quick visual representation of their mental states in a manner of speaking. Maybe they're bees with some pufferfish DNA thrown into the mix? Oh, and after 5 bumps they die and scream. Yeah, that's the infamous "Wilhelm" scream.

7:55AM 4/3/2017


I had plans to make it into a VR game but I'll put this down for now. This was a great learning experience in developing a flying / targeting behavior. I was pretty happy with the sound design for the bees and the pitch shifting that I linked to the bees velocity. I like that I got the bees to be very stable in their flight patterns but now I need to make them go a little more crazy.

Tuesday, July 26, 2016

Fuzz Bucket - "duder Bucket" 5/23/2016


This video was shot at the end of a 2-day jamboree that I was calling Fuzz Camp. What was the occasion for this extended jam you ask? Well, our fearless Judge Fuzz himself, guitar player extraordinaire, head bobbing barefoot pedal stomper, Eric Maurer, was packing his house up and preparing for a move to the west coast, officially ending our 5 year run as Fuzz Bucket. But we've been jamming for a lot longer, since like 2008 or something, 8 or 9 years perhaps... Some of it has been blogged here but almost all of it is archived in a stack of hard drives 2 feet high.  I always joked that we have enough data to keep us remixing our stuff well into retirement, I guess I can get started on that stack now. Oh, boo hoo. Let's talk about this jam.

So, we invited our good friend Brian Dean who brought his Black Magic 4k Production Camera and this fancy lens: Rokinon Cine CV35-C 35mm T1.5 Aspherical Wide Angle Cine Lens with De-Clicked Aperture for Canon EOS DSLR 35-35mm, Fixed-Non-Zoom Lens
He also brought lights and a tripod and a few other amazing things.  Oh, and talent. We have the tools; we have the talent! (what movie is that from?)

After the jam session I wasn't terribly motivated to start working on the next video, I mean, that was our last jam session, man... A few weeks went by and the duder (that's what we call Brian) finally gave me a terabyte drive jam packed with 4K frames, totally filled the sucker up!  So, I had to get on Amazon.com and order some new drives so I could have enough space to start a new video project. Another week went by and I got the drives before hitting the next stumbling block, dealing with 4k footage.

The 4K footage came in 2 forms, a compressed .mov file and the original 4K images.  I started editing with the compressed videos but Brian complained about the gamma or some shit so I started experimenting with importing a 4K image sequence into Final Cut Pro X on my little MacBook Air.  Damn, that took all night and part of the next day just to transcode, and it barely played at all so I had to write out my own compressed video just so I could edit.  The new footage did end up looking nicer and I was able to crop it to full screen like the GoPro footage.  But for some damn reason I had issues with sync.  The 4k footage drifts ever so slightly.  I shouldn't have told you because now that's all you're gonna see. You can't unsee the drift!

So, this jam was pretty cool but I've listened to it so many times I'd like to rip my ears off every time.  The parts that annoy me the most are the repetitive bass lick (I've heard it way too many times, I can't take it anymore!) and some of the weak sax lines (they're just terrible).  My favorite bit is from 1:43 to about 2:05 when we just let loose. Pretty cool stuff.  That's when I think the improvisational nature of our jams really pays off.

But most kudos go to Brian for the beautiful shots of us.  This is by far the best we have ever looked in our basement jam videos.  Check out his blog here: http://www.brianpdean.com/ and send him money because he recently quit his job to pursue his dreams and apparently to play a game called Un-sharted? Something like that. Maybe he blogged about it. Check out his blog, bro!

Thursday, April 21, 2016

Fuzz Bucket - "Make It Stop!" 3/18/2016

This jam session which was from March 18, 2016 (I got the titles wrong on the video) was pretty special.  For starters, Jamie was in town for the weekend so we had our full lineup.  I had the 4 gopros and my vsn mobil v.360 camera so there was plenty of footage to cut an interesting video.  Since this was at Astoria Soundworks and not in Eric's basement we recorded on Eric's and my Edirol recorders, 2 4-track recorders linked  so we could get 8 tracks sync'd, which is just about right.  I'm not so impressed with the 360 footage but at least you can see the whole room in the one view.  By the way, you wouldn't believe what a pain in the butt it is to stitch that footage together. I'll have to write up a whole blog post about it.

Anyway, I'm not a fan of long jam sessions because they run out of steam pretty fast, but maybe it's just this idea I have of the short attention span of the average consumer of Internet things.  Because in reality, whenever I've worked on this video it usually went by pretty fast.  In my head it feels like a 6 minute jam but when I look at the counter I'm pretty surprised to see that it's about 10 minutes long.

So, when you listen to this try to imagine the 2 or 3 times that I was trying to steer the jam session toward a winding down sort of ending.  I tried as much as possible to use cues to wrap things up but unfortunately it's very difficult to communicate when you're playing sax.  I guess I could have stopped playing for a second but I've ruined jams that way.  So, all I can do is express myself with my eyebrows and by what I'm playing...  I think my frustration helped me lose myself a bit toward the end and play a little more playfully which I think produced some really cool stuff.

But... Ultimately what impressed me the most was the cool little lick I came up with, or is it a riff?  It's a very simple 5 note repeated phrase that once I heard myself play it once I couldn't stop trying to revisit it from time to time.  Basically, (I don't know what key I'm playing so I'll describe it in A minor since it can be expressed without sharps or flats) it is something like E C, E C, G ... E C, E C, G... Just so cool that it ends on the leading tone.  Which, now that I think of it, makes up basically a minor 7th chord.  Sorry, I'm doing all this in my head and I'm too lazy to run to a guitar or keyboard to confirm my music theory...

So, now that I feel foolish and it's way past my bedtime, I think this post is way overdue.  I might have to revisit this track later to analyze it some more...

Here's the video:




or if you just want the audio here it is on soundcloud:


Tuesday, March 29, 2016

The Dead Pigeons at Blue Sky Studios 12/2015

This past December some friends of mine organized another talent show at Blue Sky Studios.  I have been a performer in six talent shows and each year I seem to be more involved than the last.  This past year I played in two acts.  One was a solo on soprano saxophone and the second was with The Dead Pigeons.

We call ourselves The Dead Pigeons, we have custom t-shirts, and I swear we convinced ourselves that we were a real band.  Well, *I* convinced *myself*.  We even made up special pigeon names for each member of the band.  We were only together for two weeks but I think of them as family.  I know it sounds corny but when you perform with a group and have this much fun, things tend to get corny.  Well, I didn't want thing to end after the talent show so I decided to try to get the band together to shoot some "interview" footage for a fake documentary I would be making.  So we got drunk on some christmas vodka, commandeered an empty office and kept the camera rolling for an hour (or maybe two).  Some of that good stuff ended up in the end credits of this video.

I really loved editing this video and I love watching it.  The end credits sequence cracks me up every time.  Oh yeah, the songs... We played Crash by The Primitives and Government Center by The Modern Lovers.  We also snuck in some Linus and Lucy in the middle of Government Center.  A nice little mini set. I played a Hello Kitty guitar on Crash and then I played bass for Government Center and Linus and Lucy.

Since I tend to expose the "nuts and bolts" of the things I'm working on, I should admit to tampering with the audio track to improve the multimedia experience.  When KT, a.k.a. Jowls, was setting up the bass rig he accidentally dialed the level knob on the overdrive pedal down a few notches so the bass track was pretty difficult to hear on stage and in the video.  (You can see KT checking the cable and volume knob during Crash.)  So, I cheated it by overdubbing the bass track from the comfort of my living room.  I think it sounds freaking awesome, but that's just my opinion.

It's funny how our rehearsal progressed from one song, Crash, to two, to two and a half but practically three songs as we kept on building up the second song which turned out to be a whole coordinated performance. So, in a way, the first song was like a warmup or appetizer for the main event which was Government Center / Linus and Lucy.

I think there was some magic in the performance of Government Center and Linus and Lucy. (here comes a long run-on sentence...)  For starters, during the switch between songs where I grab the bass from KT, Josh (guitarist), starts playing the whistling song from Disney's Robin Hood, then KT came up with this cool intro and the drums kick in, and the song just keeps building and building to the chorus where Karyn and Cortney sing and then the song comes to a stop which creates all this great tension, which KT milks perfectly and we all come back in (rather sloppily but awesomely), but then the song sounds like it's about to end and we go into the Linus and Lucy bit (which just happened to be in the same key), then comes a false ending with a short applause break and Bryan counts us in for the big ending. Woohoo!

Here's the video!

Echoes of Change by Sinba

In a previous post, I think it was titled "face melting guitar solo" or something like that, I posted this track, Hologram of Childhood, by a co-worker of mine named Sinba. It's a cool track with a mixture of influences and a face-melting guitar solo played by yours truly. Here it is in case you missed it:



More recently Sinba heard one of my video clips where I was practicing on the soprano saxophone. So, he came up with an idea to write a new piece of music featuring my sax playing. So here it is! It was a challenge for me to work outside of my comfort zone of free improvisation but I'm quite happy with the results.  It was also my first studio recording of saxophone.  A lot of the credit goes to Sinba for his editing which combined the best parts of my many takes into one. He also got me to play some bluesy guitar on this one as well.