Hey peeps, this post is gonna be a bit rambly. It's gonna be a long one.
I sadly didn't meet my goal of making a build by the end of the month. Not for lack of trying, but because the task was insurmountable. And that became clear the more I worked on things.
In-fact it became so clear, and the volume of work needed, beyond that even knowing it's significant STILL unable to determine HOW significant. It kind of put me in a state of panic and depression this week. Thats unusual for me. But it's the thing that usually results in solutions.
TL;DR This was a problem of a task improperly assigned to myself rather than more work than I should be able to manage. Let me explain.
I've explained before the steps I needed to take to get a task done. So, this time I'll explain what I mean specifically about cinematics and how the issue became "insurmountable". Let's start simple.
In Our Apartment Preview you saw scenes like 3 weeks, and the modified missionary scene, these are the kinds of cinematics I mean. Obviously, they aren't raw animations, they're mostly dialogue driven rather than just an animation playing. But they do need animations, and not just animations. The basic structure of a scene is like this.

Scene:
Then dialogue wise it needs to be integrated.
Conversation:
Not too bad right? Technically it isn't the worst, but it starts to become a problem because this really isn't everything needed. As soon as I started the work the above ballooned quickly.

Now I'm of course aware of this from the beginning but for some perspective a single conversation can have many nodes like the above. Each square there is a node that potentially needs to be configured.
For one the first task before I could do anything was to setup a "pooling" system of sorts. Basically, a place to store the characters when they weren't in use. Originally, I did this by simply deactivating their objects, but this caused a lot of problems. Thats why in recent builds you started seeing Naomi in the player just kind of hanging out somewhere.
You see when objects are disabled it means many things. Their scripts can't run, references can get lost, often things get deregistered when an object is disabled, if one script is dependent on a object being around it may run incorrectly. When a function starts (like sex sim) the character may not activate in time for the setup functions to run.
It basically adds a ton of complexity and unpredictability to disable a character's object. So, the solution is to just bury them under the map somewhere, a common trend if you watch a lot of Boundary Break videos. This is likely why. It's more trouble to disable a character than to hide them.
So now a "scene" (Which is what I tend to call a cinematic cut) can be configured to need a character, and so the characters used can be used and the ones unused are banished to the pool location. This required reconfiguring some existing scenes. Along with updating the scene trigger code.
Alright, now to work on cinematics... Oh right there's this issue where I need to setup a character's position, actually not just a character but also objects. For example, if a door needs to open or something for a scene. Before I just make an animation for this, but that would mean repeatedly having to make an animation almost every time I need anything, also using an animation is weird for a one-time position set. So I need functions for setting character positions per scene easily and resetting them when done.
Also, there's instances where the same thing is needed to be set frequently the same way, changing their rotation like the door or their appearance like the bed. This needs an "Object States" script to help me easily set these preconfigured states when needed from a simple dropdown.

