• To improve security, we will soon start forcing password resets for any account that uses a weak password on the next login. If you have a weak password or a defunct email, please update it now to prevent future disruption.

Unity Cyrano - Sandbox Dating Sim (3D VR/Flatscreen Game) [Development Thread]

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
Greetings everyone, I'm new to this community, I hope I am doing this correctly. I was told this would be a good place to share my game progress as I am gamejam battle hardened gamedev and I'm eager to share my NSFW game with you all.

Overview: Cerano (Working Title) is a 3D Flatscreen or VR experience where you have to seduce the AI NPC during your dinner date.

Thread Updated: 2024 -04-26
Developer: You can find my games on
Censored: NO
OS: Windows + VR
Language: English

Genre: Sandbox Sim

You don't have permission to view the spoiler content. Log in or register now.

I'd like to post some video clips of the VR gameplay, jiggle physics and all that jazz but there seem to be a lot of rules regarding links to hosts etc. Where can I upload the videos to share with you all here? They are of course NSFW.

Everything is subject to change, but I have some pretty good ideas and tests already done for the direction I want to take the game.

If you have any questions about development or critiques I'm all ears!


screen1.jpg screen2.jpg screen3.jpg screen3.jpg whitegirl.jpg
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
I'm still trying to figure out the best format and workflow for updating progress on the game. Making progress on the game feels like the easy part, while making sure I cover all my bases on development without having to type up multiple devblogs in various places is still a work in progress.

Not sure where the best place is to upload videos and embed/share the videos here and on itch.io so I can share progress of development.

However, since the previous post didn't actually include any video of the game in motion with VR I tried this site Sendvid, though it takes hours to process through the queue? If anyone has any recommendations for sites to upload videos to that would be great!

Here is some early test footage of the boob mechanics working, jiggle physics and grab mechanics. This is a few days old now though so there are some mesh issues that have been resolved with her eyes.

Today, I made a lot of progress on the Flatscreen/VR switching back and forth front. I've enabled a start menu that allows me to detect if the player has their headset connected and if not it will switch to Flatscreen mode, if they decide to connect their headset after they can, and then click the Enable VR mode and it should connect up. Otherwise if they start in VR mode they can switch back to flatscreen mode if they prefer to play without VR mode.

The way I have set it up should allow me to build some really fun interactive menus in VR and some visually appealing menus in Flatscreen so that depending on which version you play you get a different interface that is tailored to that mode.

Once I figure out a good way to upload videos I will be posting more videos and ill try to take more screenshots as those are quite easy to upload and share.
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
I spent most of the day getting the table item interactions working in flatscreen. They already work in VR mode just fine where you can pickup and rotate the game objects any which way you like, however this isn't as simple in flatscreen. So I've made it so that you can pick up the object with the left mouse click, rotate it with the right mouse click and move it back and forth with the scroll wheel. You can also charge up a throw and hurl the items across the table or at the girl. If the objects fall off the table they respawn back on the table so you can never really lose any of the items.

Furthermore, I've added tool tip names to all the objects as I plan on implementing voice commands and I want her to react to the items you are picking up. This will make it so that you can mention the exact name of the object you are holding in your conversation and the NPC will be able to recognize what you are referring to.

At the end you have a brief glimpse of the temporary pause menu, where you can go back to the main menu or switch into VR mode if you so choose.

I'm not sure what the next task will be, its kind of a toss up between implementing the Satisfaction/Anger system and testing out some of the dynamic interactions with the NPC.
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
I've made major progress on the AI integration. This is probably the best part and most fun part so far, but it is also the part that may need to be cut depending on the reception and popularity of the game. It's a double edged sword in that I am using two separate AI platforms, one for the voices and one for the AI brains. This offers me the most amount of freedom to customize the voice to sound exactly how I want it to. However, the fact that its a different platform means I have a limit to how many words I can generate with that voice per month which is directly tied to the tier which I am subscribed at.

If I had a constant influx of money from sales or subscriptions to the game then it may offset the cost of running that voice and also the cost of running the LLM which powers the NPC. Those are of course issues I will have to figure out at some point, but more so if I am successful! So that is a problem for future successful gamedev me, right now I am focused on making the most interesting and fun experience as I can.

I think even without the AI there is a lot of fun things I can do with the sandbox and simulation so I'm not quite sweating it just yet.

Now for the fun stuff! I managed to get dynamic IK physics working for picking up objects in the game, however it is a little broken in that it only seems to work on the first try not on subsequent pickups. That's a bug that can be worked out in the future for sure, or I may go down the purely animation route as that might just be easier since the placement of the objects on the table respawn to their exact same location if they fall off onto the floor.

In the test video you can see a sample interaction I had with the NPC complimenting her and trying to get her to leave the restaurant with me. I will be setting up several triggers and motivations which will make it so that she has a much more dynamic conversation with the player and introduce a like/hate system so you can fail the date. Right now its pretty fun to see how the AI reacts to some of my more probing questions.
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
I spent a lot of back and forth working with the interactions and setting up the workflow for the game, but it's become clear that my current animation pipeline while workable is just too labor intensive and has too many steps/assets/software involved if I want to add in more granular details and expand upon in the future. So I've taken a slight setback and taken a step back to redo the rig for the main character. She is now a fully rigify rig and Ive spent much of the time weight painting her to get her to move correctly. This is a setback for sure, but I have retained all the blendshapes for the character and now she has a much more robust animation rig to move and setup.

I will still need to add some more custom bones for the booba and the bootay but the hard part is almost done. I think this will take a few more days to get it to where it was before within Unity, but it will be worth it and much easier to work with in game. If I can setup the workflow as I have planned it shouldn't be hard to add new animations/poses and then use those for other characters as well.

