Oculus Launch Pad Dev Week 10

Wha, what day is it? Welp I went in a hole for a week and this is what I came out with.

I have to say, I wanted every day of the launchpad sesh to be like this week, but I’m still super grateful to get this kind of time to myself. It’s so nice to dive in, focus and learn, and it really is a luxury that few people have.

Since we only had a couple of weeks and change left to apply, I decided to devote one week to learning a lot of the technical skills I didn’t have and using the second week to build a decent demo based on what I’d learned. No idea what’s happening this week, but last week I felt pretty kickass.*

*save for the crippling anxiety about how behind I am and yada yada

I pretty much followed a schedule, every day working on a new aspect of 3D asset creation. I hit a snag on Thursday when my rig broke and i had no idea why. Then I built a new one that had even worse problems. It was very suck –  but I did learn about weight painting, what to do when rando vertices are giving you trouble, aaaand how to rig a quadraped with inverse kinematics. Stressful at times, but super fun.

Oh, and UV mapping which I only learned enough about to realize it’s a real pain. Painting textures was neat, even though I ended up liking the aesthetic of using photo textures. It’s something I picked up for a game I made called “I’m So Glad You Came” – I like to use super enlarged photos of relevant imagery to paint my drawings. In this case, the pig is textured with a distorted image of pig intestines. It’s gross and I love it. I also like the aesthetic with a low poly model, as it kind of feels like origami.

So this week I’ll be focusing less on learning and more on building out an experience. I’ve got some asset creation to do and some coding, plus I’ve got to take a break to apply to an art residency…so it’s not gonna be pretty, but, eh, I’ll sleep in September.

Y’know, for all the stress, doubt and hardship I dealt with, I’ve already gained so much from this experience. I didn’t know anything about VR a few months ago, had never made a 3D game, had no clue about modeling, using Maya, Blender, had no concept of the workflow much less thought I’d be able to do it all myself. It’s really…exciting :)

Alright, I’m still here, I’m still going. But right now I’m going to collapse in an heap on the bed…..ZZzzzzz

Oculus Launch Pad Dev Week 9

Part I : Recap

Aaaaaand back at my computer. Pro tip: Don’t try to post anything to the Oculus forums from your phone, in my case, it will cut off anything beyond the first line break.

So, we’ve got 17 days and I’m loathe to write yet another incredibly long update since the last one just vanished into the aether, but I’m also verbose so we’ll see how this plays out

I just got done teaching game design for 2 weeks, and despite by aspirations, I wasn’t able to work on Oculus stuff at all. Each work day was basically 12 hours minimum and I would come home and collapse. I actually just got my teacher evaluations and I think something one of the students said really applies “Spent too much time on theory and all the work felt like it was rushed at the end.” What they don’t know is my program screwed up and didn’t order my supplies so I didn’t have any fabrication tools until halfway through – but still an astute criticism.

I do spend a lot of time on theory. It’s part of why I like teaching, and teaching a studio course in particular; I’m a much better director than creator. I’m insightful, critical, can generate many ideas and problem solve quickly, and I have a good eye. I really only make stuff because I have to. That I can draw or paint is really more about the fact that I have vision than skill. I know what looks bad, I know what feels bad, and I will keep working until my stuff meets my standards.

Similar to the situation in my class, where I’ve got to rely on theory because I don’t have what I need to make stuff, I have had to take meetings and jobs and things in order to be able to work on this Oculus project. I was homeless before the bootcamp, my mom and siblings became homeless shortly after, so it’s been a real struggle trying to get into a stable space, physically and mentally in order to be productive. I’ve found myself in this constant catch-22, I need money so i can work on Oculus, but in order to get money I can’t work on Oculus. It’s fairly ridiculous considering I only got a room so I’d be able to focus on this project. Oh well, no use harping on it. I only have 17 days left but they’re all mine; I can shut off my phone and not answer email ’cause my only obligation is to myself.

Speaking of which, I’m off Facebook. My whole feed was just black people dying day after day and the numerous discussions about that and I just couldn’t deal. Sorry to miss all the great stuff in the Launch Pad group but sanity is important.

Part II : Here and Now

Rather than spinning my wheels in an anxious fury, as I am wont to do, I’m just going through each day slowly and methodically. I have a concept, and if it were just about execution I wouldn’t be stressed. Manual labor takes time, but it’s easy to calculate and make adjustments. Mental labor, learning, thinking that stuff is what really slows the process down and I still have much to learn.

So now what I’m doing is dedicating a full day to each lesson, I spend the first half watching tutorials and learning a process, and the second half executing what I learned.

