[RELEASED!] Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

NaNoRenO is an event where creators make a game from scratch during the month of March.
Message
Author
TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

[RELEASED!] Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#1 Post by TakafumiSakagami »

Yoshioka ~Startling Blue~

Get the game via Itch.io!

Image

Yoshioka Aoi is a young girl training to become an idol.
As an up-and-coming rock star, this shining light of a seedy rock scene is noticed by an unproven producer from the idol production company 'I MY ME'.
Surrounded by doubting smiles from the company's staff, the two rookies entrust their dreams in one another.

Two years later, as her training period reaches its end, Aoi begins to question the path she's taken. Why did she choose this path, and where will it take her?
Aoi is a cheerful girl who sings sad songs.
A rock star who finds loud noises scary.
The child her parents always wanted, but never had time for.
The little sister who made her brother run away.
An idol whom all the staff love, but none of them trust.
For two years, this is all Aoi has been...

In the transitional period of this young lady's life, you—as her Producer—will be the only guiding light that believes in her dream.
Or... maybe she'll be the one to guide you.


Cinematic
Image

Less novel, more visual. Written and designed like a movie, this story is told through animation and sound instead of the usual narration, making for a light read.

Intimate
Image

By utilizing different methods of presentation, diegetic exposition, and naturalistic dialogue, the events are communicated delicately so you may enjoy the plot without feeling talked down to.

Easy to Play
Image

Play the whole story at once, or go at your own pace scene-by-scene. Don't wanna reach for the mouse? You can do everything via keyboard controls!

A Simple Beginning
Image

No convoluted lore, no crazy drama. A child is trying to find herself, and that's all the complexity life needs.

Get the game via Itch.io!
Last edited by TakafumiSakagami on Fri Mar 31, 2023 7:27 pm, edited 4 times in total.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#2 Post by TakafumiSakagami »

This is a game I was concepting last year as a learning project while following guides and using sample code sourced online... but I managed to program 4 lines in total before remembering I have responsibilities and bigger projects to work on, and I promptly scrapped it all.
But taking everything I'd learned from online tutorials and offline documentation into mind, this is a small game I'd like to make at some point, but with two major projects in the works, it's not like I'd ever have time to sit down and make something new...
The urge to NaNoRenO is strong indeed; I'm finally feeling well enough to get back into the grind, the new technology I have to work with is exciting, and it's nice to have an immediately-achievable goal. I'm not particularly well prepared this time around, but that doesn't matter because---
Well, let's just talk about the concept...

Aoi is a long-time OC of mine that as of today has little more than a design and a couple tiny bits of fiction to her name.
As an unofficial fan character based in the idol-filled Interlunium universe, she basically acts as an excuse for me to write post-rock music that I'll probably never get around to actually producing.
But throughout 2022 I did a lot of testing with different mediums and styles, each sample project based on characters I had created in the past, in the hopes of finding a direction for the future... and the one utilizing Aoi got me very excited. The competing projects (one involving pixel art, one involving 3D) were interesting enough, but the plans I'd laid out for Aoi's involved an unfamiliar engine and cutting-edge technology.
So before the futuristic tools and practices I'd discovered along the way become mundane to the march of time, I'm getting in early.

Image
This is from 2018!

That said, this time around, I'm going small-scale. Smaller than ever.
This project is going to be maybe an hour long at most, and that's being generous with my expectations.
It'll have no narration, no internal monologuing, no routes, no choices, no menus... we're stripping it down to the fundamentals. I won't be drawing all the backgrounds this time, or making all the music again, or programming day-night systems or branching routes with wildly different endings.
Our singular sprited character will come with one pose (or two, technically... wait and see what that means), a bunch of expressions, and she'll be fully voiced.
Our background art and music will be mostly free-use material because those aren't the aspects I want to practice this time.

The goal of this year's project is twofold: to learn how to use a new engine, and to make a game at a near-commercial level. I want this small little sample of a novel to feel like it was made by an experienced and established company, or as close to that as I can get.

Image

To do so, I'll be employing the KiriKiri engine, 吉里吉里Z 1.4.0 to be specific. I'm sure different parts of the audience reading this will be more aware of what that means than others, it's a classic engine after all, but to cut a long explanation short...
It's a very manual engine that relies on me building every little thing, but it grants me more immediate control over everything as a result. No tinkering around in the backend to break the foundations of the engine into what I need them to be; we're making this game from the ground up.

For example, let's say you want to fade the screen to black. In Ren'Py (the engine I used in my last two NaNoRenO projects) this would typically involve writing "window hide" or "window show" to hide or show the UI respectively, and then writing "scene black with dissolve" to fade to black.
If you have custom elements on screen, you might have to hide them too, but it's a very simple and immediate process.

In KiriKiriZ, before I can start actually making anything, I have to create the commands to hide the window, or fade the screen to black. Honestly, this first day was dedicated mostly to doing that.

So first things first, I created a debug menu full of some general features I'll need to create and test. Transitions, image movement, and ways to jump around the script so I don't have to read the entire game to get to where I want to test. Most of it isn't actually implemented, but priority number 1 is getting these debugging tools set up.

Image

The very first line of my Transition Checking section is the perfect place to explain the feature that 90% of KiriKiri development revolves around: macros.
You can convert any chunk of the game script into a macro, which then acts as a command word encased in brackets.
For a quick example, I made a macro named [eol] that shoves all my end-of-line code (such as waiting for a click to progress the text, clearing the text after the player clicks, etc...) into one short command. This way, I don't have to type three or four commands at the end of every line of dialogue; I only need to type one.

To go back to the first line of my Transition Checking code, the macro is...
[preamble]

Image

This code basically just sets up all the images I want to use in transition testing: the namebox (on layer 'message1'), the textbox (on layer 'message0'), the character sprite (on 'layer 0') and the background image (on layer 'base').
The namebox, textbox and character sprite are hidden, and the background image 'kuro' is just a jpeg of pure black.
I want all of these images to be ready to go, so before every transition test, I want to execute this code... but instead of typing out all of that (or copy-pasting it whenever I need it) I can turn it into a macro titled 'preamble' and then simply type '[preamble]' when I need it.

That's how most things work in KiriKiri: a word surrounded by square brackets that triggers some code you've stored somewhere.
Once you've written something once, you never have to write it again!

Though KiriKiriZ is available to use freely by anyone, it doesn't come with pre-written macros for basic tasks.
Typically the actually legit novel game companies would build macros from scratch for their first game, reuse them for the next game, and the next... and in such a manner their library of macros would expand and expand until everything they could ever need has already been written.
Some developers would partner with (or become employees of) production companies that supply these kinds of pre-built macro libraries. Other developers would pay to use ones that other devs have built.
One Visual Novel translation I did the programming work for (the Hokejo English translation) was built in a KiriKiri-clone by a development team named Citrus. While working on it, I discovered that the game repurposed macros and menus from Shuffle2, a game made by the parent brand of Citrus: Navel. Though the developers of these two games are completely different, they're both ultimately part of the same company, so they shared their macros to speed up development.

