Translating the Cyberpunk Future

image

I’m a video game translator, and I love my job. It’s odd work, sometimes stressful, sometimes bewildering, but it always provides interesting and inspiring challenges. Every project brings new words, slang, and cultural trends to discover, but translating also forces me to reflect on language itself. Each job also comes with its own unique set of problems to solve. Some have an exact solution that can be found in grammar or dictionaries, but others require a more… creative approach.

Sometimes, the language we’re translating from uses forms and expressions that simply have no equivalent in the language we’re translating to. To bridge such gaps, a translator must sometimes invent (or circumvent), but most importantly they must understand. Language is ever in flux. It’s an eternal cultural battleground that evolves with the lightning speed of society itself. A single word can hurt a minority, give shape to a new concept, or even win an election. It is humanity’s most powerful weapon, especially in the Internet Age, and I always feel the full weight of responsibility to use it in an informed manner.

image

One of my go-to ways for explaining the deep complexity of translation is the relationship between gender (masculine and feminine) and grammar. For example, in English this is a simple sentence:

“You are fantastic!”

Pretty basic, right? Easy to translate, no? NOT AT ALL!

Once you render it into a gendered language like Italian, all its facets, its potential meanings, break down like shards.

  • Sei fantastico! (Singular and masculine)
  • Sei fantastica! (Singular and feminine)
  • Siete fantastici! (Plural and masculine)
  • Siete fantastiche! (Plural and feminine)

If we were translating a movie, selecting the correct translation wouldn’t be a big deal. Just like in real life, one look at the speakers would clear out the ambiguity in the English text. Video game translation, however, is a different beast where visual cues or even context is a luxury, especially if a game is still in development. Not only that, but the very nature of many games makes it simply impossible to define clearly who is being addressed in a specific line, even when development has ended. Take an open world title, for example, where characters have whole sets of lines that may be addressed indifferently to single males or females or groups (mixed or not) within a context we don’t know and can’t control.

In the course of my career as a translator, time and time again this has led into one of the most heated linguistic debates of the past few years: the usage of the they/them pronoun. When I was in grade school, I was taught that they/them acted as the third person plural pronoun, the equivalent of the Italian pronoun “essi.” Recently, though, it has established itself as the third person singular neutral, both in written and spoken English. Basically, when we don’t know whether we’re talking about a he/him or a she/her, we use they/them. In this way, despite the criticism of purists, the English language has brilliantly solved all cases of uncertainty and ambiguity. For instance:

“Somebody forgot their backpack at the party.”

Thanks to the use of the pronoun “their,” this sentence does not attribute a specific gender to the person who has forgotten the backpack at the party. It covers all the bases. Smooth, right? Within the LGBT circles, those who don’t recognize themselves in gender binarism have also adopted the use of they/them. Practically speaking, the neutral they/them pronoun is a powerful tool, serving both linguistic accuracy and language inclusiveness. There’s just one minor issue: We have no “neutral pronouns” in Italian.

It’s quite the opposite, if anything! In our language, gender informs practically everything, from adjectives to verbs. On top of that, masculine is the default gender in case of ambiguity or uncertainty. For instance:

  • Two male kids > Due bambini
  • Two female kids > Due bambine
  • One male kid and one female kid > Due bambini

In the field of translation, this is a major problem that often requires us to find elaborate turns of phrase or different word choices to avoid gender connotations when English maintains ambiguity. As a professional, it’s not only a matter of accuracy but also an aesthetic issue. In a video game, when a character refers to someone using the wrong gender connotation, the illusion of realism is broken. My colleagues and I have been navigating these pitfalls for years as best we can. Have you ever wondered why one of the most common Italian insults in video games is “pezzo di merda”? That’s right. “Stronzo” and “bastardo” give a gender connotation, while “pezzo di merda” does not.

image

A few months ago, together with the Gloc team, I had the pleasure of working on the translation of Neo Cab, a video game set in a not too distant future with a cyberpunk and dystopian backdrop (and, sadly, a very plausible one). The main character is Lina, a cabbie of the “gig economy,” who drives for a hypothetical future Uber in a big city during a time of deep social unrest. The story is told mainly through her conversation with the many clients she picks up in her taxi. When the game’s developers gave us the reference materials for our localization, they specified that one of the client characters was “non-binary” and that Lina respectfully uses the neutral “they/them” pronoun when she converses with them.