Monday was level design and setting up a scene. I looked at some techniques for building the kind of atmosphere I wanted, collected some reference images, did some sketches, then collected 3D models that would serve as good visual placeholders.

I played around with PixelSquid in Photoshop which is a neat little bit of software that allows you to work with flat 3D images. Which is to say, it’s a flat image, but it can be rotated to every angle. I’m guessing they’re using some kind of photogrammetry but maybe not. It’s cool, I think it’s particularly useful for concept art and I’m thinking it will be a way for me to basically set up a digital still life that I can trace over or reference when I’m making my own assets.

Oh, and I also got my video in the scene and built to the Gear – last time I was having trouble getting video to work on Android – problem solved.

Tuesday was texturing 3D models. I had tried this before but didn’t really understand the concept, or why the pig I painted in Maya turned out all weird and streaky. Now I have a better understanding of all my options, but I’m a little behind (as in, I don’t have a completely textured model) so I’ll be painting a model as soon as I’m done with this post.

I also learned more about shaders and what my options are going to be. Not totally sure how I’m going to handle this limitation, but it’s super important to at be aware of as I start making my own textures.

Wednesday (that’s today!) I’ve got to learn to rig a model.

and Thursday I’m scheduled to learn to animate that rig. That’s about as far ahead of myself as I’m willing to get. And of course while I’m occupied learning, my mind is continuing to work on the concept and figure out how to scale it based on time constraints.

I’ll keep posting here regularly to let folks know how it goes. I’ll add photo and video as it makes sense. I don’t want to take too much time from actually making the project to document the process — but I know walls of text are no fun.

Oculus Launch Pad Dev Week 7

Alright, this has been a week of technical difficulties, which is fine, that’s how you know you’re making stuff!

Basically I’ve been trying to mock up a room prototype that is *exceedingly* simple by design, and still issues. Right this moment Unity is, well, nope, looks like Unity is actually frozen…sigh. Anyway, lemme just tell you where I’m at since I can’t actually show it.

After a lot of fussing over what I was going to make, and a lot of anxiety about feeling like every project idea was sort of shoehorning traditional game mechanics into VR space, I started to really think about what kinds of experiences make sense in an immersive environment with a fixed rotation.

I kept thinking that gamemakers have an advantage in VR because we are used to designing for a 3D environment, where the user has agency over the viewport. However, we’re also used to the player actually being able to move around, rather than having their feet glued to one spot. It’s a hard limitation to overcome mentally, but trying to to force that kind of mobility into the Gear just feels clumsy and inelegant to me.

Hold that thought because the EasyMovieTexture developer just emailed me back with a bunch of new files so video textures will work in the Gear and the build just finished and IT WORKS SWEET BABY JESUS THANK THANK YOU THANK YOU THANK YOU.

Ahem, as I was saying. No really, I spent 3 days trying to get that to work and I did not expect anything to come from an email address I found on an untranslated Korean website to work but ASK AND YOU SHALL RECEIVE. Receive sweet sweet code that makes your dreams a reality. Still gotta test it in my project but this looks promising for Monday’s prototype!

So anyway, designing experiences around a fixed-axis rotation. This was my inspiration:

Those garden sprinklers we’d run through in the summer, security cameras, swivel chairs, that one scene from The Martian where he sets up the hexadecimal system to communicate…I’m thinking surveillance, communication, ways to extend your senses and collect information beyond your physical position, monitors as extra eyes. Boom, I know a game like this, it’s Five Nights at Freddy’s.

fivenightsatfreddysguide1fivenightsatfreddysguide2

I’m not the first person to notice this game would be amazing in VR, and I wonder why there aren’t more games at least using it as a model. The interface, the atmosphere and the simple gameplay loop are perfect for the Gear. I can’t say I know much about CPU and GPU processing at the moment, but it does seem like these pre-rendered animations and static images would also be pretty cost-effective resource wise.

Another thing is that even though it’s played with a controller/keyboard, that additional peripheral can be totally eliminated. Did I mention how much I dislike the idea of requiring a controller for a Gear experience? It makes sense for the HTC Vive, where you can effectively see your hands and other things in the environment. It’s even er, *somewhat* passable with the wired versions of the Oculus, where you can never wander too far from a desk. But for the Gear? No. Just imagining the flow from putting on a headset where you can’t see anything, and having to hand a user a controller, or worse, them having to feel around for it – honestly just thinking about it irritates me. Controllers only if absolutely necessary, but best avoided in my mind.