Two steps forward, one step back. We'll get there!

Rerigged.jpg
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
Well... it turns out it WAS very hard.

Extremely hard. It should be much easier to get animations into Unity from Blender but it's not. Not using a custom rig and rigify. So many little things that can go wrong. I spent about 2 hours debugging why her right butt cheek control wasn't deforming the mesh but the left one was, even though they were setup exactly the same. Turns out, I had a typo in the controlrig naming, instead of "RightButtcheekControl" I wrote it as "RightButtCheekControll" with two L's that little mistake cost me 2hrs of dev time. So many little things like that, but I'm happy to say the model is fully in the game with her rig and all her clothes! I found a nice workflow for the clothing as well so I should be able to add a ton more clothes to her repertoire in the future. Furthermore, she also sports a few new naughty blend shapes hooray!

View attachment 3615680

Tomorrow, I will be working on getting that animation pipeline working correctly, which I finally think I've nailed the correct workflow for and if that's working then I will be able to setup the character again in Unity and have her working just like the previous version but this time she will be able to handle new animations. Some of the animations planned:

>Picking up all the items on the table

>Eating and drinking animations
>reaction animations
>mood animations
>several idle animations
The goal is to give her a wide range of possible states and animations to switch to depending on the context of what the player is doing, holding or has selected as their dialogue choice.
But first things first, gotta get some basic animations working with the new rig.
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
What a slog! What I thought was going to be a relatively simple workflow for getting animations from Blender to Unity working turned out to drag me down a rabbit hole that would consume a whole weeks worth of progress. Since this is a devlog I will try and delve into the details of how I got it working and what steps I am currently taking to mitigate some of the animation issues that will no doubt rear their head from time and again.
First, there is no straight easy way to get characters animated using a rigify rig or any rig for that matter directly into Unity as Unity doesn't pick up on the "control rig" that is used to drive the skeleton on the character in Blender. Unity only uses the bone deformation information to drive the animations and the current skeleton that rigify is using to drive the animations in Blender is not in a compatible format for Unity's "Humanoid" rig type. What? Let me explain further.
Unity has 3 rigtypes, Legacy, Generic and Humanoid. Legacy is the type of rig that Unity used before Mechanim which is what the current Humanoid rig type uses. Mechanim and the Humanoid rig is what allows the animations to be used across any other character in the game that is set to a humanoid rig. So if I have 10 characters in my game, I can share a walk cycle between all 10 of those characters regardless of their shape, size or look if they are using the Humanoid rig. This has major advantages in my case when I add more girls to the roster and you will want to share pickup/drop/walk/sit animations. The Generic rig basically means only this particular rig can use the animations and they cant be reused for other characters. I cant use a walk cycle from one generic character to another or to a humanoid rig.
So obviously, going with Humanoid has a major advantage over the other rig types, however Unity has a very specific way it want's its bones/skeleton setup for the character and that was the major issue between Blender and Unity as the way Blender's Rigify rig controller is setup is different than the setup that Unity wants for the Humanoid rig. I found a very convenient plugin called "Game Rig Tools" for Blender that re-targets the animations created using the rigify rig in Blender to a Game ready rig to import into Unity. This is not a straight forward process and required a lot of trial and error, document reading and tutorials.
WineAnimation.jpg
Once this process was complete I could import the files into Unity and that's when I ran into the next set of hurdles. Turns out not everything in the gameready rig translates well into Unity, even though it's a "game ready rig!" After many more hours of 23 versions of the main character, I was able to get the her into the game playing her animations without jumping all over the place. I setup a few basic animations on the character and wrote a script to handle the parenting of objects in sync with the animation played. She can sit in an idle pose and pickup the wine glass, raise a glass to celebrate, put the glass back down. She can also Pickup the knife and put that down as well. I have segmented the animations to allow for separate events. For instance she cannot celebrate with a knife in her hand, but she can celebrate with a glass of wine, or later with a glass of champagne.
animation.jpg
In this way, it should be easy enough to setup a branching selection of animations to play based on context. This is also a first pass and as the complexity increases I will need to probably organize it better, but with this current setup I can get about 90% there. Here are the animations in game:

With the workflow finally set I will spend some more time creating animations for each of the objects on the table, at least on her side of the table and perhaps a few eating animations.
After that I will get to work integrating the branching dialogue/satisfaction system which will control the main gameloop.
 

NSFWgamedev69

New Member
Game Developer
Apr 26, 2024
11
1
I jumped headfirst into some dialogue setup using an asset I had on hand from the asset store called rather appropriately, 'Dialogue System' and it seems extremely robust and more than capable of handling the complex branching story dialogue I plan to create, as well as managing the animations for each of those choices. It also supports a great workflow for getting all that dialogue into the game in a way that wont require me to manually drag and drop each voice line to the character. This will be extremely useful when it comes to adding more characters or fleshing out more dialogue trees and options.

The text box/font and colors are all placeholder as well as the the actual text and dialogue but I have a clip to share of what it looks like hooked up with working animations and interactions. You can see from this clip that I have the voice working with the dialogue on the opening chat, which is driven by interacting with the heart. You will then get some options to respond with and in this instance, the one I selected triggers her to pickup a glass. I then have the option to raise a glass to toast her and she will wait till I physically pickup and bring my glass to hers before she returns to her idle pose. From here I can easily make her drink, place the glass back down on the table and give the player more options to choose from in regards to starting a conversation or having her talk about contextual things on the table that you pickup or things the player does, (Like throwing your plate at her.)

I still need to get the dialogue SFX workflow setup correctly but after the initial hurdles of learning a new complex asset, I think it wont be that difficult.