Unfortunately I'm not an established company, nor do I have pre-built code of my own to fall back on. If you're a real masochist, you could spend a few hours googling for macros that vaguely work but that you'll probably need to modify or replace later down the line... I've made that mistake before in different engines. Frankly, the best of that stuff has already been wiped off the face of the internet, so there's not much good to google.

Thankfully the text editor I'm using, FlashDevelop, has an incredible plugin for handling macros that auto-suggests things as you type. If I wrote "[prea" I could then hit 'tab' to autocomplete it to "[preamble]"
For more complicated macros that accept inputs, such as the transition macros I'm about to introduce, FlashDevelop then suggest all the different types of input that macro accepts, so you never forget how to use one and you never have to look things up.
Once you've built something, it's very quick and easy to reuse it over and over again.

So! For the transitions, here's what my debug script plays like:


It looks simple, but when I first started figuring this stuff out I was stuck fading objects in and out one by one, so the textbox would fade, then the namebox, then the sprite, then the background... it was terrible.

This debug section is written in "fade-in fade-out" couplets as... way too much code to fit on one screen.
Image
But once I know the code is working and I've got all my transitions looking how I'd like, I can cut out the debug text, clean it all up, and turn that big brick of code into some tiny little macros...
Image

I've set it up so that these macros accept four inputs: bg (background), sp (sprite), vs (visibility) and time.
Typing '[fade.all ' would immediately bring up a small menu showing all four of these inputs as options, so I can never forget how to use the command.
Image
The use of a mouse is for demonstration purposes. Keyboard control is very speedy.

Now for this project, I'm only going to be using the crossfade transition, so I didn't include transitions as an inputable aspect of the macro.
With the current scope of the game, I'm only ever going to have one character sprite on screen at once (placed on layer 0), so there's no "fade one sprite only" command. This may change later, of course.
There's also no sprite positioning, but you can just set up the image layer's positioning while it's hidden as I did in the [preamble] macro earlier.
This is what I mean by macro libraries expanding as you make more games; if I made another game in KiriKiri, I could copy these transition macros and add in a variation that lets you choose to fade in/out sprites based on what layer they're placed on.

But I know what some people must be thinking...
All that work to fade the screen to black?
Unlike Ren'Py, this stuff doesn't just work out of the box... I'm not sure you could say anything in KiriKiriZ works "out of the box" though. It's more of a "build your own box" kit of URLs and downloadable files.
 So there must be a payoff, right? Well, it's all about that second goal: to make a game at a commercial level. What better reference point than the very pinnacle? 'Mahoutsukai no Yoru', recently released in English as 'Witch on the Holy Night', was created in a branch of an older version of KiriKiri and it looks like a movie.
Granted, they did it with far more time, people, resources and experience than I have, but, I mean... you don't have to reach the top of the mountain to start climbing it.

This is a project with no narration and a very small script. We can't wax poetic to get people feeling, so we need to rely on something else...
We're treating this like a movie. We need voices, we need sound effects, and most of all, we need a great camera. Less novel, more visual. That's where KiriKiri pays off.

*Here's some cinematic flair from my previous NaNoRenO project built in Ren'Py. It took a lot of work to implement this kind of stuff, and it never felt good enough due to the line-by-line progression of Ren'Py.


Back in college, I was running two courses: English Literature and Filmmaking. It's safe to say, capturing this cinematic style in a way that satisfies my mental image for what my games could look like has been a long-time goal, and hopefully this big switch-up leads me to the solution.

As a small bonus, the engine is also compatible with E-mote, a piece of animation software used to animate character sprites in games such as Nekopara and Go Go Nippon (neither of which I've played, so honestly I'm not sure how capable it is).
The software developers have created a handy guide for implementing E-mote into KiriKiri using the engine as the medium, so it's the obvious go-to solution.
Image
However, although this is available for any ol' person to use, this is business software, only in Japanese, and getting the download (and a year-long license) involves email correspondence, so it's not the most immediately-accessible solution. They only respond to inquiries on business days, so... I did that businessy junk before the month started, just to make sure I had the software ready to go in time.

Now, I'm not typically a fan of animated sprites in these kinds of games—honestly it always looked a bit naff to me when I saw it—but for the sake of pacing out the scenes in a game with no narration, we need something happening on screen when words aren't being spoken, because... there's nothing more obnoxious than a script that always speaks.
For the story to effectively communicate the right emotions, the various plot beats require time to breath—little pillow moments that give readers time to rest in the feelings of the moment.
So some subtle animation here and there to show what Aoi is thinking, which when combined with panning cameras, cutaways, sound effects, and everything that communicates wordlessly, should alleviate some of the cheesiness of sprite animation. And if it doesn't? Well, at least it won't be screaming for attention by being the only moving thing on screen.

So tomorrow we'll get to work on Aoi's sprite, designing her with animation in mind, and maybe we'll even go a step further down the debug list to the 'camera pans' section and figure out how we're going to do that...

That's a brief introduction and a not-so-brief day 1 update on the game. It's all foundational, so maybe it doesn't make for the most enticing starter post, but... stay tuned for the cool stuff! You're not gonna believe some of the tech on show this time.
...I'll take you somewhere great. I promise. - Yoshioka Aoi

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#3 Post by TakafumiSakagami »

Ooh boy, production is beginning. I'm not quite feeling the reality of it yet, but the month's project is underway.

To start us off, I really want something to show, something visual. Day 1 was a lot of code talk, and it already took up an entire post alone, but the main appeal of bishoujoge is in the bishoujo, so let's talk about that!

First, a plan. One pose, one outfit, one expression. We might scale this up once we have a better idea of how the animation is going to work and how much time we have to spare, but for now, this is everything:
Image

This shoddy little thing I MSPainted yesterday will be our placeholder (mostly so I have something visual to tweet) to tide us over until I can actually sit down and draw a thing.
I know I said "one pose" and yet there appear to be two, but these are more like part guides than images I plan to complete. Neither of these images reflect exactly how Aoi will look in-game, but they act as a sort of keyframe planning for the animation going forward.

So today I cut one of them up into messy chunks and threw them on top of E-mote's default animations to familiarize myself with building the parts required.
It's been a long long time since I touched Live2D—over half a decade at least—so I've definitely forgotten just how much extra needs to be drawn for these animated dolls to work.

Again, these are stock animations, not intended for Aoi or for this particular pose, so it's a bit messy, but it gets the point across.

Feeling confident with the initial drafts, I've begun drawing the real deal, but... she's far from finished. I'm definitely not as fast as I once was, which is frustrating, but it's an excuse to talk about other things while that happens in the background. Dunno if I'll have anything worthwhile to show off any time soon though.

