Joining Unity Labs; moving to San Francisco!

Hello, Friends! Time for a big life announcement: I’ve taken a job with Unity, where I’ll be working on their VR editor! This is a huge step for me professionally, and also a huge personal shift, since it means I’ll be moving to San Francisco in a couple weeks, after 17 years in the Boston area.

Professionally, this is a dream job: it’s a team of rockstars, building the tools that will define how virtual worlds are built, not just by professional developers, but by anyone. We all see virtual and augmented reality as the ultimate medium for creativity (and future of everything), both because of its limitless nature, and because of how natural the creative process is when it’s not being jammed onto a screen and mouse.
Here’s the latest video and demo they’ve put out on the Labs projects.


I’ve been working on Archean, my “make VR inside VR” project, over the course of the last 18 months, which is what led directly to this opportunity. My plan is to release Archean on Steam essentially as-is, and to continue development on the side, specifically through a series of game jams, as I described in my last post. I’m looking forward to approaching it more as a designer than as a programmer, and focusing on the “what you do with it” question more than the “what the tools are” side I’ve been so steeped in.

Personally, of course, moving to San Francisco is a huge shift. I’ve been in Boston for almost my entire life, and my Mom, many of my closest friends, and most of my professional life are all here. Boston will always feel like home, and I bet I’ll end up here in the long term. But I’m not too worried about staying in touch — I know that everyone is just a phone call / video hangout / holographic cyberspace chill away. And, in the next couple weeks till I actually leave Boston, let’s chill 🙂

I don’t want to say too much on her behalf, but if you’re wondering: my better half is coming too! We’ve been eagerly looking forward to moving in and starting the next chapter together, especially for the last year since she came back from Japan. Finally, the right opportunity has come up, and we’re so happy to be taking it together.

I’m insanely excited to be taking this step (all these steps), and I can’t wait to get started. The future’s gonna be a wild, fast ride, and we haven’t seen anything yet 🙂

Next up for Archean

This post is about my VR worldbuilding project, Archean.  It’s on my personal blog because I’m not quite ready to make this super-official, as I’m still gathering feedback (let me know what you think!), and looking forward to discussing it with other devs at Vision Summit next week.  But, a number of friends have reached out (thank you!) asking for my reactions to the Unreal VR editor news and what it means for Archean, so I wanted to put something up… and here we are!

On Unreal VR, and Kickstarter

In short, while it was great to see it, Unreal’s VR editor wasn’t a surprise: they and Unity have talked openly about native VR editor support for a while.  Its reveal hasn’t changed where I’m going with the project, and I’ll lay out the next steps for Archean in a bit.  

What the Unreal announcement has changed is my optimism about doing a Kickstarter right now.  If you know this project and/or me, you probably know that I’ve been talking about doing a Kickstarter for ages.  Long story short, I very much wish I had gotten it wrapped up and out the door late last year, but at this point feel that the timing is wrong, and that Archean in its current form is too much like Unreal and Unity’s VR editors to get potential backers really excited.  I may yet do a crowdfunding campaign in the future, to build a team and deliver a large-scale, super-polished “Archean v2”, but this isn’t the moment for that.  So of course I’ve been feeling pretty down, as I’ve put a lot of time and energy into a number of iterations of the Kickstarter, but I’m keeping optimistic, moving forward, and am extremely excited to put all that time and energy into what comes next for Archean!

With those out of the way… my favorite subject: The Future!

With the recent work I’ve been doing on the logic-building tools (which I was going to put out an update on, the day Unreal showed their editor), I’ve been preparing to launch into a new chapter for the project, which I’m super excited about: actually dogfooding Archean, by building a series of small games on top of and using Archean!

For the next couple months, I plan to release a new VR mini-game, built with Archean, each week.  Each will either feature Archean’s worldbuilding tools as the game’s level editor, or worldbuilding as an actual gameplay mechanic.  The plan is that each of these games can both stand on their own, and will also improve and refine Archean as a whole.  

Another aim of these games is further cross-platform support: each game will focus on a different platform.  One week will be a game designed for Gear VR, the next, a Vive game, etc.

Each of these will be released as standalone games (again, each containing the Archean toolset as its level editor, or as part of the gameplay), and Archean itself will also be released as a standalone creation app, for the Vive, Rift, Gear, Cardboard, Tango, and non-VR mobile & PC.  

I’ll be at the Vision Summit next week, and sticking around LA for the week visiting family, but will hit the ground running on this plan when I return in the middle of February.  