For object states thankfully I thought ahead on that one and had a solution, but it was insufficient, fragmented and overly complicated. I had to redo the whole system to something that was easier to work with, knowing the number of times I would need to interact with it (a lot). The original tool also didn't support moving objects, or groups of objects. So now I have a fairly versatile system I could feed into other things if needed. Changing bed sheets, opening doors, moving a pillow out of the way on the couch or even just getting rid of the pillows is now very accessible.
Object position sounded simple but became a bit complex, see I use Unity timeline for most scenes, this setup allows it so that these scenes can be previewed and edited then return to their previous states. I need to be able to set the object position and do so non-destructively within the scene. This is an editor issue more than runtime. But in short I can't have my objects moving around permanently just cause I played a scene, or I needed to configure it's position for a scene. This took time but was ultimately resolved.
Now on to implementing the cinematics...Wait...I need to speed up sequence construction.
...
And I could do this loop a few more times based on the actual process...
And yeah, eventually I'd run out of new little issues, but also this is in the context of needing A LOT of cinematics done. Remember how in the past I've said I like to do one thing at a time so I can find a momentum and ultimately the work gets done faster.
Thats just not possible here, I can think I'm out of new issues, start on cinematics again and hit another wall anyway. Maybe I need some assets to make a cinematic, I need animations or models or whatever.
Actually, there's the problem of multiple characters just not having models yet. And some scenes explicitly having interactions.
So now everything's just sorta stacking on to each other...
And this is where the gravity of it all became clear.
While the feeling of that weight is rare for me, it always springs into finding solutions. But I did feel worse when most of my initial solutions were things I didn't want to do.
These are things I felt would do more harm than good. And there was no real way I could pay someone or something to help solve this problem.
So, I slept on it.
Then I remembered something I saw recently in a video showing hidden dev rooms of the recent FNAF Ruin DLC. The little cards and placeholders they used. And then it hit me, I've simply been looking at the task all wrong.
Normally I'm quite considerate of the workload and guidance for a task, but more so when it comes to assigning people work. I'm more likely to try to offload the amount of work someone I hire needs to do to reduce complexity and reduce potential failure. Even if it means I have to do more work myself.
In my mind my task was getting the cinematics in, the dialogue was there, it worked, the job was making things visual. But I didn't assess the scale properly and remember how much really needs to be done. My job is not implementing cinematics but to simply have things in place so that when the data is ready it simply needs to be placed. And I don't need to do more work than necessary at the time to ensure that "space" is there for what's needed.
I'll take a temporary shortcut, and rather than try to find a placeholder for everything I'll simply ensure the scene is in place and use a simple image to show what should be there. This ensures all the necessary triggers and configuration are there, and I may be able to avoid doing tools work for now just to make a scene work even on a basic level.

This is less a cut back, and more a temporary solution. A solution that may persist through the steam launch more or less. These may be replaced with art instead of text in some cases, or just have their cinematics properly implemented. But where a significant asset is needed, and there's no existing place holder to suffice. These cards will be used.
I would hope people (and my publisher) find this solution acceptable in an early access release, as priority animations are implemented first and the rest implemented or at least improved with time. And at minimum I'm ensuring the necessary setup is functionally in place. As a cinematic could be implemented with no need to make adjustments to sequencing since that aspect should be completed.
It seems a bit obvious now, but in the thick of it, it can be hard to see. If I was looking from the outside in, I might have made this judgement sooner.
And even then, there's still a lot of work to do, it's not going to be easy. Still, this will lift a significant burden off of me.
I think I've mentioned this a few times, but the game will have a "Work" mini-game which will partly help determine your weekly income. This mini-game as been in development for about half a year now, I've mostly just been providing feedback while they've worked on the core systems.

It looks quite simple now, but note the person is a programmer not an artist, and they did this work entirely on their own outside of my initial input. This is something that would have been impossible for me to give any focus on. So, I needed a talented designer and programmer to handle the task independently. As such I haven't been able to talk about it much.
But now their work has concluded, and they have a new job at a studio to focus on, they'll just provide some implementation help in the future if needed. But I'm extremely grateful for their work and wish them luck!
If the above looks somewhat familiar, the concept is based off the hostess game in the Yakuza series, of course with a different theme based on a sales environment.
Once the cinematics work is done, implementation and assets for this will slowly become the next focus. It remains to be seen if this minigame will make it for the steam release, just depends. I've given some leeway for this to take longer plot wise if needed. Cause polishing other aspects may take higher priority.
For a variety of reasons this has been an expensive month, probably the most I've spent on this project in a single month so far. It's thanks to you all I am able to pay these devs and artists in a timely manner. Thanks for your support!
Sorry things are taking longer, I hope to reach my goal of a build this month, and I hope my shift in focus ensures that.
~Sacb0y
T low
2023-09-13 20:11:02 +0000 UTCYotam
2023-09-07 11:52:51 +0000 UTCNigloo
2023-08-08 11:00:19 +0000 UTC