Saturday, November 5, 2016

When 3d artists decide to write science fiction...

Just cracking myself up imagining a story as told by hardcore art detail fanatics.  No point here, just good fun.  Enjoy:


The enemy’s long white energy bolts seemed to come from nowhere and everywhere at once. Starpilot Gunny Sunway noticed their emissive bloom reflected in the sheen off his domed cockpit glass.

“Shit!” he said into the segmented boom mic built into the side of his helmet with a cable sort of spiraled around the base leading into a pretty typical mic port recess, “behind us, people!”

He knew he was pegged dead to rights in the enemy’s sights.  He could feel their hud elements scaling down in a non-linear motion and locking onto his ship’s silhouette while several emissive leds must surely be lighting up  small insets of their dashboards, foretelling his death.

He grabbed the throttle slider instinctively.  His leather flight glove, with years of wear discoloring the areas around the contrasting stitches creaked, but fit snugly into the shape cut into the thick handle for his palm.  Several small cylinders that jutted outwards from the back of his hand at 45 degree angles, rotated and indicated a good connection with the control surface.   He jammed it hard forward down the recessed slider track while his other hand’s thumb flicked up the semicircular mostly clear safety cover that rotated down like a clamshell over the defensive chaff rocker-switch with the tightly beveled edges on it and a cool little cylindrical bit on both sides that allowed it to rotate in both directions.

He thumbed the countermeasure trigger with a satisfying ‘click’ of feedback.  Several recesses in the rear of his ship spiraled outward, revealing a series of circular cutouts on the panels under them, each with a semi-elliptical lathed warhead extending from them, and a series of recessed arcs forming a dotted line around the rim.  Little hydraulic piston servos arranged in radial symmetry around each tube tilted the launch devices slightly, for an idea 120 degree dispersal arc, centered on the negative of his Y axis, because positive Y was known to be “forward” by all the intelligent races of the universe.

The laser chaff rockets launched as a cluster, each about .05 seconds  after the next, with the first to launch being the centermost, and progressing in a sort of hexagonal spiral pattern from there.  Each launch spawning a cool little bright reflection on the radar dampening ship surface nearby.

After the tubes emptied, it was clear there were tight bundles of heat-wrapped wiring beneath each tube, with wires in mostly the same shiny pewter color, but occasionally one was bright red or orange. There was still some cool charring though, especially around the little collars where each wire fed into the ship’s surface.

PHOOOM!

The laser chaff rockets, in sort of a drunken missile pattern erupted, fanning out like pinwheel flowers, dispersing thousands of 100% reflective 2.5 centimeter wide hexagon sheets of ultra-mylar, creased down the center for maximum angle of incidence.  The effect was like looking into a sort of kaleidoscopic lens flare.

Under his carbon-fiber patterned helmet with some longitudinal paint stripes with chipped edges and squad number 08 stenciled on both sides, clear spherical beads of perfectly reflective sweat ran down the back of Sunway’s nearly shaved but still stubbly head and under the slightly weathered metal reinforced studded collar of his pressure-suit.

He gritted his super realistic teeth together hard and braced for death’s hot plasma phone call. He prayed that chaff would be enough.  That, or perhaps that enemy lasers would impact on the super shiny portions of his ship's surface panels, rather than the more roughly muted areas that seemed to follow the panel lines in a pattern that looked as if they were masked off of perhaps a sheet of heavily rusted metal.  He'd surely be screwed then...


Thursday, October 27, 2016

Combatting harrasment in VR, some mechanics to consider.

My biz partner Tiffany and I are seeing some light at the end of the tunnel on our VR game MoonStrike.  We are pushing multiplayer as a main mode for the game, which has really put my brain into overdrive thinking about the many recent conversations about how to deal with VR players being, well, internet douchebags to each other, and specifically making female players uncomfortable.

Allow me...
http://lmgtfy.com/?q=vr+sexual+harassment

Yeah.

As recently as this year I still thought this might not be such a pervasive trend.  I was in the mindset that being in a VR environment and seeing another person there with you was so much like being in their actual presence, that it would make online harassers more uncomfortable with their habits and lead them to acting civil.

I basically thought, "surely people can't be that douchey, right?"  Haha, yeah, I know. My bad.