So, the other important thing to work on is the story. Most of today was spent planning out basically everything and putting in some actual dialogue. It's hard to tell how long it'll actually be in practice, but there's not much room for actual text.
Image
Image
A lot of it is still commented-out direction notes for future me to flesh out, or bullet points of what a scene should be, so there may end up being more talking than I anticipate, but... who knows?

I'm still not 100% on it, but the main framework is there. 8 scenes in total. Maybe I'll feel the need to add more once I've gotten the game into a playable state, but I'm just happy to have such a clear plan for the story at such an early stage.

Other than that, another bit of the debug menu has been developed! But it's not exactly complex...
Image

I cloned the "start game" button on the title screen and renamed it to "debugging". The only difference between them is that pressing the debugging button sets a flag named "debugging" to 1 before starting the game.
Then, at the top of the game script, the player is intercepted by an "if debugging = 1" check and thrown over to a scene selection menu.

Then, throughout the script, I've placed little asterisk headers in places I expect I'll need to check frequently. I can jump to any of those points via the debugging menu, and once the scene ends, I'll return to the scene selection screen.
It's not the cleanest implementation, but none of this is going to be in the final game, so who cares? The fastest way to check my changes on the fly is the best way in my books.

Aaand that's it for day 2! A much shorter post than day 1, but the unseen drawing I've been doing took up a lot of my time...

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#4 Post by TakafumiSakagami »

Taking a drawing break because in both of my previous NaNoRenOs, my wrists gave up halfway through which really impacted the quality of my work in the latter weeks, and I'm not as young as I used to be so I can't just recklessly charge onwards. Also my favourite F/GO character just got a buff so I'm shamelessly playing that today.

I've made some small progress on the art and done some other small things, but I've mostly written a bunch, so instead, I figured I'd talk a bit about the scenario since I haven't done much of that. What is the story I'm trying to tell here, and why?

Yoshioka Aoi is a weird one. Of all the characters I've made over the years, she's the only one that originates from something I didn't make.
Interlunium is an idol group—largely digital-based—made up of online singers. They were originally crowdfunded through Kickstarter, and they debuted 5 years ago, though it doesn't feel that long ago.

Now, I'm not much of a fandom person, nor am I an idol fan, but the people behind the project are a mix of people I'd listened to growing up and people I've grown to know more after the fact, so I've ended up spending a lot of time (and some money) on the franchise.
Oh, the main heroine of my NaNoRenO 2019 project 'By Your Side' was voiced by the producer of the project, so there's a fun link!
Wait, a more important link is that Aoi cameo'd in that game! I almost forgot about that completely!
Image
Anyway, let's speed things up! A long time ago, in a Discord server far away, was a channel for sharing Interlunium fan characters. I drew a design and wrote a short info sheet for Aoi, and that was how she was born! "Born" on a meta-level at least...
In-universe, to quote the first line of her backstory, "Aoi was born on the 18th of October as the second child of the Yoshioka family."
That backstory, which I wrote shortly after creating her, can be read in full here. It's not really important for this game... but it exists.
Since then however, her significance in my work has definitely increased. Most of the characters I create are either made specifically to fulfil a role in a story or game I'm creating, or they're purposefully made to be just a design to draw as a practice tool with no narrative baggage to think about.
Aoi is not only the only fan character I've ever made, but she's the only character I've made that I don't have full control of. I can take her and put her in any scenario, sure, but the world she comes from is one I didn't make. She's like a rogue actor in the lineup of fictional cast members I've created over the years.
For that reason, I like to think of her as the most fictional character I've ever made. That might sound silly, the idea that "fictional" comes in degrees, but let me put it this way...
At least within the world of By Your Side, the protagonist and heroine are real people. They are citizens of that fictional place.
Aoi doesn't have that; even in the world of Interlunium, she doesn't really exist.
Since she has no home in which she can be real, I like to have her cameo in other things as an interloping representation of fiction. She's a story that's present in everything else I make, like a bridge between all the worlds I create, and that's very fitting, because her story is all about connecting people.
Image
Let's Be One is a teenage girl's diary entry, detailing the day she became friends with a carefree (or careless) rocker named Aoi. It's a lot more freeform and less formal or poetic than my usual writing, so it's far from my favourite piece, but it's an example of the structure all of Aoi's features have had so far: from the outside.

Aoi is a character you only ever hear someone else talk about. You never get close to her, you never really get to understand her... You either see her on TV, or watch her perform on stage from afar, or hear about someone else's interactions with her. There's always been a barrier.

While I do like that structure, and I do like the conceptual distance between her and the audience, I also think there's an untapped charm to the character. This is a girl who wants to connect with everyone and understand them all, but as things are, she's far too distant from the world to achieve that.
The world she comes from is not a world I have control over, so she has no exposure, no connections, and no way of achieving her dreams...
Well, it's time to shatter the status quo. I'm giving Aoi the world she deserves. That's the goal of this game.
Image
You play as the producer who first found Aoi a couple years ago and, in an impulsive moment, decided to gamble their career on her success.
Aoi is currently living on the border between her old lifestyle and the new one. She hasn't finished her three years of training yet, and her reasons for choosing this way of life are still fresh in her mind.
Her producer has known her for long enough to trust her, but the connection between them doesn't feel as stable and solid as it could. The understanding between them feels a bit uncertain.
Aoi's reputation isn't very large, so not many other staff members know much about her, and she's only recently started featuring in variety shows and radio interviews. She is very much a story that people are starting to hear about, but one very distant from her intended audience. Her life as an idol hasn't even started yet.

So without the glitz and glam to fall back on, we'll focus on intimacy and character interactions in a mundane urban setting. A slice of comfort in a familiar setting.
The structural goal is to use multiple perspectives and flashbacks in order to build up thematic parallels between the past and the present, and between the producer and an individual from Aoi's past: her brother, who ran away from home.
So that we may cover both Aoi's backstory and Aoi's current story in parallel, we'll link the two together. We're using the past to introduce the future, you could say. When the emotional beats of both timelines resonate, it'll sew little seeds of worry over whether the current events will be a repeat of Aoi's lonely past. And when the two deviate from one another, it'll plant seeds of hope while showing new sides to the characters.
Will Aoi finally be able to connect with someone and form a mutual understanding, or will the producer leave her behind, as her brother once did?

It's all about the music, the silence, the body language, the small bits of dialogue, and the faith these two characters have in one another. A very quaint, humble story, but one focused on getting the most out of every little moment.
It's a different kind of relationship to the romantic one featured in By Your Side, but it's no less intimate. This is the working relationship between a lonely dreamer and a fledgeling fairy godmother. That's the story I hope to tell.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#5 Post by TakafumiSakagami »

It's an earlier update than usual 'cause I've got a concise topic this time. A lot of my time is being spent on a drawing I haven't finished, so... let's just focus on the things worth talking about for now.

I really dug through a lot of code today. I started work on the final bit of the debugging menu (although I split it into two separate categories during the process) and it involved a lot of... managing minor things. I'll probably forget some of the small bits I worked on, but... if I forget about it, it can't be important, right?