So what does this all mean for me? Well, personally I think this is the way to go in creating any kind of Gear experience at the moment. I’m mocking up a simple room using the elements 0f FNaF as a model and seeing where I get from there. Skinning and narrative design, even art direction is my strength. I can craft a compelling theme around a set of parts, so I’m gonna build out this prototype, see if it feels right, then see what kinds of experiences arise. Starting with updating these movie texture scripts… :)

Oculus Launch Pad Dev Week 6

Oof. A few days late. It has been a long week. I’ll upload another video post at my regularly scheduled Thursday.

This week a few things happened:

  1. Had an interview with a VR startup that went pretty well. I got to check out a demo and then have an extensive conversation where I launched into a critical analysis of everything I thought the project was lacking and how I would approach it differently. That’s how interviews are supposed to work, right? You tell folks they need a producer an creative director and then they hire you do to those things, right? Well, they’ve scheduled a follow up so we’ll see what happens.
  2. Met with a collective working on um well I don’t know if I’m allowed to talk about it so let’s just say Really Cool Stuff with GearVR. Uhhh, yeah, super super good conversations and ridiculous tech that really opens up the door for all kinds of possibilities, the specifics of which I’ve been invited to come up with. Thoughts are still marinating but I’m thinking about site-specific performance as well as potential activist applications.
  3. I also casually stumbled into a rather serendipitous meeting with a business and marketing advisor who wants to work with me to launch one of my previous projects. We spoke a lot about what my short and long term goals are, and what I’ll need in terms of building a creative ecosystem with VRGN. Gonna hold off on that to focus  on Launch Pad, but definitely excited for what’s on the horizon.
  4. I made a pig! It’s grey and sad and its back leg is a little wonky, but it’s mine. I need to figure out some techniques for painting it, whether that’s a texture atlas or a UV map or something else entirely. I called a good friend of mine who is a phenomenal artist and she gave me somewhat of an overview so I could understand my options.

    5. I came up with a solid project idea that could incorporate all the things I’d learned or made. Wrote it out. Started sketching, had a random, unrelated thought that I promptly forgot about. While talking out the project with a friend I realized the random thought was actually the Golden Ticket I’ve been looking for. Promptly abandoned all other ideas…and I’ll talk about this more in my next video update.

Where I’m at now:

I have a much clearer idea of what I want to make and what to work on, although I have half as much time to make anything as when I started. On one hand, six weeks isn’t a lot of time, on another, I’ve been in game jams where we churned out solid projects, and definitely solid demos in 3 days. I’m better at working under pressure with a clear goal than having a lot of time and being uncertain of the outcome – I think I can do it.

Goals for Week 7

  1. Mock up the level design in Unity.
    1. Include all mechanic dependent elements
    2. Make sure the the camera is placed correctly and working in Gear.
  2. Texture the pig.
  3. Collect reference images for the feel and visual tone of the game.
  4. Code and implement a timed event system
  5. Code and implement button press action(s)

Lastly, I think I’m going to ramp up my journal entries closer to daily. We have a short deadline and now that I have some specific goals I think it will help me squeeze the most out of these short days.

By the end of the month I want an ugly but fully playable demo with all the mechanics in effect. Finish the room and the code. Finish the room. Finish the code.

I got this.

 

Oculus Launchpad Dev Week 5

It’s a really sad day to be a black person in America today, as it was yesterday, as it will be tomorrow.  Philando Castile is on my mind; I can’t stop hearing the voice of his daughter trying to comfort her mother after she watched the life drain out of him.

Onward. The only thing I can do.

Last week I returned from an intense but good trip back east visiting my family. I ended up bringing the flu back to LA and I had to move, so that was fun. I stressed about getting work done and a post up for week 4 but, the reality is sometimes shit happens and sometimes you gotta do your best and take a rest.

Welp, now I’m mostly moved in. Got a bed, picked up a desk today, gonna set up my computer tonight. Mostly over the flu, went for a quick run yesterday and feeling pretty good (and sore!). I’m in a pretty good place though and think it’ll be a good space to focus.

As far as work goes, I’m super stressed feeling really behind. On the flipside, I’d feel that way no matter where I was at. I know some folks are just getting started, coming up with ideas, only just got their hardware etc so I’m trying to temper my anxiety and just push forward.

Yesterday I made a shrink ray which is pretty fun. I wrote before about taking a modular approach to design so I’m still working in that fashion. There’s a lot you can do with limited functionality if you think outside the box. I’ve been wanting to make a game about street harassment – what if I make a project where you respond to harassment by giving offenders micropenises? :D Or if we wanna get topical how ’bout giving Trump tiny little hands? We’ll see…

