Aug 30, 2018

Livenotes & Nolwenn's "Did You Know?"

You'll be able to see the splash screen and main menu for Blanche Biche soon. :) In the meantime, I'll tell you a quick story.

You see, the opening theme is pretty slow, and since I've spent quite a lot of time working on it I was basically wondering how I could get the user to spend as much time as possible on the splash screen (without getting bored of course). At some point I threw on the table the idea of a "did you know?" that would show up at runtime, with fun and interesting facts about France and French (while we were at it). Then, Blueroze suggested it could be some sort of a blog of Nolwenn's (one of our female main characters), and soon it gave birth to an entire concept for a fictitious social media.

Introducing Livenotes!

As you can see, we like to go all-out with even the most trivial ideas—which is probably why the development of this game takes forever. :p

Now Nolwenn's "Did You Know?" is open for questions! If there's anything you'd like to know about France, or French, or Brittany, or pretty much anything really, ask away, and Nolwenn might just give you the answer! :)

Aug 20, 2018

More about Topics

Hello dear followers, and today we're going to take a closer look at Blanche Biche's founding concept, the conversation topics!

I was always bothered by the fact that, in a traditional visual novel, you are only prompted with a few more-or-less obvious choices at key moments. Granted, we're in a video game and it's scripted at some point, so you can't just do whatever you want and expect it to react dynamically to your behavior—however, the tracks don't need to be so reidiculously apparent either. So, I thought, what if, instead of choosing between two or three circumstantial responses, you had a permanent list of a dozen of options? Some of them may do nothing at times, but you couldn't know a priori, at best you could speculate using your brain.

That's the main idea behind the conversation topics—to get the player to think and make decisions based on the relevance of each topic in each situation. Forget about binary choices and just imagine that, whenever asked for a reaction, you can come up with any of the many conversation topics you have unlocked so far. If you're trying to keep a secret and a girl is being nosy, you may want to deviate the conversation to topics which have nothing to do with it. Conversely, if you think the girl is hiding something from you, you can beat around the bush, trying to get her to spit it out. The thing is, whatever you're hoping to achieve, you have a big number of options to do so, and it's up to you which is the best pick at that moment.

So you might say, okay, it's all very nice, but in the end, it's just a fancy way of choosing between a set number of routes.

But it gets better.

In my post about the Tone Wheel, I told you how the point was to give the player some intiative potential, that is, to allow them to start things, instead of always waiting to be prompted by NPCs. Well then, I thought, there are two people in a conversation (that is, at least two), and if one is always responding to what the other produces, this makes for a poor experience. So, the conversation is just getting started, you get to choose a conversation topic. The girl reacts to what you had to say about it. And then, the girl chooses another topic of her own to continue the conversation. You react to what she said, then it's your turn to choose a topic again.

But it would be pointless if the girl chose her topics at random. So what happens is that each girl is able to assess the relevance of each conversation topic depending on a number of parameters. And the main parameter is, what did we just talk about? Whatever happens, the girls will always do their best to choose a topic that makes for a smooth transition with the previous one. Think of the conversation as some sort of map, and each topic is plotted on that map like a city. The closer two topics are on the map, the more related they are. What you get is a nice maze to be navigated. When you move to a different topic, you get the conversation closer to a number of other topics—and away from yet another number of them.

This is an example of how a few conversation topics could be organized to illustrate the concept. Say you're chatting with the Artsy Girl and you choose to talk about Video Games. If she wants to talk about the Museum, for instance, she'll politely bring up Movies first, to try and get closer to it, without breaking the flow of the conversation. From there, you can follow her lead and go to Painting or Photography, but you could ignore her and start talking about sports. The thing is that, if you keep pushing the conversation away from the topics a girl wishes to discuss, that will piss her off—no matter whether you retain a Friendly tone at all times!

But it's not as simple as spamming topics that are close to a girl's interests either. Say the Artsy Girl had a fight with the Sporty Girl, and thus wishes to talk about her to ease her mind. So you'll try the Museum, she'll respond with Painting. You'll try Dancing, she'll respond with Martial Arts. If you are oblivious to the cue and try to bring the conversation back to the girl and her interests, the conversation will never turn out the way she intended. In other words, there is not all-purpose strategy to it—you'll have to watch for the girl's choices of topics, and cross-check them with recent events to understand where she's trying to go with that. Also, a girl might try to avoid a particular topic, rather than reach it, in which case she'll do her best to steer the conversation away from it, while still picking good transitions. Or you might be in a situation where you have a conversation with two girls at the same time—say, one who wishes to talk about a particular topic, and one who wishes to avoid that same topic at all costs, to make it fun. As you can see, many different situations can arise, and the idea has a lot of potential.