So, before we get into the nitty-gritty, let's outline the image I have for the camera panning functionality.

Firstly, each separate element must be able to pan individually. Backgrounds, sprites, anything... However we're currently stuck with only three layers that can be modified, and the background isn't one of them, so... we'll need to plan out what each of our layers are for and factor that into the previously made transition code.

Secondly, elements should be croppable, masked into their own section of the screen where they can pan without spilling out of their boundaries.
Unfortunately, the in-engine crop functionality is restricted to the game's native resolution, and I'm not willing to waste precious time on coding and testing something of that scope, which means we'll have to do that out-of-engine in Photoshop... Also this involves upscaling our current assets to get larger versions, so it's time to dust off my old Waifu2x machine! The Neural Networks are back baby!

So, while my computer toiled away at upscaling the current assets I have to work with, I got to coding. I began by making a quick screen reinitialization macro to fully reset every layer to their defaults, which will come in handy considering we're planning to move them around a lot.

Then I went back to the 'fade all' macro and added in functionality for all three image layers. I also made a macro to completely erase the screen, just to speed up my workflow in future.

Finally, I made a panel derivative of the 'fade all' macro that accepts positional input. I might end up moving this into the main 'fade all' later down the line, but for now, I'm still experimenting with it.
Oh, and since they were building up so quickly, I also moved all these macros into a dedicated script file and made the game call them on launch.

Image
In Photoshop I put together some sample assets for pans and panels. The pans are full-screen images with a quick gradient border, and the panels are smaller windows that similarly have a gradient to bound them.

In a process far longer than it had any right to be, I put these assets to practice with some rushed motions.

Although I haven't cleaned up the results to make it look perfectly practical, everything seems to be working exactly how I'd like it to, which... is a surprise. I wasn't expecting to solve all this in a day, but I'm not complaining...
Actually wait, this nonsense took most of my day to complete! I am complaining! Gimme back some of that time!

But I'm pretty proud of today's results. Tomorrow I'll probably create a bunch of stock animation sequence macros that I can simply plug into scenes when I need them, but I'll leave the actual asset creation for a future me; I've got an Aoi sprite to complete!

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#6 Post by TakafumiSakagami »

So let's talk about what we plan to use these panels for. Last time we focused on the implementation, but that's just a means to an end. Let's talk about their purpose in the narrative.

Since our script is very minimalist, and our characters are written as real people and not Shakespearean caricatures, there's not much room for poetic flair, metaphorical language, or... y'know, the stuff that sets the mood and makes the emotional moments resonant.

If we can't involve metaphors in our text, we need to bring them in from elsewhere. Thankfully, this medium involves more than just text, so we can take advantage of that.

To use a reoccurring metaphor from my earlier works, let's look at 'red and blue'.
In my major novel 'Aious', these two colours act as representations of the main character's conflicting personalities. Red and Blue frame different aspects of the protagonist's mindset as superior or inferior, and fuel the hypocrisy that guides the character's actions throughout the story. Ultimately both aspects stem from the same origin point but give incompatible results.
Image

In my first NaNoRenO project 'By Your Side', the two main characters represent these two colours. The protagonist's primary colour is red and the heroine's is blue, and the meaning from the previous work persists.
However, since these two characters have learned to live together and depend on one another, the clash of colours is no longer present in the story, represented by the heroine's pink hair dye to offset the blue in her palette.
Image

And in my second NaNoRenO project... well, just look at the very first shot of the trailer. That whole video's full of red and blue!
Image

So in this story, our main character Aoi represents blue, and her older brother Akami is red. To quote the opening scene:
Red. The world's most ancient color.
The light that reaches the furthest. A shade that screams for attention.
It knows not what lay beneath the sea, and yet…
The blue looks dazzling beneath the sun.
In his heart, the red already knew…
There was no room for a star in a world of startling blue.
With the metaphor established, and our bible of visual language ready to go, let's use our new paneling feature to speak a thousand words.

Image
In the game's starting scene, Aoi believes she saw her runaway brother, however she doesn't speak up about it, and since there's no internal monologue, there's no way for the player to know.

Conveniently (aka. with ample planning) this scene takes place at a crossing. On one side, blue lights; on the other, red. It's a bit of a pun because Aoi's name uses the same "blue" that green traffic lights use in Japan. It's a dumb joke.
Anyway, a quick zoom and pan over the red lights as Aoi thinks about her brother is enough to clue us in on what she's thinking about... at least, once we know that she has a brother who is represented by the colour red, which at this point in the story, they don't.
But I think it's crucial to have consistent visual language even before the audience knows how to read it, so that upon reflection, they may pick up on some of the clues long gone.

Speaking of planning, we've got storyboards!
Image
They're a bit vaguer than the usual kind (there are no timings because I'm going to be adjusting that on the fly) but I need to plan this stuff in advance so that it doesn't become a big scramble for assets at the end of the month.
As I go along, I've been gathering sound effects that pertain to each moment and editing + converting them into the ideal sounds for each moment. One of those small unmentioned tasks I hinted at before.

With sound implemented and pauses timed correctly, suddenly the cut between the prologue and the first scene is no longer a short single-second affair; there are several seconds of a car coming to a stop, someone getting out of the car, and a phone call being answered, all before the scene fades from black.
It's starting to feel like an actual game, and there aren't even any visuals implemented yet!

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#7 Post by TakafumiSakagami »

Last time I mentioned storyboards, so let's talk a bit about the text those storyboards exist for.

When it comes to writing, one of my biggest pet peeves is when characters explain things in a way that only makes sense in the context of a character talking to an audience.
If the people in your script are discussing information they'd typically take for granted, or your characters go out of their way to verbally exposit how they feel and why they feel that way... it's hard to take it seriously.
The number of times I've seen an episode of anime open to a babble of background characters saying things like "whoa it's that person who is famous for doing ___!" and "this event is going to be really exciting!" could total hours of regret. As I often quote on my blog for reviews: "you can't just have your characters announce how they feel! That makes me feel angry!"
To use the cinematic term... if your narration is supposed to be diegetic, at least be natural about it.

I think the prevalent behaviour for writers is that they'd sooner disrespect the intelligence of their audience than overestimate how much the audience will be able to figure out, and I don't blame them; you don't want the morals and meanings of your work to be missed out on. It's like overexplaining a tweet knowing that someone out there will misunderstand it in the worst way possible.
But as a niche creator, I don't think the lowest common denominator is worth serving. If some people aren't able to connect the dots, that's fine. There's a world of accessible media for them to choose from, and I'm sure they're more than happy with the quality of cinema and literature in its current state.

To me though, it's all about inferral. People feel in different ways, think in different ways, and respond to environments and atmospheres in different ways. Rather than tell my readers which way is correct, I want to let them roam. Sit in a moment, think about what's going on, and feel something.
It's the writer's equivalent to making an open-world game; wonder only exists for the unexplained. The peak moments of a Shadow of the Colossus or an Adventure Time come when the audience feels like they've scraped the surface of a much greater unknown... and when that unknown comes under threat of being overexplained, it feels bad to sit through.