“Use neutral pronouns or whatever their equivalent is in your language,” we were told.

I remember my Skype chat with the rest of the team. What a naive request on the client’s part! Neutral pronouns? It would be lovely, but we don’t have those in Italian! So what do we do now? The go-to solution in these cases is to use masculine pronouns, but such a workaround would sacrifice part of Lina’s character and the nuance of one of the interactions the game relies on to tell the story. Sad, no? It was the only reasonable choice grammatically-speaking, but also a lazy and ill-inspired one. So what were we to do? Perhaps there was another option…

Faced with losing such an important aspect of Lina’s personality, we decided to forge ahead with a new approach. We had the opportunity to do something different, and we felt like we had to do the character justice. In a game that’s completely based on dialogue, such details are crucial. What’s more, the game’s cyberpunk setting gave us the perfect excuse to experiment and innovate. Language evolves, so why not try to imagine a future where Italian has expanded to include a neutral pronoun in everyday conversations? It might sound a bit weird, sure, but cyberpunk literature has always employed such gimmicks. And rather than take away from a character, we could actually enrich the narrative universe with an act of “world building” instead.

After contacting the developers, who enthusiastically approved of our proposal, we started working on creating a neutral pronoun for our language. But how to go about that was a question in itself. We began by studying essays on the subject, like Alma Sabatini’s Raccomandazioni per un uso non sessista della lingua italiana (Recommendations for a non-sexist usage of the Italian language). We also analyzed the solutions currently adopted by some activists, like the use of asterisks, “x,” and “u.”

  • Siamo tutt* bellissim*.
  • Siamo tuttx bellissimx.
  • Siamo tuttu bellissimu.
image

I’d seen examples of this on signs before, but it had always seemed to me that asterisks and such were not meant to be a solution, but rather a way to highlight the issue and start a discourse on something that’s deeply ingrained in our language. For our cyberpunk future, we wanted a solution that was more readable and pronounceable, so we thought we might use schwa (ə), the mid central vowel sound. What does it sound like? Quite familiar to an English speaker, it’s the most common vowel sound. Standard Italian doesn’t have it, but having been separated into smaller countries for most of its history, Italy has an extraordinary variety of regional languages (“dialetti”) and many of them use this sound. We find it in the final “a” of “mammeta” in Neapolitan, for instance (and also in the dialects of Piedmont and Ciociaria, and in several other Romance languages). To pronounce it, with an approximation often seen in other romance languages, an Italian only needs to pretend not to pronounce a word’s last vowel.

Schwa was also a perfect choice as a signifier in every possible way. Its central location in phonetics makes it as neutral as possible, and the rolled-over “e” sign “ə” is reminiscent of both a lowercase “a” (the most common feminine ending vowel in Italian) and of an unfinished “o” (the masculine equivalent). The result is:

Siamo tuttə bellissimə.

Not a perfect solution, perhaps, but eminently plausible in a futuristic cyberpunk setting. The player/reader need only look at the context and interactions to figure it out. The fact that we have no “ə” on our keyboards is easily solved with a smartphone system upgrade, and though the pronunciation may be difficult, gender-neutrals wouldn’t come up often in spoken language. Indeed, neutral alternatives are most needed in writing, especially in public communication, announcements, and statements. To be extra sure our idea worked as intended and didn’t overlook any critical issues, we submitted it to a few LGBT friends, and with their blessing, then sent our translation to the developers.

image

Fast forward to now, and the game is out. It has some schwas in it, and nobody complained about our proposal for a more inclusive future language. It took us a week to go through half a day’s worth of work, but we’re happy with the result. Localization is not just translation, it’s a creative endeavour, and sometimes it can afford to be somewhat subversive. To sum up the whole affair, I’ll let the words of Alma Sabatini wrap things up:

“Language does not simply reflect the society that speaks it, it conditions and limits its thoughts, its imagination, and its social and cultural advancement.”