As I mentioned at first, this thought process is in-progress, and not yet official.  Please let me know what you think!

Reflecting on summer; big things extremely effing nigh.

Ah, keeping a blog active… never a strong suit of mine.  But, I thought I’d take a few moments to update anyone who stops by my corner of the Internet.

Reflecting on a busy summer, gone too soon…

Mostly heavy-hearted, I returned from Japan at the very end of May, having spent the whole first half of the year living there with Hanna (my girlfriend), who’s on a contract working for an English school, and NHK, the huge BBC-style public broadcasting organization of that country.  If you’re wondering, there’s no hidden bad news here; I couldn’t stay any longer without getting a work visa (which I considered).  Living there (again and for real this time) was an incredible experience that I still haven’t taken the time to really document and share, partially out of busy-ness, and partially out of attempted modesty: I’m very grateful to have the crazy opportunity to jaunt off to Japan for significant chunks of time, and do my best not to rub it in peoples’ faces.  But at some point when I’m feeling calm and have no big deadlines looming (hah!) I’ll get some of my favorite photos and moments together for anyone interested.

Anyway, I got back to the States and went literally straight from the airport to the Boston VR Bender, a VR game jam put on by Owlchemy Labs, Boston VR, Valve, and Unity.  It was nuts, and I’m very proud of my jetlag-conquering abilities (stay up all night, get on a noon flight, sleep for 12 hours, arrive at exactly the same time the plane took off (time (zone) travel is weeeird), wake up in East Coast Time!).  I worked with Danger Donaghey (of Defective Studios), Iain Barrett-Byrnes, and Michael Schenck on a little flocking AI / time-freezing project, and had a great (if not a little stressful) time doing that, and experiencing Valve’s VR hardware.

The biggest chunk of the summer went to teaching Unity (my curriculum) and Maya classes at Digital Media Academy, in Los Angeles and Cambridge, which was a total blast.  One of the Unity classes in particular was a real joy to teach, full of bright and hungry young people.  I continue to wonder how teaching fits into the life plan.  On one hand, it takes a lot of time and energy away from my Defective work.  On the other hand, when it’s good, it’s great, and has been increasingly fulfilling.  I’ve been talking with DMA about designing some very interesting classes this year, so we’ll see where that goes.

There’s also been a new website contract project on Defective’s plate, giving me the opportunity to brush up again on my CSS and JQuery skills.  Good to keep those somewhat updated, even if that’s not my bread and butter.

And somewhere in the midst of all this stuff, despite the long quiet on the Defective devblog, I’m happy to say that I’ve been working on two new games, one for VR (ie Oculus Rift) code-acronymed “VRMT,” and the other for touchscreens (watch / phone / tablet), codenamed “SSSC.”   Which bring me to….

Jumping into an even busier fall

In less than a week, I’ll be debuting VRMT at the Boston Festival of Indie Games.   Only a few days after that show, the demo and I are off to Los Angeles for Oculus Connect, their first developer conference, for which I’m obviously quaking with excitement.  I’m not gonna say too much about VRMT for now, other than that anybody who knows me and what I’m into making won’t be too shocked — it feels in a lot of ways like the culmination and distillation of a lot of the ideas I’ve been working on since founding Defective (and holy crap that’s been five years…). It’s very early right now, and it’ll be a sneak-peak that I show at FIG and Connect, but I’m extremely excited about this project, and think that it’s the container in which many of my long-time goals will come to fruition.  Not to hype it too hard or anything 🙂

And whenever there’s downtime on VRMT, or an abundance of help, I’ll be finishing up the touchscreen project, SSSC, and getting that out to the world.  Again, I won’t say much for now, but I love playing it, and most people who’ve tested the early iterations have been between mildly and fully obsessed with it, so I’m feeling very optimistic about its eventual (sooner than later) release.  Especially on smartwatches, which I’ve been holding my breath for, for I don’t even know how long, and am really ready to start working with.

And just to be clear, CosmoKnots hasn’t seen an update in a while, but that’s set to change soon.  VRMT is actually, in my scheme, a huge component of the next steps of CosmoKnots.


I feel that “it”, the elusive goal-cloud to which I’ve dedicated myself for as long as I can remember, is extremely fucking nigh.

Write really good passwords; avoid the collective security freakout