Image

As such, the writing for this title is very light. For every discussion-filled beat, there is a moment of pause. A lot of things go left unsaid, but it's an introduction to this world and these characters nonetheless.

For example, here are some excerpts from a scene in which Aoi explains a little bit about her childhood.
Here, Aoi is a guest on a podcast, and naturally, they get talking about music, to which Aoi admits she doesn't listen to music very often because she has a fear of loud sounds.
To this, the obvious question is asked...

Presenter: So why is a audiophobe making music?
Aoi: Eeeh? I wonder~
Presenter: I sense a deep and mysterious backstory!
Aoi: Hehe, do I look that cool?
Presenter: Are we about to spoil the illusion?


This topic begins by prodding some fun at the idea that mysteries make things cooler. There's a real balance to explaining things: too little, and no one will be able to invest in your characters and setting; too much, and you'll rob the world of its appeal.

Aoi: So it's like… Were you ever scared of the dark?
Presenter: When I was young, sure.
Aoi: Right right? Me too!
Presenter: I think everyone was like that as a child.
There was something in the darkness, and it was scary.
Aoi: But I was the kind of kid who'd chase after it!
Presenter: What were you, a ghostbuster!?
◇ ◇ ◇
Presenter: And so, when it comes to sounds…
Aoi: There's something in the music and it's scary, but I'm chasing it.


We first relate her unique character trait to a more relatable one: a fear of the dark, or of what lurks within. The unknown. We're afraid of the dark because it obscures certainty...
Now, in Aoi's case, this uncertainty is not darkness, but music... and as an idol, music is her future.
In explaining a fragment of her past, we uncover the uncertainty of her future. We learn something new about her, but it leaves us wondering... What context created this fear, and how will it affect her going forward?
I like to equate this technique to the character writing in White Album 2's introductory chapter (or the anime adaptation equivalent), in which none of the characters change or develop for a majority of the text, but the things we learn about them change how we see them, creating the illusion of development.
This story too is an introductory chapter to a world. Before we can develop, we must establish a status quo... but stagnancy is boring, so we have to frequently redefine the reader's view of the world in small ways to make up for that. It's not as extreme as the "JJ Abrams' mystery box" approach, but I suppose it's similar in a way.

In covering this scene, we establish multiple metaphors that an audience can now follow along with: darkness, the unknown, music, the act of chasing something, and even something as simple as the idea of "cool"... All of these things are established in this scene to be called back to later.

Now, if a character is described as a shining light, we know of the darkness they contrast. Now, if someone goes running forward, we know what the chase represents. They're all just metaphors for the same thing in the end, Now we can talk about the unknown without explicitly doing so.
We don't need to join the dots or spell things out anymore. The verbal exposition is done, and we can develop our cast wordlessly... at least, when it comes to this single topic, we can.

But this is just a short excerpt from one random scene among many. As we talked about yesterday, building this bible of metaphors is a crucial part of how I create and engage with stories, so it's present in every scene in some way or another.
Whether you're writing a new story (as I do today), translating an old one (like my work on the English translation of SNOW), or simply analysing someone else's (e.g. my Little Busters analysis), the writer provides the readers with the dictionary required to understand the text, and each story comes with its own unique definitions.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#8 Post by TakafumiSakagami »

She's alive!

Well, not really. I had a practice turning the currently unfinished Aoi sprite into the individual parts required for animation to work. I definitely made some mistakes in the process that I'll have to troubleshoot solutions for, but for the most part, I think I've got it figured out.
The animation timeline is very simple, but for now I left it as a simple back and forth sway motion. I don't want to spend all my time tinkering with unfinished materials.

As I said, the sprite is unfinished, but... we're getting there.
Image

An initial shading pass of the top and a completely redrawn pair of eyes took up most of my free time today, so unfortunately I don't have anything more to share, but... not every day is gonna bring big results. In the spirit of By Your Side's Heroine, I'm focusing on the baby steps~

...wait, I haven't published the BYS update that contains the "baby steps" scene yet. Whoops.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#9 Post by TakafumiSakagami »

Hell hath returned.

As I storyboard out all the scenes in our script, there's one lingering responsibility that keeps popping up...
Unfortunately there is only so much you can achieve with stock assets, and very few match the specific directorial style I'm going for, which leaves me longing for images that simply don't exist.
Whether it be a closeup of the dance studio's wooden flooring, or a specifically-lit alleyway, or even just a shot of a non-descript ceiling... they aren't concepts people would draw for the sake of it; they're drawings that are born to suit a specific purpose.

I'm the only one wanting, and I'm the only one working on this, so... it's time to do my least favourite part of game making: drawing backgrounds. Well, partially.

Devoting my entire time to refining backgrounds before the meat of the game has even been established doesn't sound ideal, so I'll be producing some initial drafts as placeholder to program around, and then I'll touch them up at the end. So for now, we've got some quick lazy pannables.
Image

Another visual element of the game that has gone untouched so far is the textbox. While the final assets for the textbox and namebox are nonexistent, the placeholder we've been working with has been a good match, so I want to keep the spirit of it intact as we work towards the real deals.
However in pursuit of a stylistic change of boxes whenever certain characters are speaking or thinking, I quickly put together boxes of various colours to use in our testing.
Image

A new variable has been added to our fade macro: the frame choice. Now you can choose what colour of textbox and/or namebox you're fading in, so all background characters can look the same, all staff members share a shade, and all main characters have a unique colour to make the speaker immediately recognizable.
Currently it's just a change of hue, so this aspect of the game will be lost to some colourblind readers, but I plan on implementing further variations to alleviate this issue, and the namebox labels still do their job regardless.

In making this code, or more accurately, in making the assets... I had to figure out transparency. The placeholder box we were using was completely fine when I first converted it into a format KiriKiri could handle, however these new boxes didn't play as nicely with the engine. PNG conversion resulted in dark edges around semi-transparent edges, and TLG conversion led to visual artifacting along the borders of the image.
For future users of this tool, TLG5 all the way seems to be the solution. ItAddAlpha toggle depends on your config.

Tomorrow we finish up with these boxes and... do something else. Maybe more backgrounds. Maybe Aoi'll be finished. Who knows?

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#10 Post by TakafumiSakagami »

If life has taught me anything, it's that those who claim to keep promises best are the first to break them.
Now for a completely unrelated tangent, here are some complete textboxes and nameboxes.
Image
A little bit of flair if you dare. Some doo-dahs in the corners, a gradient to make things pop, and a subtle amount of transparency that involved way too much work, partly because that kind of functionality involves more programming and partly because the namebox and textbox regions overlap, which doesn't really work when transparency is involved. It took some tinkering, but the results scream "simple yet effective" to these eyes of mine.
Image
For this story, we'll be running with six variations, and to keep things thematic to this tiny little chapter of a tale, we're sticking to blue and red hues for our boxes. I don't know if I'll be making future content for this title, but in case I do, a suite of hues remain available to choose from.
I'm not promising anything more.