— Alma Sabatini

Amen.

Meet Your Pax

image

You’ll meet many characters as they slid into your car. If someone wanted a quiet ride, they’d call one of the automated Capra cars. To compete with the efficiency of the sleek autocar experience, human drivers need to offer something unique. People call Neo Cab for a connection: hear their stories, learn their secrets, and maybe even make a new friend. Learn which Neo Cab pax you’re most like with our Personality Quiz.

image

Here are a few of the pax you’ll meet in Neo Cab:

Fiona Pak

image

Fiona’s off to the executioner and could use your advice… ☠


Carlos Wong

image

Carlos has a work emergency and wants to help… 🩺


Gideon DeKalb

image

Gideon just got kicked out of a fundraiser and needs to vent… 💢

Anatomy of a Neo Cab Character

image

Character is key. It’s why viewers binge tales of antiheroes and epic family battles. It’s what makes audiences care enough to spend hours in worlds that don’t exist. So how can we translate the power of character-driven storytelling into the interactive space? Well, here’s one approach we took on Neo Cab. The short answer is a lot of foundational concept work.

Anyway, hello again! It’s Paula Rogers, Writing Lead and Story Editor for the game. Earlier this year, I gave a talk for LudoNarraCon about how we created one of our pax from initial story concept to final character design. So click the video below to see me walk you through how we used our main themes and plot to create compelling pax characters, the process for turning a character’s thesis statement into an actual storyline, and all the way through the visual development that we did with Vincent.  

You’ll get to play through Fiona’s whole story when Neo Cab is released later this year. Until then, stay tuned to @neocabgame for more exciting news and updates. You can find me on Twitter @paula_bot and thanks for stopping by!

Neo Cab catches a ride to E3

image

This year Neo Cab carpooled to E3 with the IndieCade Showcase. We’ve always considered IndieCade to be the coolest part of E3! We are honored that Neo Cab was selected for the showcase.

It’s exciting to meet new and old fans &  show them what we’ve been working on. We can get lost in ourselves while working and it’s good to remember that we’re not making this game for us: we’re doing it for other people (like you!) to appreciate.

If there’s a game you’re excited about, it’s so worth it to find the devs at a show and fan out to them! It means so much to us and it’s always a great, unexpected bonus from shows like E3. That one person is worth more fuel to us as developers than a thousand.

image

We’ve been in the news recently and wanted to share a few of our favorite articles with you:

“I only got to play Neo Cab for around 20 minutes, but it left me craving more. Neo Cab is a ride worth taking.” -Nintendo Enthusiast

“Neo Cab was the most perfect demo I played at E3 this year, a game designed not just with the sort of clean and simple choice-based interface that could be grasped by many, but also calling attention to the mini emotional mind games that occupy and wreak havoc on our day.” -LA Times

“The game’s core question: In an app-driven world that’s making our daily life feel like a game, do “likes” and five-star ratings have anything to do with happiness, or are we all slowly making each other miserable?” -Seattle Times

“Keeping a sense of humanity matters in this world. Interaction is rare, but the key gameplay component.” -Forbes

“Branching dialog choices isn’t a new concept in video games, but the way Neo Cab implements it feels unlike anything I’ve played. That might come down to the fact that Lina clearly experiences anxiety. In those moments, Neo Cab stopped feeling like a video game. Instead, it felt like a glimpse into the lives of real people.” -Tech Raptor

“Video games invite moments of self-realization and have the unique ability to promote empathy—at the press of a button, you can comfort a sad passenger in the back of your cab, provide moral support to your fellow soldiers, or sing a sad song to remember a loved one.” -EGM

We’re excited to get back to work now, so until next time! 👋🏽

The Music of Los Ojos

image

Hey there! This is Joe, also known as Obfusc. I’m making the music and sound for Neo Cab. There’s a chance you’re familiar with my work from the Monument Valley soundtrack or from one of my albums or EPs over the years. There’s also a very, very good chance you’ve no idea who I am. Rest assured, in either case, I’m positively tickled that you’re here.