The difficult part, of course, is that you're not getting a map such as that one in-game. It's all up to you to evaluate how related two topics may be, and what other topics may lie in the direction the girl is trying to take you. So, as you can see, it turns into a nice little mind game between the player and the computer, where you can count on nothing but your wits and keen sense of observation. :) Oh, and did I forget to mention that, just like each girl has her own idea for moods, she also has a personal appreciation of the distances between topics, making a single topic very easy to bring up with one girl, and very difficult with another? Well, there you have it. :)

Anyway, that's about it about conversation topics. Hope I managed to pique your interest, and until next time. :)

Jun 10, 2018

More about the Tone Wheel

So, we've been telling you there would be a way to adjust the way you interact with girls in Blanche Biche. Today I'm going to explain a bit more about that aspect of the game.

First, the idea behind is to provide the player with ways to take the initiative. In a classic dating sim, when you're presented with a choice, you always end up reacting to what's happening in the game. There's no way to do something like stop the game at any point and boom! do something—no matter how insignificant—that will have any effects whatsoever. In Blanche Biche, topics are a way to achieve that (like, you get to choose whether to stay in line with what your partner was saying, or you can break from it completely)—tones are the other.

In concrete terms, you will have a Tone Wheel at your disposal, which lets you adjust your tone at any point in the conversation—even mid-topic, although we're still discussing the relevance of allowing that. That means, if the girl is teasing you, you can go for a teasing tone as well, then if she has a bad reaction, switch to a friendly tone, then realizing the conversation isn't serious enough to your taste, and so on. The tone you choose to assume affects both the girl's immediate response, and her feelings toward you in the long run. That means, if you're constantly teasing a girl, she might not get angry at first, but at some point it will upset her. Conversely, if you're generally being friendly and choose to be teasing for once, she might be offended at that moment, but stay in good terms with you nevertheless.

The Tone Wheel works as a two-dimensional representation of mood, as shown below:

  • From left to right: how unpleasant vs. pleasant the mood is.
  • From bottom to top: how casual vs. serious the mood is.
  • Hence, the Friendly and Hostile tones are extremes on the plesantness axis, but neutral on the seriousness axis.
  • Just the same, the Casual and Serious tones are extremes on the seriousness axis, but neutral on the pleasantness axis.
  • All others tones are a combination of the two scales: the Intimate tone is somewhat pleasant and somewhat serious, the Teasing tone is somewhat unpleasant and somewhat casual, and so on.
At first, each girl will be Neutral toward you. Then as you start playing around with tones, you're going to affect how she sees you, dragging her mood around the two-dimensional space pictured above. Your ultimate goal is to push toward the Intimate quadrant, which is what you want to be for romantic involvement. So being Friendly won't be enough, you'll have to get your relationship more Serious (and conversely).

Sounds easy enough? Did I forget to mention that each girl has a distorted, subjective vision of that mood space? Simply put, a girl might think of the Provoking/Outgoing axis as her own pleasantness scale—which in turn makes the Teasing/Intimate axis as her seriousness axis. So if you're trying to be Intimate, in her eyes you will actually be Serious, which isn't bad, but not exactly what you wanted. And then, you might end up lacking pleasantness in your relationship to become romantically involved with each other.

SO, it won't be just as easy as spamming the Intimate tone to get in a girl's good graces. For some of them, you may even have to resort to unpleasant tones to earn their respect! What you WILL have to do is to watch closely for each girl's reactions, then try and guess what tones work for her. A whole world of experimentation lies ahead! :)

That's it for the most important aspects of Blanche Biche's mood management. There are still a few hidden mechanics to it I'm keeping secret for now, but this should give you a good enough preview of how things are going to work. :) Don't hesitate to share your thoughts or ask questions in the comments!

A Facebook page for Blanche Biche

As the development of Blanche Biche is going, we feel the need to tell the world about it. To that effect, I created a page on my blog, and also a Facebook page! Please visit and like and share all you can to help us reach as many people as possible. :) Thank you in advance for your support! :)

May 20, 2018

[Update] Live2D modeling progress