With the direct topic follow-up done, let's go to the direct chronological follow-up. Last night, after finishing up my work for the day and staying up far too late in the process, I went to bed and had a little think before falling asleep. In my half-asleep state I came up with a cool visual motif I'd like to implement.

One reoccurring location throughout the story is Aoi's family home, no scenes of which I've storyboarded yet. Purely by accident, I seem to have skirted around those moments, which is maybe why they came to mind as I tried to sleep.
We see it during the day and at night, in the past and in the present, empty, occupied, from Aoi's perspective and from the Producer's. It's an oft-reused backdrop, but it could be more than that.

A floor. That's all it takes to turn this reoccurring set piece into a story of symbolism. The image that came to mind was one of a floor, the foyer of the house. Sometimes a pair of shoes, sometimes a bag, sometimes dark and some days bright.
If we're shown a scene that takes place in that house today, show Aoi's shoes at the entranceway. And in the past? Akemi's shoes can be right there too. When the producer meets with Aoi's parents? No Aoi or Akemi, but...you get the idea. Objects placed at an entranceway tell a story about the people inside, and when the shots are compared, they tell a timeline of the family's life.

Suddenly a set of arguably-unrelated scenes become thematically united. The state of the household represents the state of Aoi's mind at the time, and so without her even being present, without words being exchanged, we learn more about her.
Well, that's what a halfway-to-dreamland version of me thought. In respect of the Taka half a day away from today, I figure we may as well give the idea a whirl. I don't know how I'm gonna draw this scene given that I suck at backgrounds and lack the patience for polish, but... here we go regardless!
Image
First, I woke up and jotted down the angle I had in mind, just in case I'd forget the idea upon starting my day.
Then later in the day, I thought about how exactly I plan on making this background image without dedicating way too much time to this...
3D. The answer is 3D.
So I reopened MSPaint, got that pencil tool ready, and sketched out the layout for this foyer.
Image
With the plan in mind, I jumped into Blender and threw a bunch of cubes and cylinders together. I honestly suck with Blender and mostly get by with trial and error, but that requires far more time than we have, so... I'm sticking to simple shapes.
Image
Between the modelling and the prior-covered textboxes, I haven't had much time to progress from there, but I'm making a start on the textures. I'm probably just gonna find free models online for the shoes, umbrellas, bags, and the rest of the clutter... so that'll cut down the time.
Image
With some lights put in place, we end today's randomly ambitious tangent at...
Image

Tomorrow we finish it! Nah, I'm doing something else...

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#11 Post by TakafumiSakagami »

Ta-da! Aoi sprite complete!

There are a lot of moving parts, so it'll take some time to figure out how best to export her, but at least in theory, she can be posed like this. Animation is a different story...

Image

With Aoi complete, the next step is surely to animate her, right?
Well, as much as that is the number one priority for progress... I've got a really bad case of flu. I was feeling a bit off yesterday, but I chalked it up to staying awake too long the previous day. Nope, I'm sick.
Major headache, my eyes do not appreciate looking at a bright screen, and... it's just not conducive to sprite work. I blame all the snow that's been hitting England recently...
Also, after turning over in my bed one too many times in order to breathe, my wrists aren't the happiest they've ever been.

So, hands out of action, eyes feeling rough, I'm forced to work on an aspect of the game I was hoping to save for when I had nothing left to talk about...
Singing.

When it comes to idol stories, you inevitably get to the part where... they have to sing and stuff. Now, I'm not much of a composer, especially not for vocal tracks, and absolutely not for rock (the genre Aoi prefers). I'm also not much of a singer, and I am far from Aoi's voice type. There are a lot of limitations we've gotta work around here, but it's a solo project after all, so we're inevitably going to run into something I can't just simply solve myself.
So, how do we proceed?

While the scope of our story here is pretty lowkey and there are only one or two occasions to cram in a full performance, there's never a moment where a big fancy high-production stage thing happens; Aoi hasn't even officially debuted as an idol, she's still a newbie at the company. She does sing on stage in her free time, but it's never a focus of the story.

However, one thing I want to fit into this is... the reason Aoi exists really: an excuse for me to write songs. I write a lot of lyrics when I'm bored, and she's good inspiration.
The title and topic of this little chapter of a game is based on one such song titled 'Startling Blue', so it'd feel wrong of me to not at least pay that song lip service. I'd particularly like to make a habit of titling chapters after songs and having the song feature to some extent (again, not promising any further chapters) so even if it's a little lowkey moment fitting of the novel's nature, I want this to be in the game.
So the scenario is: you stumble upon Aoi practising the song from a distance, and approach as she sings. From muffled and distant to close and in-your-face... or would 'in-your-ears' make more sense here?

So an acoustic little dooblydoo. No instrumentation required! Easy, right? Well, due to the nature of our voice acting... we can't just have Aoi sing. Not in a normal way (the meaning of that will be explained in a future post I'm sure). But what we can do is-! ...It's AI...
Using a neural network trained on a publicly available database of voice recordings provided by professional voice actor Koiwai Kotori, we funnel that into a vocoder smoothed out by machine learning, which gives us a synthesized audio file that... hopefully sounds like singing? ...can you tell I've never done this before?

Let's start with what currently exists for the song in question. Startling Blue is one of the poppier tracks... I imagine; there's no actual music for it, it's just a bunch of words in a notepad document. There's a full song in there to be fair, but we're only singing a short fragment of it today, so I'll just post the relevant section.
A startling blue.
Dancing beneath the hues.
Take me away from here.
Chase me if you dare.
Crucially, however, the opening of the song replaces "take me away from here" with "take away my tears", with an echo on "my tears." This part won't be in the game, but it's important I mention it because... the voice acting I mentioned earlier is Japanese. We need to translate this song, and these mirrored lines must remain linked in the translation.

Thankfully, I have some experience writing Japanese lyrics (for a By Your Side song funnily enough) and the one complicated line of these four—the mirroring of taking away someone's tears and taking away a person—has been solved by someone else.
The Japanese phrase, "連れ去って", used in sentences such as "Prince, take me away!" and "oh god I'm being kidnapped someone help please" has also been used to mean "take away my tears" by at least one Japanese songwriter in the past, so I'm gonna trust that single writer's metaphor game and mark this issue solved.
This is ideal because the dual-syllable "my tears" that echoes after the line needs to be met with an equal-syllable replacement in Japanese, which "連れ去って" has in "去って".
With that out of the way, our resulting translation is:
びっくりブルー
光に踊る
私を連れ去って
あえて追いかけて