Back in May, along with some of the other Neo Cab dev team folk, I participated in the inaugural LudoNarraCon. For just about twenty minutes, I presented a high-level dive into The Music of Los Ojos – how I came to work on Neo Cab, the visual and sonic influences that got the aural ball rolling, a bit of the sonic palette of the game’s music, and an instrument-by-instrument breakdown of one of the game’s pieces, “Neon Moon.”

Thanks a million for reading, watching, and listening! Like everyone on the team, I can’t wait for Neo Cab to release later this year on PC, Mac, and Nintendo Switch. In the meantime, find me on Twitter @josephxburke and be sure to follow @neocabgame for updates, too. 

Procedural Route Generation in Neo Cab

In Neo Cab, we need interesting background scenery for Lina to travel through as she interacts with the pax. The fictional city of Los Ojos is a massive place, drawing inspiration from real world cities such as Mexico City, San Diego, and Dubai. We needed Lina’s routes to cover many miles of game-world, without repeating in a way that would be distracting to the player.

In an open-world game such as GTA, a real-world scale city is built and can be freely explored by the player. But this is not only a huge technical challenge, its takes a small army of artists and designers to create and populate every street and avenue. And in reality, we didn’t need to build the whole city, even though Lina may travel anywhere in Los Ojos, once she starts a ride her route is mostly predetermined (with some exceptions for gameplay choices that may affect her route).

We decided to take a procedural generation approach, generating routes that were informed by the length, character, and neighborhoods that Lina would need to pass through on the city map, but not worrying about matching every twist and turn exactly.


Chunks

The route is created by assembling a set of prefab models we call “chunks.” Each chunk represents roughly one city block or so, and can be straight sections, turns, forks, etc. Most of the chunks are square but they can be any shape to allow for curves and create more variety in the route.

image

Here are a few of the chunks used to build the city.


First Attempt

The first attempt to assemble the chunks was a kind of “What’s the simplest thing that could possibly work?” approach. We treat the chunks as a deck of cards, and simply picked the next one at random out of all the possibilities that would avoid overlapping. By weighting the probability that each chunk is chosen, we can favor chunks that would make a route with more distance or more compactness, and have some control over the overall characteristics of the route.

image

However, this simple approach didn’t offer enough control. Routes were too zig-zaggy, and often in an illogical way. If we increased the weighting on the “straight” tiles, it would begin to look reasonable in some areas, but we’d end up with miles of straight road in other places. Worse, even though we checked for overlapping tiles at each step, a route could easily “spiral in” on itself and get to a dead end where nothing would fit. Of course, there are ways around this — typically you’d backtrack or use a charming algorithm called “rip-up-and-replace.” We could have kept adding rules and conditions like this, but at some point we would lose the simplicity that made this approach appealing in the first place.


The L-System Prototype

In order to be able to iterate quickly and test ideas, I created a prototype to test the system with a simple 2D version of the route generation, using simple shapes instead of the full 3D chunks. The prototype enabled quick iteration on the algorithm and is still useful to try out new ideas for chunk shapes or route rules.

image

I implemented a simplified 2D version of the original route generation algorithm but the real breakthrough was using an L-System approach to generate the whole route. Instead of checking for collisions or overlaps at each step, and somehow rewinding and regenerating, we can simply define our rules to avoid overlaps.

An L-System is a procedural system that works by starting with a very simple pattern, called a “Start Rule,” and then replacing parts of that with slightly more complicated ones. By repeating this over and over, you end up with a complex pattern, and have a high degree of control over the results through your choices of which symbols to replace and what to replace them with.

For example, here is very simple L-System that starts with a single line segment, and then replaces each line segment in the figure with a line with a pointy part in it. That replacement is itself built of four line segments, so this can be repeated on all of those line segments until you have an arbitrarily detailed figure. (This is called a Koch Snowflake.)

image

In our system, there are two types of symbols: terminal rules, which are not expanded any further but represent a chunk of city geometry, and a non-terminal, which will be expanded.

image