Anyway, I gotta make up for lost time. Gotta grind this week. Gotta move forward. It’s what I can do. Onward.

Oculus Launchpad Dev Week 3

Pretty slow week since I’m out of town, but got a few things going. I hadn’t done any coding for a couple of weeks and it feels good to get back at it. I’m keeping things simple and modular for now. I’d like to have a dozen or so bits of functionality that I can mix and match down the road.

Rather than start a new scene to demonstrate each script, I’m just throwing things into one environment. It’s a fairly messy way to work, but it suits me and allows me to better visualize how different components can work together.

I was thinking it might be neat to interact with the world using your laser eyes; who doesn’t want to be Cyclops? The obvious choice is to destroy things but I’m also playing around with changing colors, morphing objects, resizing and other non-destructive/violent functionality. Nothing against good old-fashioned violence, just giving myself options :D

Anywho, I’m with family for another week then back to LA just in time to move out of my car and into an actual apartment. I’m a little stressed about costs but I need the stability in order to focus my energy on this Oculus stuff. If I don’t get funding I’m gonna be in a spot… and yet, if I’m going to do this I’d rather buy myself the time and space I need to focus and give my best. It’s a gamble but at least I’m betting on myself :)

Welp, that’s all really. Gonna keep scripting until I get back. New ideas are already emerging so despite the ever-present hum of anxiety, I think it’s going pretty well.

Oculus Launchpad Dev Week 2

Part I:  The Struggle is Real. What Diversity Actually Looks Like.

Ayyyyyye. Alright I haven’t really wanted to write this blog because I’m visiting my family which means…

  1. Possibly no Internet. Possibly no lights. Possibly no food. Possibly no one picking me up from the airport.
  2. Chaos. I left home at 18 with a cell phone and a 9th grade education and never looked back. I travelled the globe and got two degrees from one of the best universities on the planet. My mother was in prison for that last bit and my dad’s been dead for all of it. I’m used to being on my own, I’m comforted by the stability of it, family is Hard.
  3. A Bad Thing happened prior to the Launchpad session. I held things together for myself, my mom and my very young siblings and scheduled an extended trip for after the bootcamp. So here we are, here I am. I haven’t seen my family for 2 or 3 years. I’m excited to see my mom and baby siblings. But I also have to Take Care of Everything. Take Care of Myself. Manage Crises. Develop a VR Project. No Big Deal.

These situations, the complications of my life, always make me think about what “diversity” really means. Marginalized faces come in different shapes and shades but also with the real, tangible effects of marginalization; how do you accommodate that? I’m not sure. Hmph.

Part II: Lessons Learned and Flexible Design Strategies.

Travel aside, this week has been frustrating. I felt like I spent an inordinate amount of time on technical things, research and dead ends. It happens, hopefully someone can learn from my errors.

My initial goal was to go forth making this game about privilege where players navigate a neighborhood as several different characters to reveal how the world changes in response to the bodies they inhabit. I thought I would go ahead and mock things up as much as I could and worry about optimization later. So I spent a lot of time looking into blendshape animation, creating textures and polygon management until a couple of issues came up:

  1. The textures/shaders I was using for realistic human characters are likely too expensive for the hardware to run at the proper framerate.
  2. I finally figured out the process to get a running build onto the GearVR (yes, awesome, count this as a win this week), BUT when I looked at the project, the characters I worked so hard on looked…lackluster.

Oh man, I am SO glad I actually took the time to put a build up on the Gear instead of waiting to the last minute or after I’d built an entire scene up. As soon as I saw it in the environment I realized it just looked boring visually. I highly suggest folks look at their project in the Gear and do so often –  what looks okay on screen just may not work in the headset.

I also came to the realization that as simple as my game is, I’m being too rigid in my process. At the end of the day I’m going for a particular emotional response and not a particular composition. Last week I came up with a GDD and an Asset List and started to build the game in a linear way. I don’t feel like my efforts were particularly fruitful so I’m going to switch gears.

For now, I’ve switched to a more modular design process. I’m going to make various components and see what I’ve got to work with at the end of the week, letting my game and experience emerge from parts. Since I’m away from my desktop for two weeks, I’ll be writing small scripts with little nuggets of functionality that I can mix and match. I don’t know if this is the “right way” to approach game design, but I’m hoping a more flexible process will prevent me from getting stuck on design issues for too long.

Who knows what the hell I’m making though? Emergent design! Woo and/or yikes!