Bikkuri Blue
Hikari ni odoru
Watashi o tsuresatte
Aete oikakete
It's basically a 1:1 translation aside from the second line, which becomes "dancing in the lights".
It fits into the right amount of syllables, and it maintains the rhyming scheme present in the English version... It's surprisingly perfect for how quick it was to do. All that time I spent translating poetry for the English translation of SNOW is finally paying off as a worthwhile skill!

Image

So, we start off in FL Studio, and make this simple little midi jingle.

Then we take that and import it into MuseScore3. Not MuseScore4; the most recent version of the software is incomplete and doesn't like importing midi files. 3 isn't exactly stable, but it works.
Image

We're using MuseScore here because we want to export this sheet of music into a musicxml file, which we can then shove into a short batch file to produce labels for the notes and for the words or sounds that our singer will be speaking.
It's also a second opportunity to tinker with the melody, this time using the lyrics as reference for what you want the song to sound like.

The labels we're looking for are generated from the resulting musicxml file via Neutrino, the software we'll be using to synthesize our sound.

Image

It'll also generate an initial pass of what it thinks our song should sound like.

Now to take advantage of those labels we made earlier. Using Wavesurfer, we can manually adjust the length of notes and determine when vowels and consonants start and end, which gives us finer control over what's being sung.

Image

This is especially important for adjusting unconventional phrases which the machine won't have been trained to deal with. You can alleviate a lot of that by using purpose-built labels in MuseScore, but either way, we've gotta give the bot a bit of a helping hand. Afterwards, we can shove these modified labels back into Neutrino, allowing this ever-faithful computer of mine to transform the initial synthesized sound into a realistic replication of the human voice.

And then finally, back to FL Studio for some minor post-processing, filtering out some of the highs and adding a slight reverb to smooth over the small lingering bits of static in the sound.
What this ultimately gives us is a bunch of stems we can alter the volumes of to reflect the distance between the singer and the listener. To use the first two lines as an example of this...

Distant Line
Close Line

It's a lot of work for very little, but a girl's gotta sing. And with that, we've created a voice where there was none previously, and overcome our solo-dev limitations in the process.
To be completely honest, these artificial methods aren't what I'd choose in an ideal world, and they're nowhere near as fulfilling as working with real talent, marvelling at the control they have over their voice... It's admittedly a step down from previous years.
Still, it is the dream of a creator to bring life.
I won't be able to bring Aoi's music to life today, and honestly, I may never be able to. I'm not sure I'm the person most suited for the job.
But at least for a moment, she can sing. And in my time-limited flu-inflicted state, that's the best I can do.

Now I'm gonna stop looking at a screen for a while and pray this headache goes away.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#12 Post by TakafumiSakagami »

I did a big sleep and now I'm back! The power of youth, gotta love a fast recovery.
So with Aoi's sprite complete, the process of turning it into a model has commenced! Unfortunately it's incredibly slow and not very showy, so I'm not sure how much I'll have to share today.

Although I found the time to actually obtain E-mote before NaNoRenO began, I didn't have any time to test it out, so the only experience I have with this software comes from when I trialed the PSD import functionality a couple times... and annoyingly, even that experience didn't save me from the pain of being inexperienced...

This footage here is the importer, from some footage I showed off on Discord a few days ago. It's a great visual aid for building the model, and it even automatically converts named layers into the desired object IDs, as you can see here with the many eyebrows and mouth types we drew.



Right off the bat, I ran into an issue today where the importer refused to acknowledge the left and right eyes as separate, instead duplicating the eyes and treating each pair as an individual eye, despite the eyebrows working perfectly fine under the same process. This wasn't an issue I ran into while testing the software out in prior days, so... I got a bit confused by this.
I ended up having to separate the eyes into individual layers and manually assign them to their relevant IDs in the importer, which was very boring and took quite a bit of time.

And since I have a bunch of experimental parts in the sprite that I'm not quite sure how to implement, I had a back-and-forth adventure with this importer while I figured out how best to assign things such as swappable hands and... an entirely different torso. The first I kinda cheated by combining the hands with the forearms, but that second one was... difficult to figure out. A cursory google gave me nothing, so I had to come up with a questionable solution.

From there, it's a matter of selecting each object (e.g. face, cheeks, nose, mouth, eyes, neck, etc...) and adjusting their shape and position along a linear graph representing a variable (e.g. looking left, bending forward, tilting right, etc...)
Here, for example, is the Left/Right tilt.



The collar, which is separate from both the neck and the torso, has been transformed at both the left-most and right-most points to sit in its correct place on the sprite. 

And here you can see me putting the shoulder in place as Aoi turns to face left and right.


It's far from completion. So far I've finished the shoulders, the neck, the collar, and the face. The hair, torso, forearms+hands, skirt and legs all need to be completed. And that's just the building blocks.
After that, I have to actually create the animations we'll be using in game, and... I really have no idea how that's gonna work, so here I pray for an easier day.

So for now, here are some simple samples~

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#13 Post by TakafumiSakagami »

So, after thinking on it overnight, I think I have a plan for how I can achieve what I want.

To give a simple explanation for how E-mote works, everything is assigned a value from... let's say -10 to +10. 0 is the default. This is charted along a bar.
<=======>
If Aoi was standing completely still in her default position, every value would be at 0.
If the eye value was at 0, her expression would be neutral, but if you increased it, her eye shape would change. Actually, let's use emotes for this!
0 = ._.
1 = -_-
2 = ^_^
As you adjust the value, the output changes. Although these values have default names, e.g. "looking up/down", "looking left/right", there's nothing to say that you have to use them that way. You could theoretically use the "looking left/right" bar to animate an arm moving up or down, it'd just be named incorrectly...
Now, this is my first time using this software, and aside from reading the initial user manual, I haven't dug too deep into how things work, so maybe there's a way to simply add new fields. We don't have much time to experiment unfortunately, so I'm going with the first solution that comes to mind instead.

Image

Here's a bunch of bars, and the ones I've outlined in red are the ones I wouldn't mind trading for other functions.
The top four adjust "leaning forward/back", "left shoulder up/down", "right shoulder up/down", and the arm positions. Those first three aren't values I plan to use, so replacing them will be fine.
For that final one, E-mote takes layers from the PSD named LeftArmA, LeftArmB, etc... What I didn't realize during importing is that both Left and Right arm are attached to the same single bar, meaning LeftArmA and RightArmA will always display together... so I'll need to import all the combinations I need manually into A~E layers.

Those bottom three I've outlined in red are currently tied to the visibility of the torso type. Adjusting Z makes one type of torso visible. Adjusting Y does the same for the other. X is spare, as are the many above it, meaning additional parts could be tied to them as well. Crucially, these can't be used to animate; they only control visibility.

Now I'm not entirely sure how much of an impact removing the lean variable will have; it'd be nice for adding subtle depth, so it might be nice to keep around. For that reason, 特殊変形1 is more of a last-resort removal than anything. If I can execute my plans in the most ideal manner, that can be done.
So what is this most ideal manner?