Here’s a simple example: By convention, non-terminals are lower case and terminals are upper-case. In this case we have a non-terminal “s” that generates a straight section that is one, two, or three chunks long (and might have an intersection, the “+” symbol). We also have a terminal “L” and “R” which generate chunks that turn left and right. The turns might be a curve or an intersection, but that doesn’t affect the route shape. The non-terminal “a” simply generates a sequence of “straight, left, straight, right” or “straight, right, straight, left.” We stick a few of these together and get a route that contains turns and a mix of short- and long-straights, but always ultimately proceeds forward and will never wrap back to overlap itself.


Generating the Routes

The system used to generate the routes takes the list of chunks as a starting point and loads detailed geometry for each chunk along the way. It also assembles a road spline for Lina’s car to follow from smaller splines defined as part of each chunk.

image

Some of the chunks are intersections or have open turns, and so we have special chunks that we call “end-caps” that will extend or close off unused road sections. Finally, to add a layer of mid-ground geometry and block any open holes between buildings, we add geometry we call “mid-caps,” these are blocks of shadowy, lower-detail buildings and are simply added by attempting to place them along every edge of every chunk we’ve already placed, and skipping it if it would overlap existing geometry. These mid-caps are the green boxes you see on the right.


Final Touches — Decorators

image

To add even more variety, each chunk can have a bunch of “decorators,” which are spots where we can randomly place extra-detail objects such as signs, parked cars, trash cans, trees, or anything to spice up the route. I was expecting to have something like two or three of these for each chunk but it turns out our 3D artist, Lisa, is some kind of superhero and she defined, like, thirty of them for each chunk. In the screenshot above, each magenta cube is a location to possibly spawn a decorator, and the bottom shows one possible result.


Results


Conclusion and Next Steps

The basic system is in place and working well. Next we want to give the route more character and variety based on which neighborhoods of Los Ojos you’re traveling through, including having neighborhood-specific chunks and decorators, and even L-System rule-sets to pick from when you are travelling through a distinct neighborhood.

With too much randomness, procedural generation be wildly unpredictable. With too many constraints, it can build levels that are technically unique but all feel the same. It’s all about tuning the algorithm and the inputs to strike the right balance. In our case, the procedural elements form the backdrop and having some randomness helps prevent the routes from feeling identical or distractingly repetitive. But at the same time, this isn’t a racing sim and the gameplay comes from the human-authored stories that Lina experiences. So the goal for our procedural system is to reflect and enhance the narrative experience that’s the core of the gameplay.

Making the Neo Cab OST

I’m Joe—perhaps, in this context, better known as Obfusc—and am enthusiastically handling all-things-audio for Neo Cab.

The project first popped onto my radar via a rather cryptic-yet-beamingly-positive tweet reply from Patrick (@hoverbird): “We should REALLY talk about what I’m doing next! #videogames.” I slid (respectfully) into his DMs and he laid out a high-level pitch: Near future. Night. Automation. Surveillance. Driving. Dystopia.

image

When we talked prospective music, the keywords we exchanged meshed; the sonic palette touched on everything from the obvious flavors of synthwave and vaporwave, to world instruments and jazz breaks. I knew Patrick’s taste from occasional listens to his now silent, then fantastic bff.fm radio program, “Warm Focus,” which occasionally featured my work as Obfusc. Via the magic of short-form message exchange, I organically slipped into the Chance Agency/Neo Cab fold in November 2016.

image

Vincent’s incredible, early mood/concept pieces translated to buoyant sonic inspiration, as did the phrase “Stay Human.” The music, in my mind, would have a certain solitary sensuality of night. Occasionally, there should be darkness, claustrophobia, ominous foreboding. As the writing team churned out the foundation of the city we now call Los Ojos, it was all too easy to imagine a landscape within it, the places a driver-for-hire (or nocturnal urban explorer) would encounter. The inspiration was—and is—everywhere.

image

As time has elapsed and work progressed, I’ve produced just south of thirty pieces that comprise the working draft soundtrack of Neo Cab. I can’t express how hard it is to keep this under wraps; I’m really, really proud of the work thus far. Since the release of our gameplay trailer at E3, it’s been amazing to pull back the metaphorical curtain a bit to let everyone see the collective effort that I’m privileged and proud as hell to be a part of.