I still believe that most... again, most... people who make a hobby out of typing horrible shit to women randomly online wouldn't dare to say equivalent things in real life to a woman.  Of course people say awful things to women in the real world all the time, but they're risking well-earned physical and social retaliation when not hiding behind anonymity, and intensity is dialed way back from 140 character vitriol.  A keyboard, nickname, and a Twitter account truly brings the trolls to the yard.

Being in a VR space with someone, seeing their head movements, hands, actually hearing their voice spatially like they're right there with you... it's a LOT like being in the room with that person.  It can be so uncanny as to not easily be able to describe it (which is kind of the calling card of VR in general).

So, yeah, I had hoped for the best when it came to VR social interactions, and of course now I feel pretty silly for that ounce of faith in online humanity.

In fact, I kind of fear the opposite now, something worse may be the result of this.  I fear that people who are willing to spew rape/death threats online, but don't have the nerve to do so in the real world face to face, basically have a method in VR now to practice upping their troll game.  In VR they can see what it's like when they hear the voice of their victim and see that person's physical responses to their unwanted advances and trollish behaviors.  What I naively used to think would be "taking it too far", looks like the actual payoff to many.  Apparently any veil of anonymity is enough.

It's just so sad.  It's worse than sad.  As a massive VR enthusiast and early adopter it's the ultimate in "Holy shit, really? This is why we can't have nice things!"

Hell, at this point I'm pretty sure if we invented actual real world mind-link telepathic communication I know now why the project will immediately be scrapped once proven viable.  If we invent true physical human teleportation, I see now that about the 3rd time it is used will likely be to somehow sexually harass someone.

Nope.  No nice things for you.

But hey, there's a small silver lining.  Maybe we can't easily fix flawed human psychology, but we can still control the world in VR in ways we only dream about in the real world.  If there's one thing I love it's a problem that can at least be helped with in-game mechanics and functionality!

With that long preamble out of the way, I thought I'd share some ideas to consider if you're a VR developer using avatars for multiplayer interaction.  Many are untested theory, many are very simple to implement, and even if you somehow think this isn't a big deal, they're techniques for combatting general VR troll behavior, not just the gender specific kind.

Enjoy!

_______________________________________


Keep the immediate sightlines clear.  Very simply, there's no good reason one player should be able to blind or obscure another player's view with their virtual head or hands.  Any part of one player's avatar entering the view frustum of another player, out to about half a meter, needs to be hidden quickly.

A player is more than their head and view though.  Even in games where you can't see your body when you look down, you're aware of where your parts should be.  People grabbing and flailing around in your business should be treated as being a view obstruction and be hidden at minimum.

Compound the infraction.  You might accidentally move into another player's space, it's going to happen, no biggie, but it's easier to track if this is intentional and repeated.  The first bump into another player, you hide and unhide quickly.  Each time the collision is detected, hide immediately, but add some time to the amount of delay before becoming visible again.

When I talk about hiding someone I generally mean hiding only between those specific players.  You probably don't want to generate an exploit for your game, allowing people to move around invisibly to everyone else in the game by head-butting each other a few times.

You might be thinking, "but how do you know who collided with whom?"  Well, think about it this way, does it matter?  Becoming invisible isn't seriously punitive, and if both players are hidden to each other it's all the better.  If someone is grinding on you, becoming invisible to that player is just as beneficial either way.

Someone worth hiding is probably someone worth muting while invisible.  Maybe you want to give them the benefit of the doubt the first time they're in your space accidentally, there will be false positives, but maybe there will be a quick mutual apology "Doh! Excuse me, sorry!" interaction that makes it all more friendly and social.  Generally speaking though, the odds that you're about to miss some important communication among the players is pretty small, so muting people after a couple infractions isn't that big of a risk.

Often a player simply doesn't want to hear other any players talking, and that's OK.  I know in many online ecosystems I flag that I only want to hear my friends talking, and often I'm more sane for the choice.

Consider gestures for these actions.  Inevitably we'll have standards evolve, until then we can all try and find simple gestures that feel intuitive.  Personally, I'm a fan of the slap.  If another player is nearby, and you wish them to be gone, simply slap at their head position and voila!  This might work naturally as a result of your hiding/collision systems above, but detecting a hand to their head can easily denote a much more distinct intention to make that person no longer exist to you.  If you can quantify the "talk to the hand" motion, I think you're in for some online developer fame.

If there's a gameplay reason that makes hiding a player a problem, at least implementing slap-muting makes for a very natural interaction.