特殊変形2, which currently adjusts the left shoulder, will be repurposed to control the positioning of arms. Each arm combination (as mentioned before, ArmA, ArmB, ArmC, etc...) will have a charted animation that begins with the value -30 and ends at 30.
So with ArmB enabled—in which Aoi's left hand is outstretched—this animation will be one of her arm raising before her mouth, useful for expressing surprise or laughter.
With ArmC enabled however, she may instead cross her arms with closed fists. These two animations would be charted along the same 特殊変形2 bar, but change massively depending on which Arm combination is visible.

Even more drastically, 特殊変形3 (currently the right shoulder) will transform Aoi from her initial pose to her secondary one, utilizing the alternative torso we drew. For this, every single bar would need to be adjusted. Whether 特殊変形3 is at 0 or 1 could change the default placement of the skirt, or flip the collar vertically, or result in different arm animations from 特殊変形2.

Essentially, if A and B are enabled, you get Z. But if A and C are enabled, you get Y instead. If A, B and C are enabled, you get X. Every combination needs a result.
It's a bit of a complicated process, and really, writing this all down is helping me solidify what it is I have to do to achieve the sprite we're chasing.

I sadly haven't had time to reimport the various arm configurations needed yet, because I spent most of the day figuring out the torso swapping, which is the area I had the least expectation of fulfilling and no idea how I could or should go about it.
To be frank, it was pretty exhausting and I really just want to take a break, so I'll leave further explanation for tomorrow's me and simply sign off with a clip.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#14 Post by TakafumiSakagami »

Today I managed to get the basics of the transition down, but it's still very rough. Since I felt like I should take a break yesterday, but am very much still excited about making any little bit of progress I can, I left the pose transformation in this very rough state for today...



Instead, I decided to return to our Blender project from earlier and finish up the foyer scene we had begun modelling.
Textures were applied to the bits that we didn't get around to texturing last time, the larger objects such as the drawers and the door were embellished a little so that they weren't just simple cubes, and then I threw in a whole bunch of clutter.
Image

I actually included a lot of misc. objects intended to be toggled on and off depending on the scene being portrayed in question. This sunset scene acts as a flashback, so objects reflecting the household at the time are retained, and the rest of the clutter is hidden.

Over in our modern-day version of the scene, which takes place at night, the objects present change.
Image

Aoi is still outside during this scene, so her shoes are gone (she aged out of them a long time ago anyway), but her parents are home this time, so their belongings take up the space instead.

Then of course I still have to throw these renders into Photoshop to make them look more stylistically similar to our stock backgrounds. Adding sharper lines to objects, drawing in the window so it's more than just a gap in the wall, and drawing in some lighting effects by hand make up the bulk of the process.
Image

It could absolutely use some further touch-ups; a lot of objects went entirely untouched... however we're almost halfway through the month and progress on the actual game needs to be made, so as I said back when we drew the floor pannable, the polish can come once everything major is complete.
We really just need base assets to program into the game so that it's ready to go by the end of the month, regardless of what state those assets are in. If Aoi's sprite gets finished early enough, and exporting and programming around it works smoothly (still not sure how that'll even work tbh) then we'll come back and further refine these background images.

TakafumiSakagami
Regular
Posts: 101
Joined: Thu Aug 30, 2018 5:22 am
Completed: By Your Side, Yoshioka
Projects: Aious ~Proof of Concept~, Aidos
Organization: Kyacchi22
Deviantart: takafumisakagami
Contact:

Re: Yoshioka ~Startling Blue~ [NaNo2023][Idol, Slice-of-Life]

#15 Post by TakafumiSakagami »

Either yesterday's background art was too much drawing in one go, or it was the straw that broke the camel's back.
My wrists aren't happy with me. Well, they're only a little bit achey, but I'm taking pre-emptive measures and calling this a no-draw day. Instead, I'm focusing on things that don't require much typing, so I can give my wrists a break... While typing this update, of course.

Sadly for me, there's only one aspect of the game that doesn't require meticulous typing or hand usage to progress, and it's the aspect I didn't want to talk about this early. Until now, it's been a minor task I've been doing in small batches behind the scenes, but if this is all I do today, I'm kinda forced into talking about it. It's really not in a pretty place right now, but oh well...

Since this hasn't been a main focus so far, and is something I plan to work more on once everything else is complete, there's not really a proper voice system implemented. Currently voice lines lack a dedicated volume setting, can't be disabled, and have no fancy settings you'd typically want. Well, it lowers the BGM volume slightly while the voice is playing, but it's a short lazy method that doesn't really work and is absolutely a temporary solution.
We also haven't edited any of them yet, which we'll get around to doing eventually, so... it's in a rough state all-around currently.

With that in mind, Aoi's voice—which you've already heard from that time we made her sing—sounds a little bit like this.

Please ignore the visuals. The temp Aoi asset is permanently stuck on screen right now, the day1 implementation of textbox fading is being used still despite the changes we've made to that, and I used this intro segment to test out zoom and lens focus effects while drawing up one of those storyboards I showed off, so there's a lot more stuff going on visually than intended... It's almost a debug room in its own right.

What matters here is the voice. The story's script has (for the most part) been completely written, but in order to get the voice right, we first need to translate the script. That's not something that requires typing since it's all in the head, so that's the main reason I chose to focus on it today while giving my wrists a break.

As she was in singing, Aoi is voiced by No.7, a recorded database of sounds provided by professional voice actor Koiwai Kotori. This dataset is available for use in all kinds of software, from the previously seen AI-trained synthesizer Neutrino to today's Voicevox, a hands-on speech software reminiscent of old-school Vocaloid. You manually control the pitch, duration, volume, and breathiness of the voice.
Usually this software is used for those weird guide videos you'll find on NicoNico or Youtube of Touhou characters with high-pitched robotic voices explaining niche subjects (I get all my Yu-Gi-Oh knowledge from them!) but I think they do a real disservice to the technology, much in the way Vocaloid singers of old were done a disservice by the "pitch them as if they're all Hatsune Miku" approach.

Compare that earlier scene with its bouncier tone to this wistful pair of lines from a section of the game I haven't programmed in the slightest.

You can get some subtlety out of No.7, so long as you know how to control it to get the desired results.
As I said during the sing-song post, this isn't the ideal method I'd choose in a best-case scenario, but bringing a voice actor I'm unable to fairly compensate right now onto a project I may continue to expand upon in future sounds like a disaster in the making.
Using No.7 as a stop-gap measure is a lot more sustainable for the project, and that's the main reason I'm committing to this method, but that doesn't mean I don't believe in the quality of the results.
The point of voice is to express, and if I didn't think the technology was good enough to communicate the emotions I want it to, this game would be voiceless. It certainly helps that the scope of the game is so restrained; any more expressive and this method would go out the window.

Where I lack in preparation and practice, technology will take the reigns.

Post Reply

Who is online

Users browsing this forum: No registered users