I’ve chosen a working draft for a track titled “Halogen Mosaic” to break down a bit, discussing the sonic choices and how it relates to the overall whole of the music created for the game. 

Thanks a million for your interest in the game, the music, and those who are behind it. I’m confident in saying that we, the collective Chance Agency, are beyond thrilled with the enthusiasm and curiosity expressed toward our work.

Building Narrative in Neo Cab

Hello! I’m Paula Rogers, the Story Editor for Chance Agency.

Lately I’ve been asked, what’s a Story Editor? Writing is a familiar enough job, and if you imagine a temperamental housecat who hoards caffeine and sugar between naps, you’ve pretty much got the idea of that part of my workday. But, what does my editorial role mean in games, and even more importantly, can it be explained with a cat metaphor?

First off, I work closely with Patrick, the Creative Lead, to develop the overall plot arc and narrative structure of the game. We’re a choice-based adventure game with a branching story, so we’re designing for several different ways the plot could go at any time. On top of that, our narrative is unique in a few key ways, first being that we have a huge cast of characters when you account for all the passengers (pax). Therein lies the bulk of my work.

image

To capture the energy of driving in a big city, it had to feel like anyone could hop in Lina’s car—any weird or sad or funny or kind person from any walk of life. That meant not only a high number of pax, but a very broad range of diversity in those characters—while all being thematically linked in some way so everything feels like part of the same game. It’s like a short story collection viewed through a hall of mirrors, or a season of television where each episode is told by a different character.

So, even though we have a fairly traditional story structure of protagonist (Lina), antagonist (Top Secret), and a handful of plot-essential characters who help you along the way, most of the game is not actually spent with any of those characters. Instead, you talk with the pax as you do your job, and most of the game is spent entirely inside Lina’s car.

Sometimes I think we couldn’t have designed a more extreme set of narrative constraints if we’d tried—like, just for kicks let’s also tell a story only through dialogue between strangers and in a very small space where they can’t move or face each other!

image

So another big part of my job is to keep an eye on how the overall story and Lina’s character journey weave in with all the pax she might pick up at any given moment, while also making sure all these tiers of stories never compete with one another. They should all, in some way, complement each other, but I also need to check that the symmetry doesn’t feel contrived. For instance, I kept suggesting Lina might reasonably pick up a magical talking piglet with an encyclopedic knowledge of Los Ojos, but Patrick and the other writers just couldn’t see it. What might have been, and in a tiny tuxedo, too!

As Story Editor, I am also the keeper of the lore, which in retrospect is a much better title. So I develop and maintain the bibles for our story, our world, and our characters, including each pax. These character guides include their backstories, the way they speak, how they act in different emotional states, and what they want out of life. I work with the writers to create each pax and design how their story can be woven into the larger themes of the game, the overall plot, and Lina’s own character arc.

Lastly, I manage a robust team of writers scattered across the globe. So it’s also my job to wrangle all the moving pieces that entails—grammar, style, voice, and way too many time zones—into one cohesive whole. It hurts me a little bit every time I have to change a lovely, spacious “colour”-type spelling to a painfully straightforward “color,” but alas. I maintain our Inky Cheat Sheet and Neo Cab Style Guide, lead exercises to keep us all thinking and writing as one, manage assignments, review and guide story pitches, edit the writers’ work, and run a weekly meeting where I definitely do not force the writers to answer questions about their favorite animals or how they might dress a magical piglet.

We’re building a story that explores the bonds between friends and strangers, that’s about what tech can destroy and what it can never touch, and that features an incredibly strong protagonist whose deep empathy is the source of her power. I’m so very excited to share it with all of you. Working on Neo Cab is one of the most fulfilling and challenging writing jobs I’ve ever had, and I thank my lucky cats every day that I get to do it.

Cinematic Cameras in Neo Cab

In Neo Cab, the world of Los Ojos is seen from a car. One of our design pillars is to make a world that feels cinematic, and so we looked for ways to make this constraint enhance that goal rather than limit it.

image

We also had the constraint of wanting to leverage cinematic lighting and Unity’s powerful new post-processing stack to try and evoke the rich and moody visuals of our concept art and reference, yet still build a game that was playable on mobile devices.

