cancel
Showing results for 
Search instead for 
Did you mean: 

SkyIslands VR

erica_layton
Expert Protege
9qi24zif03en.png
Hello, from a world where islands float in the air, and an ancient guild of mages once lived, only to vanish. Clues about who they were and the ecological disaster they wrought can be found in the landscape. Your mission is to help restore balance, and set their ghosts to rest.

I'm actually a few months into the process of building the SkyIslands game. It's slow going, because I'm doing all parts of it myself:  game mechanics, 3D assets, coding, sound design--whatever is needed. I've also been doing various contract work on the side, but focussing as much time as I can afford to on this project, with the goal of publishing it for GearVR on the Oculus Store.

Participating in the Launchpad has given me the encouragement I needed to continue working towards my goals for this game!

So far, I've produced a demo. Here's a walkthrough, captured in GearVR. It's not very interesting yet: I'm currently re-writing the mythos for the world (Thanks to Bernie Yee for great advice!), out of which will flow stories, strung together with puzzles and games for the player.

VIDEO: https://www.youtube.com/watch?v=3ybZEH8c5I8

mv7104zsfr52.png

55 REPLIES 55

erica_layton
Expert Protege
@MissFacetious Thank you!!!! Trying out what you suggested..

It's throwing me funky errors. Pretty sure it's because I'm using the OVRinputModule instead of the regular Unity InputModule. Determined to hack on it until it works!

:details:
Added to OVRPlayerController.cs at line 236:
		GameObject obj = EventSystem.currentSelectedGameObject;
...And at line 265:
		// Don't move player if object tagged "UI" is selected
if (obj !=null) {
if (obj.tag == "UI") {
MoveScale = 0.0f;
Debug.Log ("Halt, thou fiend! UI doth be Selected!");
} else { MoveScale = 1.0f;
Debug.Log ("Mousewards we go!");
}
}
I figure it makes sense to use bool MoveScale to stop the player from translation movement, because it is also used to keep the player from translating while airborne, (now at line 279):
		// No positional movement if we are in the air
if (!Controller.isGrounded)
MoveScale = 0.0f;

If Oculus folks are curious, here is the error my added code throws:
Assets/OVR/Scripts/OVRScripts/OVRInputModule.cs(510,24): warning CS0108: `UnityEngine.EventSystems.OVRInputModule.CopyFromTo(UnityEngine.EventSystems.PointerEventData, UnityEngine.EventSystems.PointerEventData)' hides inherited member `UnityEngine.EventSystems.PointerInputModule.CopyFromTo(UnityEngine.EventSystems.PointerEventData, UnityEngine.EventSystems.PointerEventData)'. Use the new keyword if hiding was intended

Looks like the key lies somewhere in EventSystems.OVRInputModule.CopyFromTo. What the hack is this "new keyword" they speak of??  

I'm looking up how to use EventSystem.currentSelectedGameObject along with a custom input module, where the input info is re-routed from the regular inputModule. 

:puts on some loud EBM and stocks up on snacks:

ok...time to focus!   >:)

Anonymous
Not applicable
Yeah, I gave up hacking up OVRInputModule.cs awhile ago when I resigned myself to just adding a controller to use, even though I don't think it's the best way to play since traditional controllers are hard enough to use with seeing them in front of your face let alone hidden because you are wearing a headset. I think you're thinking the same thing too. It would be something I'd get back to modifying once gameplay is more completed.
You are a brave coder-lady!

erica_layton
Expert Protege
UPDATE:

I'm working on the design for the NPC that will guide the player in the Demo scene, and reveal your role in the story as it unfolds.

It started as a spirit, and the idea has since morphed into a creature! :smile: lyd6ydodi79h.jpg

I built a mesh for the creature in Blender, and rigged it....then decided to try using some BVH-format mo-cap data from CMU, instead. Retargeting the animation to my rig was a disaster, so then I tried editing the proportions of the armature from the imported BVH, and skinning it with my creature mesh:

nsgdcw27q18y.png

...And it worked! :smiley:

The first attempts are fairly crude (yeah yeah I know..it looks like a Teletubby), but once I learn how to use Blender's Non-Linear-Animation Editor, I should be able to re-combine various clips from the mo-cap data. My goal is to create one long animation that contains all of the moves I want my creature-friend to make in Unity... then import to unity and split into clips to use in an animator controller. (Totally pulling a 'Parzival' with this: "crawling into my dev cave and not coming out 'til it works 'cuz VR is my life right now")

5oy6lxq4cjyj.gif 
It's going to be fun to texture this critter! Probably should make it some eyelids, as well. 
Not sure yet whether to the apply a subdiv surface modifier, or keep it super low-poly like this...The environments will be very abstract/geometric.

akababa
Protege
Love your updates Erica – It really reminds me of the Monument Valley genre! And thank you for the build video capture tips! Will give that a try as soon as I have something :wink:

erica_layton
Expert Protege

akababa said:

 And thank you for the build video capture tips! Will give that a try as soon as I have something :wink:


Let me know how it goes! I had to fiddle around a bit to get a clean audio signal, but it turned out to just be a dusty audio port on my pc.. I also tried using a macbook at first, but it's got only a headphone jack (no line-out) and headphone jack refused to be reversed (although, I've read that it works with one of those Apple mic-and-earbuds combos...oh, proprietary hardware : 😕

erica_layton
Expert Protege
After fiddling with texture unwrapping, decals, and glowing texture maps (100 draw calls on one of my tests! ugh!), I've decided to go with just materials for now, plus very abstract mesh (7-14 draw calls with about the level of detail I want to use. Yes!)

Setting for the demo scene is pretty much done. Still more testing to do tomorrow. It will have a couple of different states, in the demo. I'll also have a main menu that gets teleported to, at the end of the demo.

7s2xkzqspwam.png

Next: getting my Guide Creature character in here, and adding UI controls to the "trees." And teleports. 
If the creature avatar doesn't work, I might put in a floating eyeball as a placeholder  😄

in 2D mode, looks like it could make a cute platformer..

9vwdhlivu9b8.png

erica_layton
Expert Protege
It's been a while! Here's a brief update (hopefully will have some playtest footage to share soon)

I'm working on AI and interactivity between the Player and the Guide Creature/Spirit, using the Unity Ethan stock character as a placeholder, until I can fix the weight-painting on my Guide character rig. Also, will get animations working with his armature, before using my character's custom armature, which is humanoid, but has a tail.
(I wonder, what is the history of Ethan...they use him for tutorials and such, as well as in the built-in assets)

3plzrl3bma59.png

I also recorded a bunch of the Guide character's spoken lines, using GarageBand and the USB mic from my boyfriend's old "RockBand" console game. Not stellar quality, but with some pitch modulation and EQ adjustments, it'll work for now. The result sounds like a sad chipmunk  😛

Setting up the AI is slow going because it's the first time I've done it. I'm using the PlayMaker extension for Unity, which has allowed me to set up the finite state machines using a graph, rather than code. Thanks to Michael Running Wolf @rngwlf for the advice on this!! (Since my background is not in computer science, it's better to avoid trying to code these state machines from scratch, given the amount of time left)

Next up: setting up waypoints for the character to move between, and using the FSMs to link the waypoints to the dialog and events... omg, this is the first time I've seen the words "Catmull Rom" since dating a mathematician!  😮

DrSzilak
Expert Protege
How is the player going to interact with the AI? Maybe I missed this. Really ambitious and looking good. 

SBarrick
Expert Protege
Excited to see how the AI interaction turns out on this! 🙂

erica_layton
Expert Protege

DrSzilak said:

How is the player going to interact with the AI? Maybe I missed this. Really ambitious and looking good. 


The player will trigger a series of actions and lines spoken by the Guide Creature. Hopefully I can do this by gaze-targeting the Guide at key times, so that looking at them feels natural. It will also give the player time to look around, in between narrative chunks of "dialogue."

The guide pretty much just shows the player how to move/teleport, and begins the story of what's going on and why you are there..