So, I announced Blanche Biche will be a Unity game due to its support for Live2D, but you might still be wondering what Live2D is all about. Simply put, it's a 2D animation software. But its specificity is that it's not a frame-by-frame animation tool. What it does is, it allows you to create a model which deforms itself according to a variety of parameters. Thus, you can effectively open and close the eyes, tilt the head, stretch the mouth, and so on, pretty much like you would with a 3D model--except there's zero 3D in there. So it's just animated 2D, but cleverly so. Models created by professionals may look incredibly lively and give an impressive illusion of depth.

Pretty nice, huh? Well, that's just what we're trying to do with our own graphics. My partner Blueroze is currently spending all of her free time rigging her first model, and she's not quite there yet, but most of the face is ready to be animated already. Here's a quick video from the editor to show you how it looks like so far.

So, I don't know about you, but as far as I'm concerned I'm a huge fan. And if you were wondering, it's her first shot at it, so I can't wait to see how it turns out in the end. :)

May 12, 2018

[Update] A name for Project Conversation

So, we've been thinking for a while about a proper title for our dear Project Conversation. And we've found it. Moonpearl and Blueroze proudly present: Blanche Biche (French for White Doe).

We'll leave it up to you to speculate about the implications of that title for now, and what on earth this has to do with a dating sim. :) But I'll provide a few elements of context as hints. Let us know if you have any theories in the comments!

La complainte de la blanche biche (The White Doe's Complaint) is a medieval ballad from Western France. Here's a link to my personal favorite performance of it, along with a translation of the lyrics.

Those who go to the woods
Those are the mother and the daughter
The mother walks while humming
And her daughter sighs
"What's with the sighing
My white Marguerite?"
"I have so much turmoil within
And do not dare tell you"

"I'm a girl during daytime
And a white doe at night
The hunters are after me
Barons and princes
And my brother Renaud
Who's the worst of all
Please, mother, quickly go
And tell him

That he must stop his dogs
Until tomorrow morning"
"Where are your dogs, Renaud
And the hunting gentlemen?"
"They are inside the woods
Chasing the white doe"
"Stop them, Renaud
Stop them, I beg of you"

Three times did he call them
With his copper horn
At the third time
The white doe is captured
Let's summon a skinner
To skin the doe
The one who skins her
Says "I'm at a loss of words"

She has blonde hair
And breasts like a girl
He drew his knife
And sliced her into pieces
They made a supper out of her
For barons and princes
"Here we're all sitting
Save for my sister Marguerite"

"You just have to eat
I'm the first one at the table
My head is in the platter
And my heart on spikes
My blood is splattered
All around the kitchen
And on your black coal
My poor bones are roasting"

(back to 1st verse)

May 1, 2018

[Update] A node-based editor in Unity

As I announced in my previous post, we were considering a switch to Unity, mainly because of the Live2D support. So I've been poking around, trying to assess whether the Unity framework and C# was for me. To be honest, I think if I'd tried it a few years ago, C# would've turned me off. But I figured, I have so much experience in programming, and I wish to go into business as a game developer, I can't just stop at the difficulty of a new language. Plus, I learned Python so easily that it encouraged me to take the plunge.

So I need to recode everything I've done for Project Conversation in Unity/C# and it's probably be tedious and boring (rather than actually challenging, since I merely need to translate scripts from a language to another). But first I had to recreate a visual novel-like gameplay, and that's when I realized Unity allows one to do something very cool--you can program the editor itself! If you remember my works for RPG Maker XP, you should know that I like to hijack the system to make the game designer's life easier, like I did with my Balloon System or the Party Interaction System. So the mere possibility of messing around with the editor was the ultimate argument to win my heart, I guess.

Thus, the first challenge I set myself was to create a node-based editor to make it possible for me (and more importantly, for my partner) to write dialogue scenes in a simple, visual fashion. I know such a system already exists in the Asset Store, but it's paid, and I don't like how it works, and I couldn't just build a game for someone else's scripts and call it mine anyway. So I gathered my courage and well, I made it. It's quite crude by the time I'm writing this, but the basic concepts are there. You can create dialogue boxes, connect them in the order you want them to appear. And more importantly, it all converts into game logic which make the scene unfold exactly like you've set it up when you run the program. To be honest, I was surprised it actually worked (almost) at first, with so few bugs. :p So I'm quite proud of my work. :)

So, unless I run into a huge problem, you can expect Project Conversation to go to Unity. :)