And finally, we wanted a solution that was not realistic but rather hyper-real, where the lighting felt right but didn’t need to be physically correct, and offered plenty of opportunity for the artist to fine tune the visuals.

We gathered reference from films with car interior shots that we liked. These included shots where the city the character was driving through was important to the shot and set up the mood and feelings of the scene, but also scenes where it was just background and the characters and their conversation was the focus.

image

The Night Of

image

A Night on Earth

image

Taxicab Confessions

We also began experimenting with Unity post-processing. I set up a test scene with the car and some placeholder geometry and lights and got some promising results, but had serious framerate issues on mid-range mobile devices from heavy use of the bloom and DOF. We also had some problems with the post-effects interacting in strange ways with our Pax sprites, which are sprite based and used completely different rendering setup. Also, our art director wanted to be able to color-correct and post-process the car interior and the outside scene differently.

Looking at classic film techniques, we realized a lot of these used a “rear-projection” technique, where actors are filmed in a stationary car on a soundstage, with a screen projecting footage from a car-mounted camera elsewhere behind them. Modern films did essentially the same thing with green screen. Often a setup called a “chaser rig” is used where lights on set are moved mechanically or simply waved around by a grip to simulate passing headlights and streetlamps.

image

We apply this approach to our car cameras. Our car rig is stationary, which helps keep it simpler and also has the advantage of not having to worry about the whole rig moving around under one root. We have a separate camera that is constrained to point in the same direction as the car camera, but follows the car path through the city. On mobile devices and PC on low settings, these renders can be set at a lower resolution than the main screen which allows use to use fragment-heavy effects like bloom and DOF even on these targets, while the car interiors and character art remain at full resolution so we can keep the character art crisp and detailed. On a higher end PC we can render the exterior camera at full res and still make use of cinematic post effects. A nice side benefit of this is being able to apply different post processing to the interior and exterior scenes.

image

Making the lighting feel in sync between the interior and exterior is a challenge. I initially set up some experiments that looked for lights in the scene near the car EXT camera and used those to drive the color and brightness of the “chaser” lights but it was difficult to control, and just adjusting the speed of these chaser lights proportionally to the car speed gave the impression of driving, and left the artist more in control of the color and movement of the light. Another problem is making the lighting feel right when Lina is turning. At the moment we’re not doing anything to handle this, and though it’s not distracting it’s noticeable if you’re looking for it. It’s also a missed opportunity to reinforce the feeling of motion – the light sliding across the passenger and backseat is a strong visual cue that we’re not taking advantage of yet. We plan to make more adjustments to this system as we expand our virtual Los Ojos and add more variety between the distinct neighborhoods of if the city but it feels like the overall approach is solid.

image

GDC 2018 Recap

A little over a year ago, the Neo Cab team was just a few people pulling together over Slack everyday to try and iron out the details of our new game. Back then, we pretty easily fit around a 4-top dinner table. We hadn’t finalized the name or decided on an art style yet, but we had a clear vision, some business cards, and a dizzying amount of passion.

image

Since then, we’ve gotten a little bigger and also got quite a lot done. Our team is remote and scattered across the country and the planet, but we still gather together everyday on appear.in for our daily check-ins.

image

These check-ins have been everything from entertaining to tense, and they’ve played a critical role in turning us into a high-functioning team despite our varying time zones. At this point, it’s safe to say we know the quirks of each other’s pets and the sway of each other’s bedhead. We even know the pick-up and drop-off schedules of those with kids.

So at this year’s GDC, though many of us were meeting in person for the first time, it was no surprise that it felt more like a reunion than an initial gathering.

Here are a few of the highlights:

We stayed together in an Airbnb called The Starship.

image


We went to some parties

image


We passed out swag

image


We broke bread and brunched

image


We took rooftop photos

image


And, we played DropMix until we passed out in a room affectionately deemed “The Opium Den”

image

It’s been a wild year of challenges and growth for all of us. We have a lot more work to do, but for now, we’re grateful for the enthusiasm and encouragement we’ve received, and we can’t wait to show you more.