With the Internet collectively freaking out about the Heartbleed bug (a major Internet-wide security hole that could mean various passwords (and other information) have been nabbed off of “secure” servers) this week, I though I’d share a password system I use to have a unique password per site / account that I can easily remember:

  1. Pick a base.  This is what most people think of as their one password to use for everything.  Say mine’s “dogemanguy”.
  2. Make it better.  You should include numbers, symbols, and upper case letters in your password, and not use dictionary words.  So my “dogemanguy” password can become “D0g3M4nG0i!!” (those 0’s are zero’s, not an upper-case o’s).  This password should pretty much max out any “how good’s your password?” test.
  3. The important part — mix it up per site.  So here’s the trick I’m talking about, and why I’m personally not worried about the Heartbleed bug.  Take the name of the site you’re creating the password for, and intersperse the letters of that name into your base from step 2.  So if my step 2 base is “D0g3M4nGoi!!” and I’m making a password for “Facebook”, I would take the first letter of each, then the second letter of each, and so on, and get “DF0agc3eMb4onoGkoi!!”  Again, that’s comprised of every other letter of each, like so: “DF0agc3eMb4onoGk0i!!” and “DF0agc3eMb4onoGk0i!!”
  4. One step further: Don’t literally use the site name.  The big shortcoming of step 3 is that, if someone gets your (for example) Facebook password and notices the phrase “Facebook” sprawled throughout it, they could figure out the system and guess that you might have “Gmail” sprawled through that service’s password (especially if this method becomes more common).  One solution here is to have a system where you keep a list of matches, like “Facebook -> Mom’s maiden name,” and then you use that matched term as the phrase you’re interspersing into your base password, rather than literally “Facebook” (or whichever site name).  The big important note if you’re going to keep a master list somewhere is to never ever write down your passwords ever, or even parts of them.  The point of this whole system is that your brain is the cipher and only you should be able to untangle the mess of your new passwords.  That’s why I write “Mom’s maiden name” rather than (for example) “TheAwesome”.  So if I forgot my Facebook password, I would look at my matches list, see that Facebook is matched with mom’s maiden name, know in my brain that it’s “TheAwesome”, and end up with the final, ridiculous, and ridiculously secure password “DT0hgeeAMw4ensGo0mie!!” (“DT0hgeeAMw4ensGo0mie!!” + “DT0hgeeAMw4ensGo0mie!!”

You end up with a password that you can “easily” remember or reconstruct using these rules, looks like total gibberish, is likely completely unique in this website’s passwords database (protecting you from hacker methods like using a Rainbow Table to reverse-engineer your password if it’s based on common words), and moreover is completely unique in your password repertoire, so if somebody gets your Facebook password, they only have your Facebook password.  Much better than using one password for everything.

This solution comes down firmly (but not absurdly so) on the security side of the security-vs-convenience spectrum.  Yes, it’s a lot more complicated than just having a single easy to remember word that you use as your password for every site, but it’s also much, much more secure.  At the end of the day, especially this week, I’m very happy to be on the secure side of the spectrum.

Hired Project: Unity course curriculum

Another marathon work session last night saw me putting the finishing touches on a one-week (40-hour) course on desktop and mobile game programming and level design in Unity I’ve created for Digital Media Academy, a summer program for middle & high school students.  The course will be taught at 10 locations this summer, with me teaching at one or two of them.  This is actually an update / upgrade to a curriculum I first wrote for them last year in which, in a nutshell, students use a library of modular level pieces to design whatever sort of interior/exterior level they want, and we script a very flexible Minecraft-redstone-inspired action sender and receiver framework to stitch together all the interactivity in the levels.  I’m actually really fond of that action sender and receiver system and the method has begun to work its way into CosmoKnots and my other projects.  Last year’s version of this curriculum had a first person walker character controller, and this year I’ve added a rolling ball character controller, and students can select which they want to use in the game (or per level).  There’re still plenty of improvements that could be made (always, always), but for the time being, the project is done and I’m feeling plenty happy about it.

I’m still not sure where teaching fits into my life scheme, but I’ve enjoyed teaching programming and digital media skills to kids for at least 12 years now (I’ve totally lost count).  I’ve always wanted to do online tutorials and such, and I’m looking forward to doing more of that on the Defective devblog and elsewhere.  If I’m lucky maybe DMA will even feel like letting me publish some of my video demos and lectures from this course 🙂

New Song: Cherry Blossom Bosoms, pt. 2

Long ago, I posted just the first portion of this song, promising that I’d upload “part 2” (aka “the rest of it”) shortly.  At that time I had already finished (maybe 98%, I don’t remember exactly) this version, and just needed to get a good recording.  And then much time passed.  At long, long last, the day before moving (for a while) to Japan (more on this soon), I finally got this recording…. and that was four months ago.  Today, cleaning up some files, I came back across it.  Woops!  So, here’s that long-promised-long-misplaced recording:

I described in the first post that part 1 was written without a piano, just in Finale, which was a new and challenging approach for me.  After learning to actually play the piece on piano (the majority of the challenge of that approach), I expanded upon it in my more typical zone, just jamming around on the instrument, and the result is what you hear above.   Actually at a few small moments in working on this new version, I went back into Finale to really figure out tough passages, so I’m very happy to have added that implement to my musical toolchest, where earlier in my writing I would’ve just ended up going with something I was more comfortable playing off the bat.  All in all, I’m really happy with how this piece came out.

There might be a part 3 in the future.  The plan from the get-go was to write part 1 in Finale, learn to play it, write part 2 with the normal jam-approach, which brings us to now, and then to transcribe part 2 and expand on that, back in Finale, into part 3.  So maybe that’ll happen sometime soonish… but no promises 😉

Gimbal Cop news! Trailer, site and devblog updates

I spent the last week working up a new (debut) gameplay trailer for Gimbal Cop, introducing the Snake gameplay mode (which has been a big game design focus of mine for much of the last year) and Oculus Rift virtual reality support. Here it is:

I made this trailer in After Effects, which is a program I’ve used very little, but have a lot of fun with when I do use it.  The first big chapter of digital media-making in my life was Macromedia (and then Adobe) Flash, and in a lot of ways animating and editing in After Effects feels like coming home, back to my layers-and-keyframe roots.

The only other project I’ve done in After Effects was a demo reel from my 3D artist days, and I geeked out hard about nested compositions in AE on that project: it’s a feature / pattern I wish more programs employed.  This time around, I picked up some new tricks; including using a null object to make animating position, scale, etc of multiple layers easy, without using nested compositions; masks, though I had a hard time figuring out exactly how to do what I was looking for, which was really frustrating since masks are the pivot point of my Photoshop workflow; and a handful of simple little keyframe tricks and shortcuts from this site.

This trailer is the keystone in a media push to bring Defective out of our long shadow period (we haven’t put up any new screenshots, videos, or real blog posts in over a year!). There are new screenshots of the game at its site, and I also wrote up two devblog posts: one retrospective about the last year, and one about where we are now.

New Song: Cherry Blossom Bosoms (pt 1)

Here’s the first movement of a new piano piece I’m working on, Cherry Blossom Bosoms.  This piece represents a very different approach to music-making for me: I wrote  it as sheet music (Finale) first, and then learned to play it from that score.  I feel that this method made Cherry Blossom Bosoms come out of my musical box at least a bit — when I sit down at a piano, I generally play the same kind of pianoy stuff, because that’s what my fingers know how to play (I don’t have formal training, and piano isn’t my primary instrument; I mainly learned by transcribing some of my guitar pieces, reading a little bit of sheet music, and jamming around from there).  It also made me improve, at least a bit, at piano: I previously hadn’t written any pieces with very different rhythms for each hand, and it took a lot of practice to be able to play the piece comfortably. The method also came as a matter of necessity: I wrote the piece in January 2013, when living in Japan with my girlfriend, where I had no musical instruments, just my laptop.  That was very much an intentional situation, as I was curious to try “pure composition” (and not ship anything to Japan), and I’m very happy with the result.

Without further ado, here’s the audio:
And the sheet music, in its original Finale format, and as a jpg:

Please feel free to reproduce, perform, arrange, alter, etc this piece, but send some credit this way 🙂

I have just about finished the second movement (/revision) as well, that’ll be here real soon.

Ahoy! It’s a blog!

Allo, and welcome to the Jono corner of the Internets!  I’m trying a new thing here, just a blogspace for absolutely anything that comes to mind: music, photos, games, thoughts, life, so on.  But I’m getting ahead of myself.  I’m Jono, co-director of Defective Studios, a small independent game company where  I spend most of my time programming, mainly on our first big indie release Gimbal Cop, and also doing game design and some art.  So this blog will mostly not be about that.  This is a space I’ve been hankering for for a bit, where I can express anything else.  When I’m not working on Defective stuff (or hanging with people, or by my lonesome, an important part of any secret introvert’s life), I also make music on guitar and piano, take photos, and write longwinded idea-rants.  So look forward to that.  I’ve tried the blog thing before, and fell into my constant trap of sucking at keeping up at things, so I’m gonna take it slow, not make a big deal of it, and put up whatever I feel like.  I hope you, the hypothetical reader-listener-watcher (if you build it, they will come??), enjoy.