Sponsored By

A breakdown of the drink choice mechanic in Sukeban games' VA-11 HALL-A

“At its heart,” says writer and programmer Fernando Damas, “the drink mixing system is really simple. It's like a dialogue choice menu where you don't know how many options there are.”

Katherine Cross, Contributor

July 12, 2016

7 Min Read
Game Developer logo in a gray background | Game Developer

Sukeban Games’ cyberpunk bartending title VA-11 HALL-A appears to have had a fine launch and that’s all to the good. I praised the innovative little game, steeped in anime references and internet culture savvy, for its new take on player choice. How you mix your patrons’ drinks, and their alcohol content, effectively take the place of dialogue options. You do not choose what Jill, the bartender you play, says so much as how she mixes the drinks. This affects the flow of conversation, what stories get told, and even future conversations. VA-11 HALL-A has multiple endings as well, with each being influenced by what your libations may lead characters to say or do. 

I had worried that, from a design perspective, the system was a bit opaque and lacked the kind of clear feedback that taught players the consequences of their actions. That said, in several places, I just experimented with ratcheting up the alcohol content of some drinks and was pleased to see that I left some patrons red-facedly drunk as a result; whatever they were saying, I had a clear sense that the drink had loosened their tongues somehow at least.

To give a clearer sense of how this all works for players who are interested in going back and trying to get alternate endings, however, I reached out to Sukeban Games to get more details on how this all works. The following should serve as a rough outline of how to “choose” in the game, and also hopefully provide a template that other designers and programmers can play with and expand upon. I recently asked Sukeban writer and programmer Fernando Damas to pop open VA-11 HALL-A’s hood and show me how it all worked.

“At its heart,” he told me, “the mixing system is really simple. It's like a dialogue choice menu where you don't know how many options there are, and its behavior is no different from other games with such a system.”

After you press “Serve,” the game runs a script that determines how your client responds to the drink you’ve just mixed. It checks the day, the client, and the particular drink, before testing it against a pattern. The example Damas gave was a client who asks for a sweet, alcoholic drink. The game’s script produces reactions for the following scenarios: correct drink; sweet drink with no alcohol; alcoholic but not sweet; neither sweet nor alcoholic. Each serving prompts a different reaction, acting as a kind of “dialogue” choice. 

This is how it looks in the game’s code:

 

if flavor_a == "sweet"
{
           if alcohol_a
          {
                        //answer for the right drink
          }
          else
         {
                       //answer to sweet but not alcoholic
         }
}
else
{
    if alcohol_a
    {
                 //answer to not sweet but alcoholic
    }
    else
    {
                 //answer to neither sweet nor alcoholic
    }
}

Each drink has a set of properties:

-A name
-An ID to know it's that specific drink
-Flavour (Sweet, Bitter, Sour, Spicy or Bubbly)
-Type (Girly, Manly, Classic, Classy or Promo)
-A flag if it's alcoholic or not.
-A flag if it's big (i.e. doubled) or not.
-Its score (price).

“These give us freedom regarding what the clients ask for,” Damas said. “We can check for flavors, kinds and make the characters answer to each. Each answer also saves a flag we can use in later branchings, so if our example above was for Dorothy, the code would be like this:

if flavor_a == "sweet"
{
           if alcohol_a
          {
                        dorothy1="right"
                        //answer for the right drink
          }
         else
         {
                        dorothy1="sweet"
                        //answer to sweet but not alcoholic
          }
}
else
{
         if alcohol_a
        {
                        dorothy1="alcohol"
                        //answer to not sweet but alcoholic
        }
       else
       {
                      dorothy1="else"
                      //answer to neither sweet nor alcoholic
        }
}

According to Damas, on average, making your drinks correctly will make conversations more “personal and sentimental” but this rule of thumb should not discourage experimentation. One moment I remember in particular, where the choice mechanic felt very expressed, was when you were serving a biker who was deeply insecure in his masculinity. He stumbled over his orders, meekly asking for “girly” drinks first before bucking up and demanding something “manly.” So far as I could tell, either order was “correct” but each led to different dialogues where Jill either encouraged the biker to be himself or approving of his manly displays. This occurs in less obvious places as well.

Damas gave the example of Ingram, a particularly assholish customer you get on the very first day. “Whether you get him the right drinks or not he'll always talk about the same thing before leaving... unless you give him sweet drinks. Every sweet drink will result in a different answer from him.” I shan’t spoil what gets said here, but suffice to say, this incorrect serving turns out to be the way to his heart.

Then there’s the question of alcohol content itself. Karmotrine, the silvery colored ingredient, is the alcoholic content of a drink (through dialogue you may learn its an artificial alcohol substitute used in this cyberpunk dystopia). For drinks where Karmotrine is listed as “optional,” you can add as much as you like to make it variably alcoholic, or leave it out completely to be non-alcoholic. There are moments where this choice is very pivotal, such as when you’re serving an underage girl who walks in one night.

It is also part of a hidden mechanic that determines how quickly your patrons get drunk--which also affects dialogue. “At the moment of serving,” Damas says, “the game adds the amount of Karmotrine of the last drink served to a variable, this variable resets after each client. If the value goes over a certain amount, the character can get drunk. Donovan on the first day, for example, has a point in the script where, if the Karmotrine value is over 18 he'll get drunk.”

This mechanic is also replicated in a crucial one-off scene at Jill’s apartment, where the game checks how many beers she’s consumed against her potential dialogue.

All in all it’s a very interesting mechanic. As I said, it expresses the game’s theme to a tee, even if it’s a bit unclear how it works--and that submerged quality can be a problem at times, making the game appear a touch less interactive than it really is, unless you’re quite adventurous. One shouldn’t punish such an effort, however. Just as random gun violence has gotten a bit stale as a game mechanic, so too have Bioware-style dialogue trees, and efforts to experiment should be applauded. This particular experiment will be, I hope, remembered as a breakthrough in choice mechanics that inspires many imitators. 

In addition, I think that once one has a sense of what the “choices” actually are, the system becomes a good deal less opaque.

So go out there, mix drinks, and change lives, as Jill might say.

Katherine Cross is a Ph.D student in sociology who researches anti-social behavior online, and a gaming critic whose work has appeared in numerous publications.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like