If in doubt, just ask the player their intent.  I know user interface is a pain in the ass sometimes in VR, but popping up a simple, "Is this player bothering you? Yes/No" option should really be something to consider, especially given the conditions that a player would want to make that choice.  Pop it up after repeated infractions, slap gestures, etc.

If they answer "yes", do everything you can to clear up the interaction, and consider finding a way to remember that particular bad relationship in future sessions.  If the answer is "no, they're not bothering me", maybe relax your restrictions in case the players are friends just messing with each other.

If you implement a confirmation pop-up, consider mentioning the ramifications of the yes/no options, such as specifying, "player will be hidden and muted".  This might be in the first dialogue, or as a secondary confirmation screen if you're concerned that the original screen becomes too cluttered with all that text.  I (somewhat) believe a bad apple who is actively harassing someone is less likely to hit "hide/mute" on their target, otherwise Twitter would be a lot more civil as people just block instead of replying back and forth.

It may not always be easy to quantify, but if you get enough infractions on a user, it's worth considering what that person is doing to your game's ecosystem and considering a longer term or even permanent mute.  This is touchy territory though, and it may be easily trolled if people make it a goal to get female players banned or the like.  Quantifying bad apples is always a rough task.

Consider reduced avatar fidelity as a consequence of repeated misconduct.  I don't mean this as a punitive measure, but rather as a means of limiting their ability to harmfully communicate.  If several people in the environment flag a player as a pest, and gameplay allows for it, we can bend reality here.  Perhaps limit their hand motions so their hands are always idle at their sides, or toggle their hand visibility off altogether.  More drastically you might make them appear to be facing the other way, limit their representation to only simple position instead of rotation, or otherwise change how their avatar is represented.

If you have access to a friends list for the player, you can use that data to know when they're interacting with a trusted pal.  Interacting with players can be a blast when everyone involved is cracking up and balancing things on their friend's head, etc... you can still allow and design for those interactions, just make sure it's easy for a player to clarify when someone has turned the situation into a bad one.

A perfect system could deal with straight up harmful verbal interactions.  Maybe a troll isn't jumping in your face, but rather just saying awful things from far enough away that physical collision isn't being triggered.  Of course your system needs to be very clear about who is speaking in order to correctly isolate who the troll is, although audio spatialization is really effective as a baseline.

Considering the voice capabilities of the VR headsets, it would be incredibly nice to someday be able to use voice commands for these interactions.  An immediate verbal reply of "Hush" or "shut up" immediately after someone speaks near you would be an excellent way to toggle an actual mute on that person.  Pointing at someone and saying "beat it, asshole", then seeing them explode and disappear would be immensely satisfying.

__________________________________________


I'm not saying all games need all of these techniques, even a couple simple ones would help immensely and at least indicate you're making an effort.  Taking it to the maximum could be a lot of daunting work, and even something that could be obtrusive to all player's experience if taken too far.  As a developer though, we know systems under the hood can be complex but still intuitive to the player.  Many of these will simply work without the player needing to really be involved, but some would unfortunately need tutorials until real standards emerge.

Your game may also have special considerations for these interactions.  Maybe it's really important for a player to know where all the other player's hands are, or where they're looking.  Hiding a player outright might just not be an option for your game to work.  But consider what you can do, how far you can push it, without breaking the game.  Muting, hiding only their hands, etc... the important thing is realizing this is an actual problem you need to give some thought to.

For MoonStrike we are working on a system where you can see the location of the enemy player's heads, but instead of the player you see an egg-sized enemy commander in a little space ship, roughly approximating their actions.  We want to be aware of what enemy players are paying attention to, and have that be an element of multiplayer itself.  Something like that works for our project and limits many harmful interactions, but clearly isn't a general solution though.

Your specific techniques might be very different, your values will need some changing.  Maybe you like fading other players based on proximity to the camera, or maybe you scale them down sharply or some random interaction, but it would be great to have an open community discussion about what different developers are discovering to be really effective to fight troll interactions.

I'd love to hear more about what you've been prototyping and finding to be effective in this area, if enough of us are proactive about it, we might be able to nip this bud (or at least hamper it from becoming the norm) before too many women try out VR and immediately learn that it's an inhospitable cesspool.  I'd also love to know more about methods of harassment that I haven't considered yet, and your thoughts on how we might counter them.