Monday, March 11, 2024

RLV 2.9.34

Hi !


I wasn't sure about releasing this version, but two crash-to-desktop (CTD) bugs coming close to each other kind of forced me to.

The first CTD occurred when receiving a folder to #RLV from an object, with a name containing slash characters ("/"). Normally, when this happens, the RLV cuts the name into individual parts, removing the slashes, and creates as many folders with the corresponding names, parenting them in a chain of folders.

For example, when the folder is named "#RLV/~A/B/C/D", the viewer would create this structure :

#RLV

| some folder

| some other folder

\ ~A

    \ B

        \ C

            \ D (this is the original "#RLV/~A/B/C/D" folder, renamed and parented to the ones above)

                | Item

                | Item

                \ Item

 

Better, it ignores the folders that already exist so your inventory is not unnecessarily cluttered. So if ~A and B already exist, the viewer would create only C and D. However, if D already exists, a new D folder would still be created since we don't want to pollute existing folders with additional items (because the RLV works with folders, not with items), leading to potential doubloons.

But since the addition of folder thumbnails, that feature failed spectacularly, crashing the viewer. I won't go into boring technical details, but that's the kind of stuff several viewer devs have been scratching their heads about. In short, that code relied on a client-server process that simply doesn't exist anymore, so we have to do it another way.

This version of the RLV has a tentative fix to it, at least it won't crash anymore, and the folders seem correctly created, but it seems to work only once or twice in a row, after that strange things may happen to that folder (the received folder is not renamed correctly, or it is named correctly but not parented correctly, or both). The "strange things" won't ruin your inventory, don't worry.


The other CTD bug would happen when entering some Chinese characters in chat or in IM. I could reproduce this bug in 2.9.33 (the first version with PBR), but I must admit, I don't speak or read a word of Chinese so that was just me monkeying on my keyboard until it broke (the viewer, not my keyboard). Problem is, that crash is violent and the viewer log does not contain any relevant error. I could never crash this version, which includes emoji support, and probably some fixes from LL about that precise crash. But I didn't see anything about hat in Git. Nevertheless, no amount of monkeying on my part could crash this version, so I'm hopeful that this is fixed. I'll need someone who actually speaks and reads Chinese to confirm that 2.9.34 does not crash for them.

 

You can download the Windows version from http://www.erestraints.com/realrestraint/

The MD5 hash for the Windows version is :
6ab8ea2f7b525f20e16acf0babf59507

The Linux and Mac versions are proposed by Chorazin at this address :
https://sourceforge.net/projects/kokua.team-purple.p/files/RLV/


Have fun !

Marine

 

Friday, February 23, 2024

RLV 2.9.33

Hi !

 

After quite a while integrating and testing this version, here is the RLV with Physically Based Rendering.


Here is the changelog. It may seem small, but integrating PBR into RLV was no small feat. That task was mostly done by Chorazin Allen for Kokua. Thanks Chorazin !


- switched to PBR (Physically Based Rendering) to be up-to-date with the 7.1.2 SL viewer codebase.


- known issue : rigged mesh hair (and other rigged alpha-blended surfaces) pokes through @setsphere.


- known issue : materials are rendered normally when @camtextures is active, instead of being gray. This is because at the moment they are rendered during the rendering cycle, there is no way to tell what object a material is attached to, hence whether the object is in-world or attached. So they are all rendered normally instead of made all gray indiscriminately.



You can download the Windows version from http://www.erestraints.com/realrestraint/

The MD5 hash for the Windows version is :
b805131a271a2cc5b19a85d64caab6fd

The Linux and Mac versions are proposed by Chorazin at this address :
https://sourceforge.net/projects/kokua.team-purple.p/files/RLV/


Have fun !

Marine

Thursday, January 4, 2024

Flight of the Swallow : About the voices

Hi there, and happy new year !

As I'm developing my game, Flight of the Swallow, one thing has constantly been a concern of mine. Character voices.

If you don't want to read, here's the "tl;dr" version :

I am progressively replacing the voices I created with xVASynth by other, clearer voices, that don't belong to video game characters so I won't have any moral or legal issues. I've been itching to do that for a while, but technical reasons (lip sync in particular) were holding me back until now.


Since pretty much the beginning of the development of this game, i.e. at the end of 2022, I wanted it to tell a story, and to make it told by the characters themselves. And what better way for a character to tell a story than to make them tell it with their own voices ?

Problem is, hiring voice actors costs quite a bit of cash, and I want my game to be profitable, at least a little. It probably won't pay the bills, but I'd like voice acting not to take all of its budget if I can help it. Not to mention that it requires finding the actors, convincing them to voice characters in an adult game, reserving the recording place, and other headaches... Ugh. No thanks. I already have a million other things to do. And last but not least, I'm writing the story and the dialogues as I go, so I want the voices now, not in two years. And I want to be able to tweak a voice later if I'm not satisfied with it. You can't do that if all you have is one recording session and no time machine.

Plus, there is lip synchronization. When a character speaks, you want to see their lips (or whatever) move in sync, right ? I know most games don't do it properly (I'm looking at you, Elden Ring) or even not at all, but some are pretty good at it. It makes the characters look so much more natural. Until recently, like, last week, I had no idea how to create such data when recording an actual human being saying a line that I wrote for them. Probably a few commercial tools exist, but they're meant for big studios, not for a solo dev like me.

So, with all those requirements, what was the obvious solution ? xVASynth, made by Dan Ruta. Its purpose is to let a modder add to the story of a game by making its characters speak almost as naturally as if the original voice actors had been saying those lines. For example, if you want to make a mod for Skyrim where Esbern teaches Delphine how to cook apple cabbage stew, and you want it voiced, no problem, xVASynth got you covered.

It's free, it has many voices, you have full control over how to make one voice pronounce the line exactly you want, and what's more, along with the audio file, you get a text file that contains all the relative durations of the letters (for v1 and v2 voices) or phonemes (for v3 voices). In my case, after programming the necessary stuff to turn that file into actual visemes (the facial expressions that look like the character is actually pronouncing a phoneme), all I had to do was paste the dialogue line in xVASynth, click "Generate", tweak the pitches and durations a bit until I was satisfied, then when I was done, just move the two files to the target folder in the Voice folder. That was it. Easy peasy.

The only requirement is that the generated voice files cannot be sold, which is why xVASynth is primarily used for free mods for Skyrim, Fallout, Cyberpunk etc. I made it so my game would use the voices the same way, like a mod, to be downloaded separately and for free. Making them optional clears that part since the voices are not a part of the price of the game, but let's be honest, every player expects the game to be voiced, it doesn't matter where the voices come from, and it would just have been one click away anyway.

If you're curious, here are the voices I used in the demo until now :

Player: Female V (Cyberpunk 2077)

Sandy : Panam (Cyberpunk 2077)

DAL: Delamain (Cyberpunk 2077)

Mother Superior : EDI (Mass Effect)

Virginia: Judy (Cyberpunk 2077)

Dave : Danse (Fallout 4)

Frank : Jacob (Mass Effect)

Robert : Illusive Man (Mass Effect)

Ignatus : Codsworth (Fallout 4)

The unidentified voice : Miranda (Mass Effect)


To me, that solution held water six months ago. Not so much nowadays, after all the talk about Midjourney and other generative AIs, and how they are often trained on copyrighted material.

xVASynth is basically an AI that has been trained to speak like certain video game characters, whose voices belong to the actors who created them. As for the voice files used as training material, they belong to their respective editors (for example CD Projekt Red for Cyberpunk's voices, the ones I use the most), so it pretty much falls into the "trained on copyrighted material" department.

So six months ago, I was okay with the idea of providing the xVASynth voices separately, for free, and let the player decide whether to download them and add them to the game or not, because it wasn't really an issue for anyone at the time. Now, it is becoming one.

 

It's not really the problem I have with this, though. The real problem is ethics.

I'll say it right here, people are on both sides of the fence when it comes to using the voices of video game characters in my game. Some find it cool (I'm one of them, obviously, I love those characters, especially V, Panam and Judy, and that's one reason why I wanted them), others find it weird or shady. I heard both.

xVASynth's little brother, xVATrainer (which was created to train the AI in the first place), has a "do not train" list. I wasn't aware of it before recently because I don't use xVATrainer, and simply because the latter was released only a few months ago. And it just so happens that one Cherami Leigh's name is present in this list. Mrs Leigh dubbed Female V (i.e. the female version of the player character) in Cyberpunk 2077, and I used her voice for the player character in Flight of the Swallow. At the time of this writing, she is the only one in that list whose voice I used. I really love her voice, and I absolutely wanted it in my game. Initially, I wanted it to be Sandy's voice, but V speaks like an ice-cold killer (or an adorable murderpuppy if you prefer), while Sandy is one hot-blooded, loud troublemaker. And who's better suited to dub such a character than the hotheaded motor-girl known as Panam Palmer ? The player character in my game, however, is Sandy's conscience/super-ego/guardian angel (pick your favorite), so a cool, soothing voice is perfect for her role.

A few months ago, there was a turmoil in the voice acting world about adult mods using character voices. I don't remember whether it was about Fallout 4, Skyrim or Cyberpunk, but some voice actors clearly stated that they did not want any AI to be trained on their voices. Mrs Leigh was one of them, hence her name being in the "do not train" list. This explains why the "Female V" voice has been taken off xVASynth's list of voices (unlike, for example, Male V, dubbed by Gavin Drea). So, officially, Female V is no longer a voice anyone is allowed to use.

Mrs Leigh does not want her voice in any game she hasn't voiced herself, and that's perfectly understandable. So I need to remove it from this game. But replacing the player's voice in my game with another whose actor is not in the list would not be enough. Voice actors in general are not happy when their voices are reused without their consent, even when it is made clear (like I did) that we are merely imitating their voices, not impersonating their actors. I'm trying to keep this post technical and neutral-toned, but I actually do care about that. I wouldn't be happy if someone trained an AI on my own voice to dub characters in adult games either (nobody will do that, I'm no voice actor, it's just for the sake of the example). To me, replacing only one voice is not enough. They all have to be replaced. After all, maybe Emily Woo Zeller (who voiced Panam) might want her name added to that list tomorrow, or next month. It is not because she is not in that list today that she is okay with anyone using her voice to say anything she didn't personally approve, at any time in the future.

Long story short, I wasn't aware that the voice actors had a real problem with this, and now I am, after I stumbled on xVATrainer's "do not train" list. I could say I wish that list existed in 2022, but I don't. Why ? Because I'm glad I could develop my game with those voices in the first place. Doing so taught me a lot about how to voice a character, how to write the dialogues in a way that they sound good when voiced, and how important the tone can be when you want to convey a message. Not to mention that I had to code ways to play the voices properly (with the correct AudioMixers, sound occlusion, reverb, default voices in case of a missing file, delays and pitch in various time scales, etc), with lip sync on top of it. Without the voices, I would have had no material to develop all that stuff.

There's also a more general issue. I read two words that made me think seriously about this, and I think those words are what triggered this post, and made me want to redo all the voices. Those words are "exposure burn".

In plain English, the more a voice is heard, the less value it has. Players and investors don't really want to always hear the same voice (real or AI-generated), so if suddenly all indie games used, for example, Panam's voice for their main protagonist, Mrs Zeller would quickly find herself out of a job because players would become fed up with hearing the same voice over and over again. It wouldn't be an issue at my small level, but if everybody did that, then it would become one.

To Mrs Leigh, Mrs Zeller, and the few other voice actors I used the voices of, if you ever read this, I will not use your voices after all. Last thing I want is to hurt your business. But let me point out that I'm a fan. I love your voices, that's the prime reason why I wanted them in my game in the first place.


Now, I'm going to use new voices that don't have copyright or moral issues. Which means I have to stop using xVASynth to create them. Problem is, that also means saying goodbye to the lip sync.

Or does it ? I figured out a solution to make lip sync files automatically and quickly from any voiced speech. It transcribes the speech to a timestamped text file, which plays pretty much the same role as xVASynth's text file. If you're curious, I'm batching the use of a local Speech-To-Text library. In fact, my engine can use both lip sync files, so even without this solution, I could still align the lip movement with the voices manually with xVASynth and Audacity, but that takes several minutes per file. And at the time of this writing, there are 4200 of them (a little less than 1400 in the demo), so I much prefer the automatic version.

So now I'm in the process of replacing all the xVASynth voices with other, clearer and more natural ones. And boy, do I see the difference. When I play Panam's voice in a wav file then the same line with Sandy's new voice immediately after, the difference in quality is obvious. I didn't realize how bad the sound quality was before.

This is a big undertaking. There are a lot of files to redo, more than a year of work, and the creation process is not free. It will take months to do. But this puts my mind at ease for the future. Like Sandy, I too have a conscience that just won't leave me alone.

Also, well... xVASynth gives you a lot of control over the pitch of a voice, down to the letter or phoneme, and quite often the first generation is pretty bad so one has to change the pitches and durations manually until it sounds good enough. This is a lot of micromanagement, and since my accent is probably different from yours, what sounds good to me might not sound good to you. Sometimes, it may even sound completely off. Not to mention that xVASynth voices struggle on some words (it's impossible to make Panam say "Machine" properly). The new voices sound much more natural.

See for yourself. Here is the old version (same video as in the teasing blog post from last month) :


And here is the new version, same scene, with the new voice :


Look at this lip sync. Mmmm.

Playing both videos at the same time, pausing one after Sandy says one line and listening to the same line in the other video, helps a lot with comparing both voices.


Sandy, when she was voiced by Panam, used to have an American accent. Now, she has a clear British accent. Fun fact, I initially wrote Sandy as a British army girl from the Royal Air Force. After all, her last name, "Curnow" derives from "Kernow" which means "Cornwall" in Cornish. And I wanted her to have some kind of British sense of humor. So I had to change her story a little to make her American and that changed her personality in a way that I was not completely happy with. And now, I have to retcon her to be British again, but still a soldier in the US Air Force. Her background in the journal had to be amended (again) to that effect.

Her new voice sounds a lot like the voice of Claudia Black (Aeryn Sun in Farscape), or Dominique Tipper (Naomi Nagata in The Expanse), don't you think ? But it's neither of them. Also, the player's voice and Sandy's are now the same (the former is a little higher-pitched, after all she is "Sandy's little voice"), unlike before.

Don't be fooled by Sandy's new smooth voice, though. The video above shows her when she's calm. She's... not always calm. She is just as capable of yelling at everyone (even at the player) as before.

I hope you'll like the new voices !

Marine


Friday, December 15, 2023

Flight of the Swallow DEMO

Hi !

I teased about it last month, and today I would like to share with you a working demo of the video game I'm working on, Flight of the Swallow ! As a reader of my blog, and probably a Second Life resident as well, you are among the first to be able to play it. I will probably publish the link soon on DeviantArt or somewhere else, but for now, this is just for you ! And just in time for the holidays, so Merry Christmas !





The current version of the game is 0.9.8.2, you can download the demo here : 

https://www.mediafire.com/folder/4gpbm0y12kwg2/Demo


Please note : This is the folder containing the zip file, not just the file itself. You will also find a sub-folder containing saved games that you can download to your "C:\Users\<your_username>\Documents\My Games\Flight of the Swallow\Save" folder, in order to load from those milestones, if you're stuck somewhere but you want to see what's next. A save is 2 files : a .sav and a .jpg file. The .sav file is the save itself, and the .jpg file is simply its screenshot that the game displays, it is not mandatory but it's a nice to have. Both have to have the same name and be put in the Save folder.

Unzip the file where you want, it does not install itself. When you want to remove it, simply delete its folder. You won't lose your settings nor your save, for those are located in your "Documents/My Games/Flight of the Swallow" folder. If you want to move it to another location, feel free to do so, the game does not care where it is on your hard drive.

Speaking of unzipping, you need 7-zip to extract the files. If you don't have it, you can find it here :

https://www.7-zip.org/


Attention : If you get an error while decompressing the files, it is probably because of the voice files. Some of them are very long (for example when DAL says "attention, all personnel, aligning with the retrograde orbital vector now, blah blah blah"). To fix this, unzip in a folder with a very short path (not just the name, the whole path), for example "C:\FOTS", and move the files elsewhere afterwards. This is because Windows has some limitations when it comes to path lengths. If it still happens even with a short path, try to decompress the archive with a right-click and using 7zip's menu item, instead of the regular Windows extractor, that helps too.



Don't hesitate to run an antivirus or two on the files, you never know. My machine is supposed to be clean, but it costs nothing to check.

Also, please read the Readme text files, alright ? They're not long. I know nobody reads them but they explain a lot of stuff that would leave you confused otherwise.


If you like this game, please join its Discord server to discuss!

 

In this game, you play the little voice in Sandy's head, the main character. Only she can hear you, and of course, you control her (even if she'll never admit it). So, in a sense, you are Sandy. Sort of. (*)

This is a complex and challenging game. Not because it is hard on purpose, but because you mostly float in zero-G, in 3 dimensions, and you have to use a controller to navigate. Well, that's not entirely true anymore. Since v0.9.1, the game supports keyboard and mouse controls.

So, I recommend that the first thing you do after launching the game is to go to the Journal, then read the Tutorials. Sandy will eventually ask you if you've read them anyway, and if you didn't and pretend you did, she won't explain anything and you will feel lost.





Once done, start a new game, watch the short cinematic...


 

Give Sandy some time to wake up...


 

Let her realize how much trouble she is in...

 

And then you can start trying to get your bearings and controlling the girl. To put to test all that you've learned by reading the tutorials. Because you will read the tutorials, right ?


Of course you will. That's the only way you'll move Sandy efficiently and make her go where you want. Winners don't use drugs, but they do read the manual.


And just when you've gotten the hang of it, things will snowball from there. Between one A.I. going haywire...


And another one shutting it down...


You'll have a lot of work to do and a lot of places to go in order to set things right again.





Once that's done, you'll start getting answers to some questions... and even more unanswered questions.



 

 

 

You'll learn that everybody loves Sandy...

 

And you'll meet interesting people.







As a demo, it is meant to show you most of the mechanics of the game, not really to reveal the story. As such, it is not limited in any way except its length. It stops when you reach a certain point, and when you get there Sandy will tell you that this is the end of the demo. In fact, I say "demo", but it is actually the prologue of the story. Its first part, if you prefer.

This is not the whole game, far from it, only the first day. At the time of this writing, Day One is complete, I have started working on Day Two, and I want the game to span over more than two days. And by "complete", I mean the story of the first day and all its events are written and implemented, not that the levels are finished, not by a long shot. Most of the places are still empty and unfurnished. You'll see what I mean by playing the demo. But you'll also see the mechanics of the game, how it is played, that kind of stuff.

I work on the game itself every day so it changes often, but I am not publishing it yet. The demo is stable and seems like a good way to show people what I'm working on, but it won't be updated as often as the game. It will be when it strays too far from the retail game to be called a "demonstration" anymore. I'll probably lengthen the demo at some point, though, as it feels a bit short to me at the moment. But one thing at a time.

The demo is free but the retail game won't be. However, I don't know yet how I will sell it, nor on what platform, nor what its price will be, I'm still far from that point at the moment, as the game is like in pre-alpha stage. It is still probably a couple years in the making so there is time. For now, have fun with the demo !

By the way, "pre-alpha" stage means there are bugs. Lots of them. Most of which I am probably not even aware of yet. I have done my best to fix the ones I spotted, of course, but a game that is under development cannot be bug-free.

So, expect bugs and surprises while playing the demo, and save often ! Your saves will remain compatible as much as possible throughout the development of the game anyway, you won't have to restart a new game every time a new version comes out. Unless absolutely necessary, naturally, but I'm doing my best so that doesn't happen.


Lastly, Flight of the Swallow is a game of skill. Sandy won't gain levels or learn new powers, but you, the player, will. Every step along the way is a new challenge, an increasingly difficult one. The very first one, when Sandy asks you to "grab that handle over there", you will wonder how the hell you'll manage that feat. But if you persevere, fulfill the challenge and keep going further, you will realize that this very first challenge was child's play, in comparison to what comes after. You might want to give up at some point. Don't. This game requires precision and patience, but Sandy gives you all the tools you need to beat it, and more. She's a resourceful girl. Show her that you are too.

But if the game feels too difficult for you, I have one word for you : "Options". You can turn on "Gecko Girl" mode which allows Sandy to grab anything she wants, not just handles, you can activate the predictors (I think they're active by default), you can modify the power curves to give yourself more precision, and you can use slow-motion pretty much at will. I want the game to challenge you, but more importantly, I want you to beat those challenges, to learn new stunts and tricks, and to feel good about it. That's what this game is all about.


Have fun with the demo and happy holidays !

Marine


(*) Yes, you are Sandy. You control her entirely. And you can also talk to her and she can hear you and talk back. You play her conscience. Her super-ego. Her guardian angel. Pick your favorite.


Update : After a few days, the feedback I got was mostly about the game being too difficult. It's true, controlling a physical character in zero-G is challenging, but how could it not be ? You need 3 axes for the torso (pitch, bank, twist), at least 2 axes for the legs (thighs, shins, and possibly spread the legs but that's more circumstantial), and at least 1 axis for the arms when in restraints (up and back), so that makes at the very least 6 axes to juggle with. Add the camera to that, which is at least 2 more axes (up/down, left/right). If I removed any of those axes, you would find yourself unable to do some moves and to navigate in zero-G properly, and it would be even more frustrating than it is now.

With a controller that provides only 4 axes and 2 half axes, it is bound to be a challenge. So there is no way to get any simpler than that, no matter how hard I tried, unless I started using an AI to actually play in the player's place, but where would be the fun in that ? A friend of mine plainly told me that the game should guess what the player wants to do, and adjust accordingly. Well, a computer can do many things, but it can't "guess" what a human has in mind, sorry.

So yeah, it feels daunting and frustrating when you punch the controls haphazardly, but if you use all the helps (the predictors in particular), if you read the tutorials and watch the embedded videos, and if you practice, you eventually learn new skills and get Sandy to do what you want and to go where you want her to go. I've seen this happen more than once, all it takes is practice. It's a game of skill, it doesn't take you by the hand, so everything you accomplish in it is your own doing. I do acknowledge that the barrier to entry is high, though, and that's a real concern for me. A good game should be easy to learn, hard to master. This is not the case here, but I'm working on ways to make it easier.

From v0.3.14.2 and up, for example, you can press LB+Y when grabbing something to propel Sandy towards whatever your camera is aiming at. This makes moving her from handle to handle a lot easier. It's weaker than making her sling around a handle or pushing her with her hands, but it's a very useful tool, especially for beginners. You can also keep LB pressed at all times, if you want, to keep Sandy stiff so you don't have to bother with moving her legs as she keeps them aligned with her body when you press and hold that button.

The first part of the demo is dark until you manage to restore the power. I'm still working on the lighting, trying to find a good balance between the darkness and the ability to navigate in the corridors during the alert.

Please remember that the game is nowhere near finished, this is just the beginning, I pointed out that it is pre-alpha, under development and unfurnished. It is not remotely close to qualify as a full game, there's still a long way before it can be called that, and it will probably look very different from what it does now.

I hope that clarifies a few things.



Changelog


0.9.8.2 

- Add: TrackIR support, letting you control the camera angles with your head as well, not only with your mouse or your controller. It is particularly useful in zero-G in first person and in third person view alike. It behaves exactly like the mouse and the Right Stick of your controller, adding its own rotations to the ones set by them. Think of it as moving the Right Stick with your right thumb, and a virtual mouse with your head. Attention: You must turn "Roll" off in your TrackIR Ui because I use its value to determine whether the camera elevation is beyond -90°..+90° (that's a limitation of using Euler angles). The game doesn't roll the camera around the forward axis anyway, so if you keep "Roll" active in your TrackIR UI, you might see the camera drift to the side when you move your head up or down, depending on where your TrackIR camera is located.

- Add: Press and hold RS to reset the camera angle to behind Sandy's back. Especially useful when in first person ragdoll. On the keyboard, that would be TAB by default. Please note that it resets only the vertical orientation, not the elevation which stays the same. That way, you can move the camera up or down with the stick and move it further with the head with your TrackIR, and that initial "vertical angle offset" will be kept. If that's a problem, I will add it as an option later.

- Add: Options in the Gameplay settings to modify the behaviour of the TrackIR in the game. "Compensate" (on by default) basically makes the head independent from the body in Animated mode (it is always independent in Ragdoll mode). If you leave it on, walking forward while looking left with the TrackIR (not with the mouse) will not change Sandy's walk direction so she will walk to your right. If you turn it off, the TrackIR really behaves like a second mouse so turning your head to the left and walking forward will make Sandy turn left and walk forward according to your camera. Either option is fine, it's just a different behaviour, and you choose the one you prefer.

- Change: Robots now walk much slower when carrying a girl, to avoid shaking her all over like the brutes they are.

- Change: Rad now looks pretty much everywhere when doing his patrol in the Command Center, he's much more aware of his surroundings than, say, Ignatus. So hiding in some side corridors (in entrances) is much riskier than before. (*)

- Change: The space background no longer shows so many stars, it is now much more contrasted to look more natural to the human eye, with subtle flares around the brightest stars to be more consistent with the star in Lagune's system (also we're getting close to Christmas).

- Fix: A physical skeleton's internal collisions bit wasn't set when switching the control mode, the player had to repair the ragdoll for that. Now they're inactive in Animated mode, but active in Ragdoll mode. Sandy's physical skeleton is special, her internal collisions are always active, but in Animated mode, her legs are exempt. This has a nice side effect: she will finally stop making knots with her legs when strafing.

- Fix: Volumetric audio sources were full 3D without spatial blend, which could make the source shift from left to right rapidly, and it was annoying when wearing headphones. There was a similar issue with ambient volumetric sources, now it's temporary volumetric sources, mostly door sounds.

- Fix: The feet should no longer interpenetrate in Ragdoll mode. That was a long-standing issue, and to allow for collisions without shaking all over when the legs are tied, the shape of the physical feet resembles more the shape of the visual feet (it ignores high heels though, sorry, maybe in the future if I can). It looks much better now.

- Fix: We couldn't jump off a ladder anymore (again) due to the Animator setting root motion precisely when it should not.

- Fix: When catching Sandy, a robot would say some dialogue lines that would fit better when actually carrying her to a safe place ("Let's secure you somewhere safe", "Now come with me" etc).

- Fix: When successfully sneaking into Isabelle's office while Zap is not watching, the task wasn't marked as successful. Conversely, it is now marked as failed if Sandy gets caught. (*)

- Fix: Robert's tape would sound distant because its "voice" came from the floor instead of Newton's hand. (*)

- Fix: Weird branching (a line is skipped) in a dialogue during "You Came" if Sandy succeeds in her negotiation with Zap. (*)

- Fix: More robots not looking at Sandy when she speaks because they were flagged as "on standby".

- Fix: The "gameplay" options menu text wasn't properly aligned with the controls.

- Fix: "Attentionate" is not a word, Virginia. The word you're looking for is "Considerate".

- Fix: The kitchen door in HAB clipped through the bathroom wall on its left.

- Fix: (if you can call it that) Sandy is biologically 31 years old, not 32. The crew left Earth on July 16th, 2019 (9 days after Sandy's 31st birthday) and they stayed only 9 months awake in total in the ship, the rest of the time being spent in statis while they didn't age, so she can't be 32 yet

Please note: When launching the game with a TrackIR on, please make sure the window of the game is the one currently active. In other words, don't alt-tab or click on another window while the game is launching. Doing so might make the game fail to detect the TrackIR (i.e. you move your head and nothing happens, even though you know your TrackIR is functional). If it happens, close the game and launch it again. I've seen instances where there's an error in the player.log file saying the handle of the game's window can't be zero or something like that. Very odd. Normally, the game identifies its own window handle and transmits it to the TrackIR interface, but it looks like that doesn't always work.


0.9.7.1

- Add: In "You Came", Sandy can now fail her negotiation dialogue and still patch things up by sneaking into the office without being seen by Zap (before this change, she would be automatically spotted and captured). If she manages to do that, new dialogues open, both with the robots in the office, then with Monica afterwards. But if Zap spots her anyway, and he glances at the vent regularly, she ends up captured like she did before. (*)

- Change: If Sandy botched her apology to Jones during the morning of Day 2, he won't ungag her later in the afternoon, when he comes to help her out. As a result, she will have to struggle out of her gag herself before being able to talk to Asimov. (*)

- Change: In the Med Bay, Ignatus now stops at the corner before the Observation room, but looks inside that room and may chase Sandy if he sees her inside but unbound. Unless, of course, she's hiding behind one of the beds at the time. He also stops at the next corner after the Observation room (in front of the unfurnished and largely unbuilt Recovery room). That way, the player has more spots to ambush the robot and deactivate him when he walks past Sandy, unaware of the danger, and stops shortly after. But since his patrol has more stops now, his patrol walk speed is a bit higher to balance the change out.

- Change: The "Look at behaviour" selector in the Gameplay options is now only for Animated mode. There's a new similar selector for Ragdoll mode so you can choose a different behaviour for each control mode. Attention, whatever behaviour you choose for the Ragdoll mode, Sandy still looks in the direction of her movement if she goes fast enough, or at her hands if she moves her arms.

- Change: On the bridge, there are 2 pilot seats and 4 crew seats (in case one of them is malfunctioning... you know the drill by now). They are now all labeled to show which one is dedicated to whom, and Sandy has her own.

- Fix: When a conversation needs clear speech (i.e. Sandy must not be gagged), and its trigger was supposed to disable after being valid, it was disabled without starting the conversation, blocking the game.

- Fix: When using DLSS or TAA for the anti-aliasing, the space background could be replaced by the global HDRI sky (which gives the rooms their shine). This is due to the camera's near and far clip planes, but no clue why it does this only with DLSS or TAA (I use SMAA personally that's why I didn't spot that bug sooner).

- Fix: Sandy could lose balance even when prone. Now, simply moving in Animated mode while prone won't make Sandy consume her Balance trait (other stuff may make her lose her balance, but not crawling).

- Fix: Improved the detection of the handles of a rotating hatch, especially useful for the one in HAB leading up to the maintenance sublevel.

- Fix: Improved the rendering speed in the corridors in HAB (simply by removing the static shadows from the ambient lights, which are occluded when not in sight anyway).

- Fix: The shaft in HAB (the one that links the corridors and the maintenance sublevel) wasn't inhibiting its neighbor sectors when closed. As a result, the maintenance sublevel was still rendered when looking up at the closed shaft from below. Small optimization, but better than nothing.

- Fix: When Sandy meets Kate, the door to the bridge should now be locked.

- Fix: When Sandy meets Monica, the latter was always looking at Sandy's eyes, regardless of whether the player was in third person or in first person view. There was a special instruction to force her to look at the girl and I'm not sure whether it is necessary or not, but I'm sure I forgot to add the instruction to stop the first one once Sandy is captured, and now it's there.

- Fix: When grabbing something physical (not affixed to a wall) in Ragdoll mode and pushed by a virtual wall, Sandy was releasing the object whether she was actually pushed or not. An example of this bug occurred when grabbing one of the chairs in Virginia's room the second time we got there, during the time when we were listening to Virginia's tape. The reason for forcing Sandy to release what she's grabbing is when she grabs a robot's handle, and the robot walks through a virtual wall that is supposed to push Sandy back. The only example of this situation is in the Med Bay, after Ignatus dumps a bound Sandy in the Lab. If the player is good enough, they can grab the robot's handle and hope to sneak out the Lab that way, but I'd rather they didn't so Sandy releases the handle when the robot crosses the doorway. To be fair, though, I think it's a clever way to skip a part of the escape sequence, so I'll probably allow it later. I just have to remember to unlock the Reserve once Sandy reaches the lower floor. And to change Sandy's dialogue if she's outside the Lab when the door closes and locks.

- Fix: We couldn't click on any button with the mouse in the pause menu while watching the intro cutscene. It was the "black screen" effect being a raycast target and intercepting the mouse clicks even when invisible. Love it when a bug is fixed simply by turning a checkbox off.

- Fix: In certain places, Sandy's hair would stretch when touching a wall with the feet while in low gravity. So far, this happened only on the bridge while DAL was rotating the ship and Sandy's toes were touching the sides of the lower platform.

- Fix: When loading a game with an elevator very close to its next floor but not exactly positioned, it would try to decelerate to go to it, but having no speed, it would never reach it and stay stuck with its programmed path, and wouldn't respond to calls

- Fix: Sandy's eyes texture was set to "double-sided" so we saw her eyes when in first person view with the camera offset moved all the way back. Now we still see her nostrils, eyelashes and eyebrows (since we don't see them from the inside), but at least we don't see her eyes in first person view anymore.

- Fix: In some cases after loading a game where Sandy is holding something like a handle or a mesh floor, her head would be pitched down a little compared to the angle it should have been. I have no idea what caused it, only that it's not my code (probably 2 assets fighting each other). Now, I'm using a different strategy and it's working at last.

- Fix: When listening to Robert's report in Sandy's room, DAL was looking down when Virginia was talking.


(*) These changes are only visible in the full game, not in the Prologue.


0.9.6

- Add: A new slider in the Sounds options to control the volume of the in-world music (elevator music only for now). Like the background music, it is 25% by default if the config file doesn't contain the value.

- Change: Moved the first person POV down to place it back in front of Sandy's eyes instead of her brows. Lowered the near clip plane to clip through her head less, and the offset can go a little further back. Also the maximum downward angle of the camera is now 125° from 115° before. As a result, the POV is now at eye level, but still quite forward by default so we can see her lips and facial expressions better, since we can pitch the camera further down than before, making her face more readable in first person. And being able to move the POV back a little more means more ability to see the other character's face when engaged into one-on-one situations on couches in first person view. Purely hypothetical example, of course.

- Change: The delay in the stereo effect for Sandy's voice when in first person view has been reduced from 40 ms to 20 ms, to sound more pleasant to the ears while still keeping this "I am speaking" feeling.

- Change: All the robots, Hostesses and humans are supposed to look around them when not focused on anything in particular, which means Ignatus was turning his head left and right when patrolling in the Med Bay. This is okay for other patrolling robots in later scenes, but Ignatus should keep his head straight to avoid making it too hard for the player at this point in the story.

- Change: Leg bondage decreases Sandy's balance less, so she can now hop fast without fear of falling... unless she changes direction too brutally. Attention though, ankle cuffs plus leg tape plus high heels still consume more balance than leg tape alone.

- Change: A little addition to the dialogue in the Communications Center when Sandy is asked how to stand up.

- Change: When taped up, Sandy's head drooped a little, giving her a more submissive posture as she constantly had to look up... but that was too much, especially when looking at a mirror in first person view. Now, her head should be more level and she shouldn't look like Norman Bates anymore. This was also a problem for other female characters, even Monica who is supposed to be dominant.

- Change: When showing the elevator's UI, warp the mouse cursor to where it was the last time the UI was hidden, instead of always in the middle of the screen (which happens to be one of the floor buttons).

- Change: The Hostesses' eyes (iris and sclera) are brighter, they shine even in total darkness because they emit a very faint light. Actually, Sandy's eyes emit a little light too, but less. It's just to dim some odd shadows in her sclera coming from a grazing bright light such as the sun.
- Fix: Sandy was cumming too often and too hard in a certain scene during Day 2...

- Fix: Sandy's business heels (not her sandals) weren't making footstep sounds when hopping fast in bondage.

- Fix: When wearing headphones, some ambient sounds (DAL's LMC, bridge) could move rapidly from left ear to right ear and that could be annoying.

- Fix: Some robots weren't looking at other people when in conversations anymore. They were actually officially on standby and now robots on standby look straight ahead and don't pay attention to their surroundings. Problem is, the activation state is part of the save so this issue is bound to reoccur a few times before it stabilizes.

- Fix: Second attempt at making a character's visemes play more smoothly over extreme facial animations such as grinning or having the mouth open. The difference is especially visible on the Hostesses' faces, since they have thin lines on their cheeks, making any twitching obvious when they speak while smiling. Monica in particular, because she smiles a lot.

- Fix: Sandy's footstep sounds could be doubled (especially the right foot) when walking in full gravity.

- Fix: Robert's tape supposedly given to Sandy by Newton during Day 2 didn't seem to exist anymore because I made a silly. It's back now.

- Fix: Some gap in the ceiling in the room beyond DAL's LMC. Those gaps aren't easy to find in the editor because the whole level is visible (hence what's behind). But during the game, thanks to the sectorization, only the objects directly visible inside the room and the ones beyond openings inside your field of vision are rendered, so when there's a gap, you can see space, stars and Lagune through it.

- Fix: When in Animated FPS, coupling the camera to strafe (left trigger or right mouse button) then stopping the coupling could lead to the head staying stuck looking front, until we coupled again or switch to third person view.

- Fix: A naked female character would have her eyelashes badly morphed at start (until she wore something or her ragdoll was repaired), due to not wearing any piece of clothing that contains morphs. This never happened to Sandy since she always wears her sweat layer, which does contain a morph.


0.9.5

- Add: A new Gameplay option to decide what Sandy looks at when in Animated depending on where the camera is, or Ragdoll mode depending on her speed. Please note this setting is ignored during conversations and while in first person view.

- Add: When in first person view, Sandy's voice now resonates in her head a little. The effect is subtle but enhances the immersion, I think. I'm not entirely decided about this yet, it might still change and if it annoys people, it will be removed or conditioned by an option.

- Change: The first time there is gravity, Sandy mentions the fact that she can stand up from laying on her back. The "let me show you a few tricks" journals have been amended too.

- Change: Sandy no longer looks "straight ahead" when she has nothing to look at. Instead, she looks around idly, shifting her gaze to various points in front of her, moving her head a little, and her head lags when she turns around, making her look less stiff and more lively.

- Change: When in first person view, characters talking to Sandy look directly at the camera, not between the character's eyes which might not always be aligned with it.

- Change: When talking to someone, a character now looks at their "social triangle" (left eye, right eye, lips) instead of a fixed point between their eyes. It makes them look more lively as well.

- Change: Sandy can now switch from Ragdoll mode to Animated mode and stand up immediately when laying on her back, provided her arms are not bound too tight. For the time being, every bondage Sandy can be in allows it (cuffs, tape, shackles), but she won't be able to stand up that way when her arms are tied to her torso.

- Change: Sandy is now more resilient to impacts on her head, chest and abdomen. This should hopefully interrupt her conversations less often, and knock her out less often as well.

- Change: In first person view, Sandy's head now stays level so you can admire her lips and even her nose (the POV has been moved up slightly for that purpose). It does follow the camera to the left and to the right, though. The up and down angle limits of the FPS camera have also been increased from -110°/+110° to -115°/+115°. It makes the experience even more immersive! You can see Sandy's lower face and her facial expressions (or her gag), giving you a better awareness of her body. Please note that her head also stays level during conversations, but it moves towards the speaker instead of following the camera like it normally does. When looking at her reflection in a mirror in first person view, she won't move her head up or down anymore, but her eyes will still look up or down, so that's fine. I recommend setting 60° as the default FOV angle for first person view in the Graphics options for a good experience.

- Change: When struggling in a restraint, the first move in a sequence will not consume stamina if it's a failure (since only a successful move should begin a sequence, and therefore count the stamina needed to execute it).

- Change: The forward offset in first person view can now be moved back a little. It is useful when talking to someone who is standing or sitting really close to Sandy (for example when cuddling on a sofa) to avoid clipping through the other character's face. The default offset stays the same, this change just makes it possible to move the camera back a little now, not only forward. But if you look down with the camera moved back, you'll see inside Sandy's mouth (actually, above the inside) and clip through her nose so it's best used for looking forward.

- Fix: It was possible to make Ignatus resume his previous patrol in the Med Bay after leaving him and Kyle, by moving back and forth through the elevator door, triggering a scene load.

- Fix: Ignatus recently decided do dump Sandy's clothes in a closet in Virginia's office (the one near the door) instead of in one inside the Clean Room, as Sandy hinted. This was because both closets in Virginia's office (that one plus the wooden one in the back room) were declared eligible closets for AIs to store clothes into, in case one of them caught Sandy wearing something. So Ignatus could decide one of them was closer to him than those in the Clean Room, and pick that one. Now, he is is instructed to dump Sandy's clothes specifically in one of the closets in the Clean Room, and nowhere else. He even makes a remark about it right after walking out of the Lab.

- Fix: When waking up from unconsciousness or executing a head emote (just a nod for now) while in Ragdoll mode, Sandy's head was twitching.

- Fix: When Ignatus walked up to Sandy in the Med Bay, if Sandy was floating above the couch, the robot could capture her but would never walk away. This was because there was no longer an appropriate NavMesh where he was standing (the robot uses a different one when he carries someone or something, since he takes more space). To fix it, he now teleports to the nearest point on its new NavMesh first, then goes his merry way to deliver his package in the Lab.

- Fix: Apparently, the ship's alarm sound was 3D and could sound weird while wearing headphones, the sound could shift left and right randomly. It wasn't audible with regular speakers.

- Fix: The camera rotation could drift to the left or to the right very slowly while remaining stationary. This wasn't really noticeable unless zoomed all the way in, and staying immobile for several minutes.


0.9.4

 - Add: Sandy can now stand up when laying on her back, but only if her hands have enough reach (i.e. they're not cuffed or tied). Note: I could also make her stand up when laying on her belly in Ragdoll mode, and do this only when her hands are free, but that would create a discrepancy between switching to Animated mode when bound and switching to Animated mode when free. With the former, Sandy would end up prone and wouldn't be able to stand, but maybe be able to crawl, for example when in cuffs but not in tape. With the latter, she would stand up immediately. This could be a problem if the player wants Sandy to stay hidden behind a low obstacle. So I'm not forcing Sandy to stand up, she does if the player wants her to. So for now, only NPCs may stand up that way.

- Add: In low gravity and wearing magnetic shoes, Sandy can now walk up to a wall and actually start walking on it as if it were her new ground, without requiring a smooth change of slope between them anymore. It also works when she's facing a cliff. Note: this feature is working but not used anywhere in the story yet.

- Add: NPCs can now lock containers! No more stealing stuff from closets, Sandy!

- Add: When a default Operation can't be executed on an Operable (the default Operation being the one you see in the interaction prompt, the Operable being the thing you want to operate, where the interaction prompt is), its label becomes red in-world, with the reason for being invalid.

- Change: When pressing the "reset camera offset" key (RB+LS on the controller, Enter on the keyboard), the camera offset now returns to default instead of saved (in Animated mode, default is close to Sandy, saved is farther and allows you to see her feet too, but you can change it by pressing the "save camera offset" key), unless the offset is already at the default position and the field of view is already at its default value as well. In other words, the "reset camera offset" key switches between default and saved offset (but always resets the zoom).

- Change: You can now offset the camera up a little when in FPS (Animated and Ragdoll alike). This is not very realistic, but it helps when wanting to look over an obstacle. Please note that this offsets the camera up in Sandy's referential, in other words above the top of her skull. This means that if she's crouching, the camera won't go up, it will go up and forward. If she's laying, it will move forward.

- Change: When switching between third person and first person views, the FOV resets only if it was already at its default value. If you're zoomed in when switching, it will stay zoomed in.

- Fix: Saving the FPS camera offset in Ragdoll mode saved the non-FPS camera offset in Ragdoll mode.

- Fix: When Sandy has to insert the spinning orbit maneuver drive into Dave's console, using some very old saves, the game would not progress and you would have to load another save. Note: This happened because Sandy's "brain" wasn't active in those saves, meaning the moment she was instructed by the game to transfer the drive into the console, nothing happened and the brain was waiting forever. But I'm pretty sure none of the saves provided on Mediafire have this bug, and when you start a new game, Sandy's brain is active anyway. So that bug should not have bothered you. But if it did, then it was a blocker and had to be fixed.

- Fix: We should no longer be able to go to Life Support in the Prologue version, since that floor isn't present in it, so we could walk out of the elevator, into the vacuum of space.

- Fix: When in zero-G, Sandy's hair could look stretched at times, when the game detected a surface under her two feet. This is because the game moved a simulated ground plane to that place but with the wrong rotation. It doesn't make sense to move the simulated ground plane when there's no gravity anyway, and when there is gravity, its rotation is correct.

- Fix: When in zero-G and putting her two feet on a surface, Sandy's breasts bounced a little without any reason. This was due to the game detecting the surface and thinking Sandy could stand up, so it did something (perfectly legitimate and that has to be done) which side-effect was her breasts moving. Now, it will only happen when she wears magnetic shoes, otherwise since she can't switch to Animated mode in zero-G, there's no point in deciding Sandy can stand up, regardless of the surface beneath her feet.

- Fix: Bathroom door buttons were bumpable in Animated mode. Now they must be operated like the rest.

- Fix: Hopping in bondage at the max speed did not play any footstep sound.

- Fix: When loading a game with Sandy wearing Laura's dress and Laura being around, Sandy's body morphs wouldn't apply to her dress (in fact, they would apply to Laura's clothes instead). This was due to me specifying what clothes a character wears by default. Those clothes were already inside a character's hierarchy (Laura's dress being inside her hierarchy), and when those clothes were worn by another character, the game couldn't know their SkinnedMeshrenderers were already referenced by their original owner, creating conflicts with the morphs. In practice, Sandy was wearing Laura's dress with Laura's morphs applied to it, until pressing the "repair ragdoll" key.

- Fix: When standing up from Ragdoll mode, NPCs couldn't use any "standing up" animation to make them stand up more smoothly.

- Fix: Ignatus could hear Sandy's regular breathing in the Med Bay when she was too close, because there's almost no ambient noise except his own footsteps, so it was almost impossible to deactivate him when he was immobile. Now, the regular breathing (low mouth, low nose, low mouth in pleasure, low nose in pleasure) is almost inaudible by AIs, as it now yields only 6 to 10 dB. The ambient noise in MED without the engines running is 10 dB so Ignatus won't hear that, even from up close. This is consistent with a normal breathing sound pressure level, as opposed to 30 dB for a low exhale prior to this change, which is equivalent to the noise of a rustle of leaves. Please note that Sandy's hard breathing sounds are still much louder (50 dB for a hard exhale, equivalent to a the ambient noise of a quiet office place) so if she's winded when floating next to Ignatus, he will hear her and look in her direction.

- Fix: Facial expressions now show faster during dialogues. And visemes (short and partial facial expressions played when a syllable is pronounced, the visual representation of a phoneme) should blend better with the facial expressions.

- Fix: Mirrors should now reflect the sky on metallic surfaces (Sandy's cuffs & collar, for example) properly.

- Fix: We couldn't rebind the mouse scroll wheel because the "Legs Spread" and "Legs Together" commands (which are done with the mouse scroll wheel by default) weren't in the Keybindings menu. Please note that this implies adding two speed factors in the Graphics options page (not the Controls options page which is pretty crowded). Those factors are the FOV Speed and Offset Speed sliders, by default 1x, letting the player set the speed at which the zoom changes over time, and the camera offset, respectively. This is because the mouse scroll wheel essentially behaves like two buttons that you can only tap, even rapidly, but not hold. In other words, using the mouse wheel for zooming or offsetting the camera is slower than using regular keyboard or controller buttons because the input is not 100% every frame, only when the wheel "snaps" to the next notch. The rest of the time, the input is 0%.

 

0.9.3

- Add: First Person view in Animated and Ragdoll mode alike. Press RB+Select to switch (or Numpad+ on the keyboard but you can change that key in the options). Animated and Ragdoll FPS modes both have their own camera offsets that you can change, they are just more limited in volume than in Third Person, but they allow you to get a better sense of your surroundings. The camera offsets are controlled with RB+cross, LB+RB+cross, Right Stick to swap shoulder (yes, you can move the camera left and right even in FPS), RB+Left Stick to reset. Or with the numpad on your keyboard. The First Person view is designed to make the game as immersive as possible, so you can feel like you're Sandy, while still admiring her (your) gorgeous body! Please note: FPS in ragdoll mode in zero-G is very difficult. I am not responsible for any barfage occurring on any keyboard!

- Add (but not used yet): Sandy can now walk on any Euclidian (flat) or non-Euclidian (non-flat) surface, regardless of the slope, if she's in zero-G and wearing magnetic shoes, without the camera going crazy. Since magnetic shoes are not yet in the game, nor is the quest involving them written yet, this is a feature that isn't playable at the moment, but it will be. It does change and fix a few things, though, such as Sandy's speed when walking up ramps.

- Add: The very beginning of the quest after "You Came", yet unnamed (the best candidate name for now is "Afterglow"), but there's not much to see at the moment. (*)

- Change: Now, jumping in Animated mode requires you to press and hold Y (or X on your keyboard by default) for a bit then release. The longer, the more powerful the jump, and she jumps when you release the button. I know this isn't the best way to do this, though, but I don't really have a choice here. Normally, games require you to press the jump button and the character jumps immediately, and if you keep pressing, they just jump higher because the gravity is artificially lowered until you release the button. But this wouldn't work in Flight of the Swallow because Sandy is also able to jump when in zero-G, walking on a surface with her magnetic shoes. And in that case too, the duration of the pressure on the jump button matters. Since I can't lower a gravity that is already null, I can't really do it the way it is supposed to be done.

- Change: The mouse cursor is no longer restored to its last position when focusing on the game or hiding a menu, except in the specific case of the action wheel being shown and hidden. That should make things less frustrating for the user.

- Fix: Sandy was unable to jump away from a ladder anymore.

- Fix: Crouching while climbing a ladder wouldn't get the character out of "climbing" stance.

- Fix: A character might be in the "sitting on something" stance, while not sitting on anything in particular when their seat was contained in an unloaded Unity scene.

- Fix: Sometimes, a character might look at the camera at the very beginning of a dialogue. Very rare case, but it happened and should be fixed now.

- Fix: It was possible to crawl on a wall even in gravity, if said wall was on top of a 45° slope (this happened only in Life Support which is not in the Prologue). Worse, we could not control Sandy properly in that case. Now, Sandy can still crawl up a wall, to an extent (gravity eventually wins), but at least she's perfectly controllable when doing so. When you goof around with walls, at least do it the proper way!

There's a ton of other stuff but they're under-the-hood fixes and improvements, nothing interesting to mention.

(*) Not included in Prologue


0.9.2 

- Change: The action wheel can now be used with the mouse (like a virtual controller stick, not the actual mouse pointer).

- Change: The inventory can now be used with the mouse (with the actual mouse pointer this time).

- Change: The elevator's UI can now be used with the mouse.

- Change: The dialogue menu can now be used with the mouse.

- Fix: Added colliders to the sides and top of the elevator doors to avoid letting Sandy fall through.

- Fix: Rad didn't seem to see Sandy anymore, due to a recent change to his "active" switch. (*)

(*) These changes are only visible in the full game, not in the Prologue.

 

0.9.1

- Add: Keybindings conflicts detection.

- Change: Reorganized the keys a little, moving interaction and other commands to "common" etc.

- Fix: The mouse-driven camera is really framerate-independent now. Really for real. And no thanks to Unity!

- Fix: Sandy couldn't jump off a ladder when the game was running at high FPS.


0.9

- Add: Full keyboard+mouse support, with key redefinition in the options. Please see the following wall of text that explains everything in detail about this feature.

- Add: Sliders for mouse and controller camera move sensitivity in the options (x1 by default, it goes from x0.1 to x10).

- Add: Colliders for the stairs in the Communications Center, colliders for the bootstrap generators and the thing behind the console in Power Regulation, and other complex colliders like the big robotic arm in Life Support (it is contained in a room that isn't accessible yet, but it's there and needed to be done).

- Change: Smoothed Sandy's movement in Animated mode so she feels natural even when using the keyboard.

- Change: Boarding a ladder is now done with the B button instead of A like before, since A should be reserved for interacting. Leaving the ladder is also done with B. This is now consistent with picking up a crate with B (for now, the crosshair must be on the crate but this might change in the future) and putting it down with B as well.

- Fix: Various dialogue lines weren't playing the proper voice files. I made a system to make sure this wouldn't happen again. Well, it will certainly happen again, but will be much easier to track and fix without having to test the entire conversation during the game (especially if it has several branches).

- Fix: In REC, floating all the way up to the ceiling of the topmost floor would make the exterior scene load (the one with the solid ship hull) and would send Sandy fly away to space.

- Fix: Sandy's tape restraints weren't double-sided.

- Fix: In some rare situations, some actors would look straight at the camera when saying their first dialogue line. But only Sandy is allowed to look at the camera! This happened once when meeting Isabelle, and a second time with Monica in Virginia's office, much later in the game.


Wall of text incoming.

It's been a heavy work week, but finally support for keyboard and mouse is in the game! With key redefinition on top of it. You'll see, there are a couple keys you can change to your liking (*).

There are a few points to keep in mind.

1. I'd like to point out that my keyboard layout is by default AZERTY, not QWERTY like most. It shouldn't be an issue because Unity is fairly keyboard-agnostic, but you never know. Normally the default movement keys should be WASD for you, but they might be ZSQD instead. If they are, don't be alarmed but please tell me so I can take a look.

2. Nearly all the keys can be changed but not all of them. For example, spreading the legs in Ragdoll mode is done with the mouse wheel, and I can't seem to find a way to redefine it properly. It does detect the mousewheel entry, but it doesn't say if you're moving the wheel up or down, so I don't recommend assigning the mousewheel to any command yet. If I find a way, I'll add it to the list.

3. Keyboard keys are binary, unlike controller sticks and triggers that are "analog" (they're not actually analog, they're just 32 bit instead of 1, so they can support more values between 0 and 1 than just on/off). This is a problem for the arms when in Ragdoll mode. To counter that, there's a command called "Keyboard Pressure" (simply called "Arms pressure" in the Keybindings) which, when pressed, simulates moving a trigger or a stick halfway or all the way. This only applies to the arms for now. By default, when you don't press the Pressure key (C by default), Sandy's arms go the full way, they go halfway only when you press that key. You may want it the other way around, and in fact I recommend it, you can do that by switching "Keyboard pressure positive" ON in the Controls settings. However, please note that if you do this, moving the arms with the controller will only move them halfway, and there is no "Keyboard Pressure" button on the controller, obviously. So this key impacts both the keyboard and the controller, and for now I have no solution for this (save for making specific arms controls for the keyboard and for the controller, and distinguishing them in the code, which I don't want to do). Also, I decided to keep the leg movements out of the "Keyboard Pressure" because with it, the kick feels quite weak. If you find the keyboard kick is too hard to your liking, you can always press Modifier1 (Left Shift) and Tense (Space) at the same time instead, this makes Sandy use the same animation as the kick but she's less strong, while still stronger than a half pressure kick. It's something in-between, it feels like a gentle push.

4. By default, Modifier1 is mapped to Left Shift and Modifier2 is mapped to Middle Mouse Button. That's great and all, but in Animated mode, Modifier1 is barely useful (except when struggling, and you don't move Sandy when she struggles anyway so no need for a strategic key like Left Shift), while jumping is used more often. Just for the sake of consistency, I set Modifier1 to Left Shift in Animated mode as well, but feel free to change it to whatever you prefer (swap it with Jump, for example). This is the reason why the modifier keys can be set independently in Animated and Ragdoll mode.

5. By default, Sandy walks in Animated mode when you move her, and she runs when you hold Space pressed. I wanted to add an "always run" switch in the options to invert it, but it didn't work due to the "walk/run" button on the controller. So you have a "walk/run" key for the keyboard as well and that's H. Not an ideal placement, but feel free to swap it with Space if you want to make Sandy run with a toggle instead.

6. You might notice that I don't use the Control and Alt keys as modifiers by default. In fact, it shoudln't be a problem in the built game (the one you're playing), but it would be a big problem for me in the editor. For example, when I initially mapped pulling the legs back in Ragdoll mode to Left Control, and I wanted to make Sandy roll forward, I would press and hold Ctrl-Z (since Z is my "pitch forward" key, AZERTY keyboard here, remember?)... and Unity would be like "Undo-Undo-Undo-Undo"!... Like they say in the military, "look at the bright side, you'll make that mistake only once". The Unity editor keeps responding to regular Unity shortcuts even while testing the game in play mode (i.e. inside the editor). So no Left Control or Left Alt for me! But feel free to use them yourself, it shouldn't be an issue for you. I have a script that is supposed to inhibit the editor shortcuts while in Play Mode but it's not configured properly yet. It's a non-issue for you so it's not a high priority concern for me.

7. There are what I call "slaved controls" that you can't change and don't even see in the options. Those controls are commands you can do that are necessarily mapped to the same keys as other commands you are able to change. For example, to repair Sandy's ragdoll, the key is now P (since I needed R for something more important like "Slow Time"). Tap to repair her ragdoll, hold to repair another character's ragdoll such as Isabelle's in "Girl Don't Come" and "You Came". Those two commands are separate, but "repair other ragdoll" is slaved to "repair ragdoll" and when you change the latter, the former changes as well to use the same key. Likewise, you can't actually remap the arm controls, they are necessarily the same as moving the legs while holding Modifier1 pressed. Just like with the controller.

8. The "Alternate arms" control can't be remapped, because it is always equal to "Kick". Just like on the controller where you must press both triggers to use the alternate arms positions (arms up above the head, or down along the body, instead of front and back). So if you press the Kick key (X by default) while in arms mode, you will use the alternate arms positions instead of the normal ones. This is the same as pressing "Legs fold" and "Legs stretch" while in arms mode. But you're trying to play a game, not to play piano, and the keyboard is less fit for simultaneous key presses than the controller. Likewise, since the alternate arms mode is only about using two positions that are not available otherwise, and those positions are extended to the max, alternate arms mode also forces the arms out, whether you press the "Keyboard Pressure" key or not.

9. A few commands you were used to with the keyboard had to move to other keys. For example, "Repair Ragdoll" is now P (it used to be R), "Fix Carry" is now O (it used to be F). This might change again in the future as those commands are mostly for fixing bad situations induced by the physics engine, rather than regular commands in the game.

10. For consistency's sake, boarding a ladder is now done with the same button as carrying and putting down a crate, and as leaving a ladder. And this goes for the controller as well, which now uses the B button in all cases instead of A, which should be reserved to interacting with operables. You can still jump off a ladder with Y on the controller and the "Jump" key on the keyboard.

11. For now, the action wheel arrow doesn't move with the mouse, so you have to use the keyboard for that (then left click to validate or right click to cancel). This will change in the future because I would like the action wheel to go from 8 slices to 12, so the keyboard won't be usable anymore.

12. Likewise, for now the inventory doesn't use the mouse either. It used to, and it is actually made for that in the first place, so it will change in the future as well.

13. Important: Don't forget to click "Apply" (or to press the Y key or whatever key you assigned Apply to) after redefining your keys! Nothing is saved until you do and if you leave the menu and come back, it reloads whatever is in the config file! If you didn't apply first, your mappings are reset and you have to assign them all over again.

14. You shouldn't be able to remap controls to controller buttons, but pressing A or B still has an effect so try to avoid using the controller at all when in the Keybindings menu.

15. The game is still very controller-centric. Everything the controller does can be done with the mouse and keyboard, but it still assumes you're using a controller. I didn't modify any line of dialogue nor any notification, or even any of the journals to reflect the addition of keyboard+mouse support. Not yet at least. I still need to decide the best course of action because this is a significant change, but I need things to stabilize first.

16. "Fire" and "Guard" in Animated mode don't do much in the game for now. The game supports guns (with physical bullets, this is a physical game after all) so "Guard" means "aim", but with melee weapons it would mean "raise your guard up". In practice, when "Guard" is pressed, Sandy keeps her back at the camera and strafes when you move her, instead of turning towards the direction you choose and walking forward. It doesn't work well when prone or tied up, though, because I don't have animations for strafing in those situations. "Fire" currently doesn't do anything but I'm not against adding melee or ranged weapons later. So those two buttons are there but barely useful for now. Note that "Fire" is done with RT and "Guard" with LT on the controller.

17. You might wonder why the "Switch to Animated mode" and "Switch to Ragdoll mode" keys are different by default. This is the same reason as for the controller. When you're in Ragdoll mode and trying to switch to Animated mode, you tend to mash the key because Sandy isn't usually in a stable position in that situation. If the keys were the same, pressing the key one time too many would switch her right back to Ragdoll mode, defeating the purpose.

18. You can bring up the pause menu and hide it with the Backspace key as well as the Escape key. This is just convenience for me because I don't want Escape to pause the game while working on it in the editor, as I often want to keep the game running while using my mouse to modify whatever in the inspector to test this or that.

19. For more precision when moving Sandy's body with the mouse, I recommend setting the Ragdoll power curve (in the Controls options) to Quadratic or Cubic. Likewise, I recommend setting the Right Stick deadzone to at least 0.1 when using the mouse, because when you make Sandy's torso pitch, without the deadzone you're pretty sure she will twist at the same time and you probably don't want that. For example, if you move the mouse up by 100 pixels per frame, chances are the mouse will also drift to the left or right by something like 5 to 10 pixels as well, even if you're very precise. The deadzone will suppress that unwanted lateral deviation and avoid making Sandy's torso twist at the same time and ruin your maneuver.

20. The game is able to detect conflicts between keybindings, and makes them appear in red in the Keybindings, but that's all it does. It doesn't redefine the keys for you nor forbid you to set this or that key. It just tells you there's a conflict, and you're free to ignore the warning. That way, you can assign Space to Dialogue/Expedite (knowing Space is also Run by default), and it will work. Just don't try to run while someone is talking to you. Or you can assign F to Sitting/StandUp (knowing F is also the default interaction), and it will work as well. Just know that it will do both actions so if you have something to interact in range of Sandy's hands while sitting, interacting with it will also make her stand up. But nothing worse than that.

21. For now, the only way to activate a button on the elevator's interface is by pressing Enter. I wish Space worked too (and later I'll work at adding mouse support for that interface as well as the inventory and all), but for now it doesn't. But at least Enter does.

Lastly, if you have any issues after binding the wrong key to the wrong command (for example, menus Back or Activate) and you find yourself stuck, you can always quit the game and delete the "keys" line in your config file, before launching the game again. This resets your keys to the default settings.

When I started adding KB+M support, I didn't want it to feel "tacked on" a game that is obviously made for a controller. I didn't want one device to be easier than the other either. In fact, Flight of the Swallow was initially made for the keyboard and mouse, but the controller quickly showed being more precise and intuitive. Not to mention that Unity's input system is powerful but very confusing to use for a developer. Now, things are back to normal at last. Both devices are supported equally and you use the one you prefer.

(*) It's just 86 commands, nothing you can't handle.

0.8.5

 - Add: Fifth and last part of the "You Came" quest. With a reveal at the end! In the last part, your choices and your ability to negotiate will trigger one of two different outcomes, with two different scenes as a result. (*)

- Add: Journal entries for the two secondary quests, and for You Came. (*)

- Change: Going to arms mode when grabbing something is now much smoother than before.

- Change: Door buttons can no longer be bumped by an animated character. They either have to be operated with the prompt, or bumped by a physical actor such as a crate or a character in Ragdoll mode. This is the way it was meant to be in the first place, buttons were never meant to be bumped against in Animated mode, but it was kept this way until the interaction prompt was fixed. This means that to open a door while Sandy is bound, her hands must be close enough and she has to turn her back to the button (unless her legs are free, in which case she can also push the button with her foot). Please note that this includes the elevator buttons, but not the substation buttons, which can still be collided with in Animated mode for now (this might change in the future as well). Of course, if this change proves to be annoying, I'll see what I can do. But a girl in bondage shouldn't be able to operate buttons as easily as when she's free, in my opinion. 

- Fix: Gap between LIF and POW scene volumes, making the game load the ship exterior scene (in which the ship's hull is solid), colliding with Sandy and other physical stuff and sending everything flying apart. (*)

(*) These changes are only visible in the full game, not in the Prologue.


0.8.4

- Fix: In some circumstances, a worn item could be invisible if it was saved as "inactive" (because of the old way the game used to disable objects that were outside loaded scenes). Now, a worn item is necessarily active, even if its wearer is inactive.

- Fix: Since 0.8.1, the hostesses (the female robots) were set to Ragdoll mode at start. This was necessary after the change in the activation/deactivation process which disables an actor that isn't in a loaded scene (actors are items, operables and characters, they are always loaded, but only those that are part of the same scene volumes as the player are active, the others are disabled). This created a big issue, though, it kind of corrupted the save games that were created during a game that was started from scratch in 0.8.1 or 0.8.3. Not in a game that was started in a previous version, only those two. See below for the second fix. However, this fix here ensures that this won't corrupt more saves, but it can't fix the ones that are already corrupted. Fortunately, you can fix them yourself. Here's how:

1. Open the ".sav" save file (in My Games/Flight of the Swallow/Save) in a text editor such as Notepad++.
2. Replace all occurrences of "controlMode=1" (meaning "ragdoll mode") with "controlMode=0" (meaning "animated mode"), except Sandy's which is the line beginning with "3cac9e12". All those without the quotes, of course.
3. Save the file and that's it, the bug is fixed.

I want to stress out that 0.8.4 fixes only half of the problem, while you replacing the "controlMode=1" strings in your save files fixes the other half. You have to do both (use 0.8.4 and fix the files) to completely get rid of the problem. You need to do this only for save files that were created during a game that was started with 0.8.1.x or 0.8.3.x, not any other version. If you don't fix your files, the girls will still be in ragdoll mode, and if you fix the files and keep playing with 0.8.3, the fixed files won't be corrupted again, nor will any new save file, unless you start a new game using that version.

I'm sorry for the inconvenience, I should have seen this coming. Until today I had to set all the female characters to "Ragdoll mode" at start because Animated mode was creating issues for hostesses in ragdoll mode (which does not happen in Day 1 but does in Day 2), so this was an oversight on my part. Now I have identified the reason and fixed it, so this shouldn't happen anymore. I had to remove 0.8.1 and 0.8.3 from mediafire so people won't download the versions that create corrupted saves.


0.8.3.2

- Add: Third part of the "You Came" quest, where Sandy visits a part of the back area of the Life Support level after coming back from POW. I won't spoil too much, except to say that there are several variations of those scenes depending on the player's choices (and I'm not talking about dialogue choices). For example, if Sandy meets Jones there, their interaction will depend on how good she went with her apology during the morning. You'll see for yourself. For now, the content ends when Sandy and Asimov take an elevator up to REC. (*)

- Add: Now, after the first "tutorial" quests (when Sandy leaves POW after being collared) are finished, Sandy can use the substations' power buttons to cut the power, hence the gravity and lights, on and off, at will. This has a significant effect on the game and this part of "You Came" is actually built around that, among other things.

- Change: Various optimizations to make the game run a bit smoother. Not much (even though there are over 20 optimizations), but every little bit helps. It's mostly CPU-bound calculations.

- Change: Sandy's animated movement should now be a bit smoother. She shouldn't stop abruptly anymore and has more inertia now, but only when going forward, not when turning.

- Change: When her legs are tied (in tape for now), Sandy can now hop faster. Her previous hop is now her "walk speed", her "run speed" looks the same but the stride (or rather the jump) is longer. It also makes her lose balance more easily so be careful not to let her fall!

- Change: Turning in Animated mode now consumes more Balance. As a result, hopping in bondage for too long will make Sandy fall, unless the player periodically slows the girl down.

- Fix: When applying a restraint with a higher security bonus (in this case, high enough to make the restraint "too secure" to struggle), if the restraint was already worn with a lower security bonus, it wasn't re-applied. Now, if Sandy is bound in tape with, say, security 6, and Percy (for example) wants to tie her up with security 1000 tape, now he can. On a side note, security 6 is the highest level Ignatus would bind Sandy in the Med Bay, after capturing her a few times, and that made her escape quite longer already. Security 1000 makes the restraint plainly inescapable. The Security score directly implies the number of moves to memorize.

- Fix: When climbing a ladder in Walk mode, the speed becomes 75% instead of 50% which was too slow.

- Fix: We could see the ship's hull instead of the Recreation Deck when floating down from the Communications Center.

- Fix: Apparently, and since an unknown number of versions, floating up from MED to POW would trigger the load of the solid ship hull (which should never happen, at least not until Sandy does an actual space walk but that will be for later), resulting in her ragdoll being squeezed and exploding.
Known issue: When climbing down the ladder between LIF and POW, opening the lower hatch is tricky. Its handles are not easily accessible by Sandy's hands, and when the hatch finally opens, it may collide with Sandy's body. Simply climb up a little until the hatch is open. (*)

- Fix: Several issues with the scene where Percy captures Sandy, all stemming from the same cause (an inaccessible destination because I forgot to unlock a few doors). (*)

- Fix: Wellington's patrol did not include his barks, because I forgot to reinstate them after my SSD crash. (*)

(*) These changes are only visible in the full version of the game, not in the Prologue.
 
Note: This changelog is small because I lost one week of work after my main SSD crashed. I had to redo that lost part, which took almost the whole week, including reinstalling everything, but I also lost one month of git commits (because git commits are not uploaded to pCloud, the provider I use for saving my work, so I had to grab an older one I manually copied to another HD). So there are probably more changes that I don't remember and have no trace of anywhere. Also, please note that most of the work this week was on the Life Support level and the "You Came" quest this time, not much on engine improvements.


0.8.1

- Add: Next part of the "You Came" quest, with the new Life Support level ("LIF"). The quest ends (for now) when Sandy is back to LIF after visiting POW. Most of the time was used for designing the level, the part of the quest itself is pretty short. Only a part of the level is done, by the way. Sandy has to go back to it after visiting POW, and that's when the other part of the level will become useful, and I have yet to design it. LIF is designed pretty much like REC, with a big area on one side of the elevators, and multiple small rooms on the other side. Except it's larger than REC, but not as tall. That level is meant to provide the ship with oxygen, water and food. And to be a livable area for the crew too. (*)

- Add: When Sandy presses an active but non-patrolling robot's standby button, he complains to tell the player that it won't work.

- Add: C2 workers can now also be patrollers, with the same lines but using the typical voice of a C2 (like Kyle).

- Change: Now, Traits are hidden until they become relevant to the player, not just when they stop being at their "rest" value. For example, Focus and Stamina bars show when their associated Traits are between 0% and 90%, Balance shows when it reaches 25% or less, etc. The player doesn't care if a Trait is at 99% instead of 100%, so no need to clutter the screen for nothing.

- Change: When Sandy goes back to Monica for the first time during Day 2, Monica will notice if Sandy is still bound in tape. She'll make a little comment and free the girl before they go to the couch. (*)

- Change: Balance recovers normally when in Ragdoll mode, regardless of Stamina, Focus, Pleasure etc.

- Change: The gravity has less impact on the stamina consumption when moving (standing, crouched or prone), unless it is very low. Half a G now lowers the stamina consumption to only 85% instead of 50% like before. That way, Sandy can still be winded when running or sneaking at half a G, it just takes a bit longer.

- Change: A gag reduces the ability to recover stamina, since Sandy can only breathe through her nose. The nose has 75% inhale and exhale abilities while the mouth has 100% in both.

- Change: When crouched or prone and in "walk mode" (i.e. the player has pressed Down on the cross to halve the movement input in Animated mode, for better comfort and precision), the character's movement speed is 75% of the input instead of 100%. That way, we can sneak and crawl more slowly to save stamina, since moving at full speed consumes stamina, while still moving at an acceptable pace. Standing is unchanged, "walk mode" means the character walks at 50% of the input.

- Change: When a robot spots Sandy, or hears her footsteps (not her breathing), he automatically inhibits his standby button for a couple seconds. That's a polite way of saying he covers his ass.

- Fix: When Monica stands up from the sofa, she tends to step on Sandy's toes. This is because her seat mirrors her animation (Sandy's seat use the same animation but not mirrored), and when she stands up she's suddenly no longer mirrored. Since her standing animation is a root-motion one (meaning her animation determines her actual movement), her position has to change to adjust. The joys of root motion. (*)

- Fix: When playing from the COM scene to the first MED scene (after Sandy finishes talking to Virginia) without loading a save, Ignatus would not pick up his patrol after leaving Sandy in the lab. The reason is complicated to explain, but to experience this bug, Sandy would have to be entirely naked (so Ignatus wouldn't be interrupted by the realization that he's holding clothes in his hand), and the player would have to play that segment in one go. Thanks Mai for spotting this one!

- Fix: Shoes were modifying the crouch and prone movement as well, while they shouldn't. They should modify the standing movement only (walking and running).

- Fix: If two Operables (objects that can be interacted with) were close enough to the crosshair but the closest one wasn't directly reachable because it was hidden behind something, no interaction prompt was visible at all. This issue was particularly visible with doors. It doesn't sound like much, but that bug made operating stuff way harder than it should be. Now it works as intended, namely like the "Better Third Person Selection" mod in Skyrim. The Operable chosen by the system is simply the one that is closest to the crosshair, on the screen, regardless of its depth (its distance to the camera plane), while ignoring all the Operables around that are hidden by something, and those that are behind the camera plane. It makes interacting with stuff so much easier.

- Fix: When floating down the shaft from COM to REC, the sports field wasn't visible until way down the shaft. It was loaded and all, just not visible, and we could see the ship's hull instead.

- Fix: When deactivating a character, we were deactivating the character's whole structure (the character, its ragdoll and all its systems). Problem is, Unity has an undocumented (and uncommented, let alone fixed) bug when you deactivate a joint such as a ragdoll's joint between two parts. When you do this, the joint is reset and the ragdoll is bent in all unnatural angles when reactivated. This never occurs to Sandy since she is never deactivated, being the player's character, and only one character is deactivated while in ragdoll mode and that's during day 2, so it's a bug that managed to stay stealthy for more than a year. Now, the process of deactivating a character is made differently, without touching its joints at all. Worst part is, I knew it, I just forgot about it. When I designed pivoting physical doors, I had to do something to fix that issue when deactivating them. Note to self: Stop deactivating joints. It's like crossing the streams. 

(*) These changes are only visible in the full version of the game, not in the Prologue.

 

0.8

- Add: Now, Kyle stores the clothes he steals from Sandy when he captures her the first time in HAB during the quest "Shock To The System", instead of keeping them with him forever. He should store them during the conversation with Sandy (while waiting for Monica) by going all the way to the Clean Room, then back to the door to the elevators.

- Add: Monica now monitors Sandy's dressing state during the 4 conversations in the quest "Shock To The System", in case the girl managed to sneak some clothes in the room one way or another, and dressed up during the short time when her hands are free.

- Add: Walking, running and moving crouched now have different speeds depending on Sandy's footwear. Being barefoot is now slightly slower than before (but not to the point of being annoying), while wearing high heeled shoes or boots increases the walking speed but decreases the running speed, on top of being noisier. Running shoes, when introduced in the game, will do the opposite by increasing the running speed but increasing the walking speed only marginally.

- Add: Moving in Animated mode now costs "Balance" (a new Trait like Focus and Stamina). The loss is calculated from the player's inputs (forward and turn, especially turn) but also from her attachments. High heels and some restraints lower the Balance even more. Her Comfort, Stamina, Focus, Pleasure, Orgasm and Afterglow traits are also taken into account. When the Balance trait reaches 0%, Sandy switches to Ragdoll mode and falls down. Like the Stamina cost, this is not made to annoy the player, as there is more than enough Balance to stay upright in nearly all circumstances. However, in some situations, it might be a good idea to be careful not to move or turn too much. The cue to expect when the Balance is low is the screen looking wobbly. If you see the screen warping too much, Sandy is about to fall down. Afterglow actually gives a bonus to Balance, but don't make Sandy walk while she's having an orgasm, as she is likely to fall!

- Change: Stretching or folding Sandy's legs no longer costs Stamina. Kicking still does, though. (this change was supposed to be in 0.7.9, but it turns out it wasn't)

- Change: Sandy shouldn't have so much fun when walking crouched now.

- Change: Sandy should take less time to accelerate when moving in Animated mode, and should feel snappier when turning while walking or running. She was pretty sluggish before, with her moving turn rate being equal to her stationary turn rate (180°/s, now she rotates at 1440°/s when moving at full speed).

- Change: It should now be easier for Sandy to stand up while crouching in Ragdoll mode.

- Fix: It was possible to be stuck being zapped in the Med Bay while following Monica, if Sandy's Comfort went down to 0 while in Ragdoll mode. Monica was zapping her until she switched to Animated mode, but you can't do that if Sandy's Comfort is at 0. Now, her zapper doesn't inflict pain if her Comfort is below the zapper's safety value. There is only one case, for now, where Monica disengages the safety and that's not in the Med Bay.

Please note: I don't plan to let the Balance Trait (and other Traits like Focus and Stamina) show all the time on the screen when moving, they tend to be uninformative when we're beyond 95% and clutter the screen for no real reason. It is not currently possible with my system, which hides only when at 0%, at 50% or at 100%, depending on the Trait, but in the future I would like to expand that to make those Traits show only when they're truly relevant. Likewise, the Balance Trait will eventually be hidden all the time, once I have figured a way to visually convey the "unbalance" better. In fact, this should apply to all Traits. Ideally, if an effect is visually clear enough, there's no need to show a bar on the screen at all.


0.7.9.3

 - Fix: When Ignatus captures Sandy in Virginia's office, he fails to carry her on his shoulder and waits forever.

- Fix: When a robot opens a door and for any reason the door closes right away (for example when Sandy bumps against the button while being carried), he would decide the door will never open and give up after 12 seconds. Now, if the door is still not open after 12 seconds but his "open the door" operation was a success, he will conclude the door failed to open this time, and try again. He gives up only if the door refuses to respond to his "open" operation.

- Fix: The camera can't be moved while the time scale is 0. This was due to the recent change to the camera's time frame.


0.7.9.1

- Add: Second part of the "You Came" quest, where Sandy meets Archibald and Wolfgang in POW. This is not explained yet, but to reactivate the robots, the player has to walk behind them and activate their standby buttons. This part is pretty short (unless you keep getting captured) and for now the Life Support level is not even started yet, so the quest now stops when the two robots are about to be sent away to their destination. They just stay where they are for now. The next step will be to make the Life Support level, or at least a skeleton of it, so Sandy can finally go there. The highlight of this part is that if Sandy is captured by a robot while talking to Archibald and Wolfgang, Archibald will help her out. However, if she's dressed, he will also report her to Monica. (*)

- Add: When Sandy is with Monica in Virginia's office, Monica gives her a few orders. If Sandy doesn't comply within a few seconds, Monica gets impatient and reminds her (hence the player) what to do, and maybe punishes Sandy for being slow or trying to resist. I considered explaining to the player what to do with small cards on the screen, but making Monica give the instructions is much more immersive.

- Change: The buttons on the substations are now operable, you can see the interaction prompt on such a button when moving one of Sandy's hands and your camera focus close enough to it. Don't forget that to bring up the action wheel in Ragdoll mode, you have to press and hold X instead of just pressing it like in Animated mode (since a simple press in Ragdoll mode means grabbing).

- Change: Likewise, the robot's standby button is now operable as well, meaning you can deactivate a patroller by operating his button in animated mode too. Please note that this does nothing to non-patrolling robots, except to Archibald and Wolfgang who must be activated by Sandy that way. (*)

- Change: Now, Sandy is totally silent when walking crouched or crawling, so you can sneak behind a patrolling robot to deactivate him. Attention, though, he can still hear her breathing if she's winded or enjoying herself too much. Remember, the actual noise detected by a robot depends on the volume of the sound (for example, Sandy's footstep, or her breathing), but also on the distance, the obstacles, and more importantly the ambient noise. When there is gravity, the engines make a lot of ambient noise which volume depends on which floor Sandy is on. The farther, the quieter. HAB is very noisy when the engines are on, CMD is medium, COM is almost silent. To give you an idea, the ship thrusters make a 70 dB noise (that's not a lot, equivalent to a noisy restaurant, but we're inside and the jet is oriented down, otherwise it would be more like 140 dB or more, which is deafening). HAB is located 80 m above them, CMD is 130 m above them, COM is 210 m above them, and the falloff is logarithmic.

- Change: The speed at which the arms move is now by default halfway between 0.7.8 and what it was before 0.7.8, because it was making struggling feel too sluggish. However, tensing at the same time (by pressing LS) makes Sandy's arms twice as fast, now. The strength at which her arms move, on the other hand, entirely depends on the "arms strength factor" you set in the options. Since I can't seem to decide what values feel best for everyone, they are now in the Controls options (as "Arms move duration normal" and "Arms move duration tense"), and are expressed in seconds. By default, normal is 0.4 s (meaning it takes 0.4 s to go from one position to another) and tense is 0.2 s. For reference, the original value was 0.3 s for both and the value in 0.7.8 was 0.5 s for both.

- Change: When a robot steals Sandy's clothes in the generic conversation (even Monica), they will walk away to store the clothes somewhere nearby, if they can, then walk back to Sandy, even if she has moved in the meantime. That way, the player knows they can retrieve Sandy's clothes later if they want, instead of leaving them in some robots' hands forever.

- Change: Now, if Sandy makes a sound that is heard by a robot but she's in an area where she is allowed to be (either a public area, or a capture area and she's still bound enough), the robot won't care and won't even react.

- Change: When the Focus is low, don't make the image "bleed" so much, there's already enough effect as it is (grain, darkness, loss of saturation and degraded hearing).

- Change: Moving the legs in Ragdoll mode no longer costs Stamina. Kicking still does, though.

- Change: Adjustments to how a robot can hear Sandy's footsteps and breathing. Now he's less sensitive to footsteps but more sensitive to breathing. Forget sneaking behind one of them while Sandy is breathing audibly in pleasure or winded! Also, barefoot is quieter than boots, which are quieter than heels. And it depends on the surface Sandy is walking on. Carpet is quieter than metal.

- Fix: The camera should stop jumping when moving fast or riding an elevator. This was due to the camera being updated in... I don't know. Cinemachine says "smart update" but I guess it's not that smart after all. And although pretty much every other Unity game updates the camera in LateUpdate(), it looks like FotS requires the camera to be updated in FixedUpdate(). All this to say, it should be fine now.

- Fix: It was possible to start the "You Came" quest multiple times by completing the first part, climbing the shaft to POW, then going down to MED with the elevator and getting Kyle to open the door again. (*)

- Fix: Various fixes to how the AI handles certain delicate situations, such as physical pivoting doors, off-navmesh destinations and the like.

- Fix: Wrong audio clip for Monica when she tells Sandy to stand before her and to turn around during "Shock To The System".

(*) Does not apply to the Prologue, or this is a change applied to the engine that won't be noticeable in the Prologue.

 

 0.7.8

 - Add: When talking to DAL, if Sandy suddenly undresses, the conversation stops, DAL makes a remark and waits until Sandy is dressed again in order to resume the conversation. Please note that the conversation isn't over, it just branches to another generic one, waits, then branches back. So there's never a moment for the player to save at that time, Sandy has to dress again eventually.

- Add: In Animated mode, running and jumping now cost stamina (not a lot, it becomes an issue only when the stamina is already low, or when running for a very long time), and a low stamina decreases the running speed. Please note that for now the input value is the amount of pressure on the left stick, so she loses stamina also when walking crouched and crawling. This is subject to change in the future.

- Add: In Animated mode, walking, running and jumping while wearing a certain something now brings Sandy pleasure. Not a lot, but noticeable enough. (*)

- Add: As Sandy is eventually freed, she is able to wear clothes, but still forbidden to by Monica. The robots now routinely check that Sandy is indeed naked. (*)

- Add: When pleasured, cumming, in afterglow or when it's cold, Sandy's nipples harden. Yes, that's important. (*)

- Change: Now, Monica successfully gets rid of Robert's holotape when she needs her hands for... something else. And she takes it from the closet again when she finally wants to listen to it. (*)

- Change: Various stamina costs in ragdoll mode. Sandy generally has a better cardio now. Also, tensing is now more efficient in gravity as it makes her noticeably stronger. You can confirm this by making her roll on the floor with and without pressing the left stick, you'll see the difference. She will also stop getting pulled up while tensing and on her knees, making it easier for her to rotate and staying on her knees instead of tumbling forward.

- Change: The three arm poses where Sandy is not restrained and moves her arms in the "boxer stance", hands in front and low and hands behind her, are now different. The hands are significantly farther from each other than before, giving her more amplitude. And the "arms back" one goes further back. The "arms front and low" pose is now pretty equivalent to the one we had before when the player simply pressed LB without touching LS or the triggers, but that was some kind of hack before, it is now back to normal. Please note that I didn't update the embedded tutorial videos to reflect this change, but I will eventually.

- Change: When activating arms mode, the arms go more slowly to the boxer stance to avoid shaking Sandy left and right.

- Change: The arms move a bit more slowly from one pose to another, making Sandy softer and more comfortable to control. I'm not sure it will stay that slow, though, it tends to make struggling with the arms feel more sluggish.

- Fix: Since the introduction of multiple NavMeshes (one for normal operations, and a slightly leaner one for robots carrying a girl), robots had trouble finding a path to a capture spot after catching Sandy, and would repeatedly capture her then drop her before finally finding a clear path. This was mostly noticeable in the Command Center, but not only. The areas near the elevator doors in particular were tricky.

- Fix: Made the "Call" button of DAL's elevator an Operable (just forgot to do that before).

- Fix: A few typos in the Quest Tracker.

- Fix: The tall window near the elevators in REC was not thick enough (half of it was hidden for some reason).

- Fix: A couple handles in the COM maintenance room were not in the correct sector, resulting in them being hidden when moving the camera away from the door to the maintenance corridor.

- Fix: For some reason, DAL was moving left and right when talking to him... In fact, he was suddenly using the animation I wanted him to use, but I never noticed until now that he didn't. And suddenly, he does. I have no idea why.

(*) Does not apply to the Prologue, or is a change applied to the engine that won't be noticeable in the Prologue.

0.7.6.2

- Fix: Since 0.7.4, the game failed to load a save or to start a new game and would crash to desktop without any on-screen error. The reason was apparently an outdated Burst library.


0.7.6 

- Add: Second half of the Quest Tracker. This half is about the new "Quests" menu (it's in the Pause menu, you won't find it in the Main menu), where you can activate and deactivate quests so they show on the screen or not, and inspect every Task (steps, if you prefer, even if quests are not necessarily linear) to get more information and hints for some of them. It works very much like Skyrim's quest journal, actually. If a Task ends with "[+]" on the screen, that means it has additional information you can find in the Quests menu. It may be a hint, it may be something silly Sandy might be thinking on the moment, or anything.

Please note that the Quest Tracker itself is not correlated to the story. It was, at first, but that created more harm than good. It merely receives new Tasks when a conversation notifies it, but it is not a necessary component for the game at all, it's only there to convey information to the player. This means that a save created before 0.7.2 (when the Quest Tracker was introduced) has no information about any quest, so you need to complete one Task in order to make it refresh itself.

- Change: The Traits in the top left corner of the screen now have gradients. They look prettier and clearer that way.

- Change: The music playing in the Recreation Deck after Sandy escapes Ignatus is more defined (same music, but more tune to it).

- Fix: When an NPC walks to a closed door to open it, but the player opens it in the meantime, they would close it, wait 12 seconds, decide the door is broken and give up on going where they wanted to go in the first place (because the operation initially chosen was "toggle" instead of "open"). Now the NPC realizes the door is already open so no need to try and open it or toggle it again, and they keep walking without stopping.

- Fix: It was possible to lock Monica outside Virginia's office by running to the couch before she entered the room.

- Fix: There was some kind of ugly blur on the top and bottom side of the Load and Journal buttons.

 

0.7.5.1

- Add: Second half of the "Girl Don't Come" quest. (during Day 2) (*)

- Add: Ignatus is now able to tidy up the Maintenance Room in the Communications Center, since Sandy would not do it herself. (*)

- Add: Handles and emergency lights to the Communications Center.

- Add: Pressing and holding "R" while aiming the camera at another character repairs its ragdoll instead of Sandy's. This is not useful in the demo since no NPC is in ragdoll mode, but it is during Day 2.

- Change: Now, Sandy moans properly when pleasured or cumming while gagged. (*)

- Change: For restraints (or items in general) with several levels, such as shackles, the player is now given several options to choose which one. For example, Sandy can wear the Elegance ankle shackles with or without the chain. This does not apply to the story as it is currently since the girl doesn't have the key to her shackles, but will be useful for later. (*)

- Change: When in the Main or Pause menu, the mouse cursor is automatically moved to the right side of the screen, and not on any control. It is still usable and won't move when navigating through the menu, but at least it will stop selecting buttons that you don't want to select if you use the controller exclusively.

- Fix: Notification toasts were not always fully visible when the window aspect was too tall compared to its width.

- Fix: When jumping to catch a ladder mid-air, sometimes Sandy would slip and fall while keeping a reference to the ladder, which would teleport her to it the next time the player pressed the A button.

- Fix: When a robot wants to choose a StorageSpot between several and the path to the closest one is Partial, the robot chooses it anyway and teleports.

- Fix (hopefully): Sometimes, Propel is broken even after setting Thrust Factor down to 0. The player would have to change the Thrust Factor and save several times in order to fix it.

- Fix: Sandy was having too much fun while being carried by a robot and wearing the popcorn. (*)

- Fix: When meeting Theodurus for the first time, the trigger was too small and could be avoided by going to Habs through the shaft instead of the elevators.

- Fix: The two buttons of DAL's elevator were unresponsive. This was caused by the fix to that elevator in 0.7.4.

- Fix: In some cases, wearing some leg tape over the ankle shackles with the chain, then unwearing it, would not let the chain spawn again. This was a visual issue only, the physical constraints were there, and it was always possible to fix it by pressing the "R" key.

- Fix: Applying or refreshing the hogtie should now be a lot smoother.

Please note that the changes marked with a star (*) don't really apply to the Prologue version of the game. I mean, they do apply, but you won't see a difference since they don't have consequences on the Day 1 part of the story. I include them here for the sake of completeness and clarity.


0.7.4

- Add: Anti-aliasing support (FXAA, TAA, SMAA and DLSS), with 3 levels of quality. Actually, 4 levels of quality but the 4th level works only for DLSS and means "ultra performance" (so very low quality).

- Add: When switching Walk mode (that's Down on the cross), we now have an on-screen notification during 1 second. Likewise, the notification we get when switching the Thrust direction only lasts 1 second now.

- Change: Now, when a robot carries Sandy, he should stop grinding her against the walls and making her bump against door buttons by mistake. Hopefully.

- Change: Robots should no longer have trouble with door buttons, they can activate them from farther now.

- Change: We can no longer save a game while Sandy is carried by a robot.

- Fix: When Sandy was in the way of the elevator in DAL's core (the platform), it would stop too far from its current floor and would not stop playing its sound.

- Fix: NPC ragdolls would not load properly. This is not relevant for the Prologue version but in the full version, a recently added scene required an NPC to switch to active ragdoll mode. That was the first time it was needed, and it was working... "mostly well".


0.7.3.1

Hotfix for a blocking bug. Kyle would capture Sandy in Habs and bring her to Med, but would stop when the elevator arrived, breaking the game and preventing from going further.


0.7.3

- Add: The "Art Gallery" logo in the art gallery is no longer phantom and can now be grabbed.

- Add: The "Camera" thrust direction is now divided in "Camera forward" and "Camera back", and the player can switch between both withe B button, like with all the other thrust directions. Please note that if you used a thrust direction before, there's a good chance it will be wrong in this version so you'll have to set it in the options again. This is due to the "ThrustDirection" enumeration in the code to have received a new value, shifting the old ones up by one notch. For example, "Camera back" is 3, which used to be the value of "Arms pull" which is now 4, but your config file would still contain "3".

- Change: Thrust and Propel are now mutually exclusive, since they both use the Y button. If your thrust factor is > 0, you can't propel Sandy anymore.

- Change: When Ignatus comes for Sandy in the Med Bay, he now notices if she's naked (or wearing only shoes), and his dialogue adjust accordingly.

- Small change: Added a little more green to the ambient light inside the lab. 'Cause it wasn't green enough.

- Fix: In the Med Bay, when Ignatus captures Sandy and drops her in the lab, in some rare cases, he would never start patrolling and would stand in front of the lab door like an idiot. This was due to a recent change to his AI and his patrols.

- Fix: In the Communications Center, during the moment Sandy says "the only intruder here is yourself" and the moment the robot captures her, Sandy is not in a conversation and can therefore go where she wants. There was a way to leave that floor through the elevator by being quick enough. Now, the elevators are blocked to that floor and Sandy can't leave the Internal Comms room either, just to be sure. No escape for Sandy anymore!

- Fix: When loading a game in less than 10 seconds, all the already successful tasks and quests were showing in green on the screen, briefly. I didn't spot this bug before because in the editor, a game takes longer than 10 seconds to load.

- Fix: Two different tasks in the "Hunting Down A Killer" quest were named "FreeSandy" internally, which made the wrong one being successful once Sandy is freed from her handcuffs. Please note that since the second one now has a different ID ("FreeSandy2"), that task might no longer appear in your save if you went further than the stage where Sandy is captured in the Communications Center.

- Fix: In the Recreation Deck, When asking Sandy "which way to the locker room", the player would ask the correct question in text, but their voice would say "which way to DAL's LMC".

- Fix: Sandy was able to climb down a ladder through a closed hatch.


0.7.2

- Add: A Quest Tracker to show, in the upper right corner of the screen, the current quest(s) in yellow and the current task(s) in white, in a concise manner, to remind the player where to go or what to do. It doesn't explain how to do it, though, that's not its role. The very first quest ("Waking The Witch") has a lot of tasks and might feel a bit like micro-management, but it's just so a new player doesn't feel lost. The next quests have fewer, scarcer tasks. Please note that the tasks are spawned by the conversations, and no Quest Tracker object is present in any of the saves I provide (since they were created before its inception), nor in any of the saves you created yourself prior to this version. This is not really an issue at the moment, but will become one when I implement the second part of the Quest Tracker, a menu that will allow you to inspect quests (ongoing and completed) more in depth.

- Change: In DAL's LMC, a disengaged tape in a row will prevent all 5 tapes right below it (i.e. the one below it, the two tapes to its left and the two tapes to its right) from being disengaged as well. This makes the tapes more spread out across the panel, and should make it easier for the player and less likely to accidentally kick a tape they shouldn't. Same challenge, but hopefully less frustration. Please note that if you load a save where the tapes are already disengaged, they won't change. This applies only to a game where the tapes are not disengaged yet, i.e. at a stage before Sandy reaches the white door to DAL's core, downstairs.

- Change: When in Animated mode, activating the arms makes Sandy's body less "kinematic" and more physical, giving her limbs more momentum when she struggles, making her body wiggle more. Not as much as when she's in Ragdoll mode, but still more than before.

- Change: Now, actors can actually speak over each other, it sounds more natural when a character interrupts another (typically when a dialogue line ends with "--" to indicate the character was interrupted in the middle of a sentence).

- Small change: Revoiced 3 of Sandy's first lines (during the intro cutscene and the "I'm up" when in her room). I don't usually even mention it when I redo voices, but the first 2 lines are important because, well, they are the first ones, so they have to be spotless.

- Fix: The door detectors of some doors were too thick, making the door reopen (or fail to close) while Sandy was apparently far enough. This was especially true for the inner doors of the elevators.

- Fix: In the beginning of the game, when telling Sandy "we can proceed" while already in front of the door, there was a chance that the next conversation ("The door is locked") would incorrectly set the quest stage back to what it was, breaking the flow of the game. The player would have to fly back to the door to fix it, but had no way of knowing it.

- Fix: When a conversation involving Sandy is interrupted, hide the dialogue viewer (the menu that appears when the player has a dialogue choice).

- Fix: By being persisent enough, there was a way to slip out of Virginia's back room while talking to her, and escape to the elevators of the Med Bay before Ignatus came to chase Sandy, effectively breaking the game.

- Fix: Ignatus now locks the Med Bay door as soon as he enters it, in case Sandy is so slippery she manages to reach it before he goes up to the office.

- Fix: An object could remain inactive (disabled hence invisible and unusable) if it was not in the save file, and not in the scene Sandy starts at (i.e. in Habs). This was the case for a certain item located in a certain closet in a certain room, that item was supposed to be used in a certain scene at a certain time with a certain character during day two. I hope I'm not spoiling too much.

- Fix: Some typos in some dialogues. In particular, whatever comes after "I'd rather". I always have trouble with that one. Btw, don't hesitate to tell me if you find any typo. Thanks!

- Fix: When unchained, Sandy's ankle shackles now have their rings against the steel, not rotated 45° like when they're chained.


0.7.1.1

- Add: In the "Ask Sandy" dialogue, you can now ask for hints and tips, in the form of voiced tutorials, about how to use the inventory, how to move her body etc, on top of getting the notification "toasts" (the player's avatar calls it "cards" but it's the same thing). When you ask "About using my controls" or "About moving your body", Sandy asks you to be more specific, that's where you can ask questions about more precise topics.

- Add: In the "Ask Sandy" dialogue, you no longer says "thanks" immediately, you have the options of asking something else without closing the dialogue.

- Add: (re-add, in fact) Quality presets in the Graphics options. You now have the choice between "High" (default), "Medium" and "Low". Of course, the individual settings such as texture size and anti-aliasing are still available, the presets are just global graphics presets, they are independent from the rest.

- Change: Smoothed out the colliders on Sandy's feet so she stops sticking her heels everywhere every time she gets the chance.

- Change: Completely redid the back area of the Recreation Deck, moving the Art Gallery, the Supervisor's Booth and the Lockers Room, and adding a Lounge, a Tennis Table room, a Depot, a Shaft access room, and several small corridors. It makes the area much busier and more interesting now.

- Change: Added wide grabbable nets on the walls and ceilings of the sports area in the Recreation Deck. It's a very big empty area and it was difficult to navigate efficiently because, although there are many handles to grab, there's a lot of space between them. The nets are grabbable so this should make it easier for the player. Also, they're fabric so Sandy is less likely to hurt herself when hitting them too hard. And it makes sense, too, as the Diomeda is designed to operate both in gravity and in zero-G, so playing zero-G games means the players must be able to control their trajectories at all times.

- Change: The HDRP asset I used for the "High" preset was flawed, so it is now changed with a new, saner one. This fixes a few visual glitches such as Med Bay corridors being dark instead of white.

- Change: Removed a bunch of reflection boxes in some rooms, they were making the game look weird in some places.

- Change: I'll stop calling this a "demo". This is not a demo, it's not restricted in any way, this is the whole first day of the story. So I think I'll call it "prologue" from now on. At least until I change my mind again. Granted, it's not a big change, except for the loading bar that is smaller in order to avoid overlapping the version number on the screen, but it went better by saying it.

- Fix: We could sit on a chair through a door using the Voice operator. Now, the "sit down" and "stand up" operations require the Walk ability (that only the Body operator provides) to be at least 1%. That way Sandy can no longer sit down using her Voice. She is not the Dragonborn, so enough shouting "Whirlwind Sprint" through doors.

- Fix: There was a way to bypass a trigger in the Power Regulation level, which would break the flow of the game, not allowing the story to proceed.

- Fix: At some point, Kyle would say "I wasn't compelled to by my First Law". He of course meant "by my Second Law". Duh.

- Fix: Typo in the "New to This" section of the tutorials. Page 2, Slow-motion and Fast-forward had their commands swapped. Slow-motion is RB+Y, Fast-forward is RB+B.


0.7.0.1

- Fix: For some reason, the physical skeleton of the robots was deactivated after teleporting, breaking quite a bit of the game. This stems from a tiny change I made after testing the whole game, so it went unnoticed. Sorry about that!


0.7

- Add: This demo is now extended to the end of Day One. The part after Sandy disconnects DAL and makes the ship execute a "spinning orbit maneuver" (where the previous demo stopped) is mostly dialogues and D/s scenes, there is no actual challenge and no zero-G, for once, only narrative. It aims at laying down the story further, explaining a bit about the characters, what Sandy plans to do, and how she reacts in the mess she was thrown into. Please note: There is a part where there's a long conversation between Sandy and the player on the Power Regulation level, and Sandy can't take the elevators to go elsewhere during that time. Remember, you can always expedite dialogue lines by pressing RB+A and fast-forward by pressing RB+B, if you're in a hurry or just don't care about the story or Sandy's incessant babbling. It's worth listening to at least once, though, for that conversation explains what Sandy plans to do and how she plans to do it.

- Add: When saving while Sandy is grabbing something in Ragdoll mode, she will grab (hopefully) the same thing when loading the game again. Please note that although the position of all the parts of her body should be exactly the same, nothing guarantees that there will be something to grab at that location in a future version, or that what she may be grabbing will be the same thing she was grabbing when you saved the game. The save file does not contain the ID of what Sandy was grabbing, it just contains one boolean for "grabbing with the left hand" and another for the right hand. Simple. That way, if what she was grabbing has moved in a new version, she won't be pulled halfway through the ship and end up stuck inside some wall.

- Fix: Propelling Sandy while inside one of the Med Bay cages with the camera outside, propelled her the wrong way, towards the camera. This was due to the invisible barriers (the ones that prevent Ignatus from seeing her while inside a cage) were blocking the propel raycast check.

- Change: Improved the way Operables (things you can interact with and that show a white circle prompt). Now, the prompt shows on the Operable closest to your crosshair on the screen, without caring about the distance to the camera anymore. In practice, this is likely to make Sandy push on buttons with her knees more often when she's restrained! When her legs are not bound, that is. This also works better in Ragdoll mode and in zero-G, hopefully making interactions with closets easier.

- Fix: A part of the upper floor in the Med Bay was dark. Added lights to that area and reduced the "desired lux" of that visual volume. Please note: I'm still unsatisfied with how the lighting is rendered there (and in the Habitations floor as well), I find it too bright, so it is subject to change in the future.

- Fix: It was possible to lock the dialogue viewer (the menu asking you what you want to say, or what you want Sandy to say) in certain circumstances, and the game had to be stopped then launched in order to fix it.

- Fix: An exploit to allow Sandy to unlock (not struggle out from) her shackles. Bad Sandy.

- Fix: When applying a restraint that is supposed to be inescapable, saving then loading made it escapable again. This was the case for the ballgag only, when applied by someone else than Ignatus. The shackles are always inescapable.

- Fix: A stupid bug made it so that sometimes (rarely) the game would slow down for no apparent reason. This stupid bug actually had the advantage of showing another bug that was a bit less stupid and a lot sneakier.

- Fix: A sneaky bug made it so a character could be loaded with some velocity (don't ask me why, maybe the character was falling when saving, or something like that), which made it load its velocity when loading the game, and it would float away from its original position for no apparent reason.

- Fix: The interaction prompt (the white dashed circle) was difficult to see on a bright background. It now has an outline like the grab prompts, hopefully it will be more readable.

 

0.6.3.3

Fix: This version (and 0.6.3.2 before it) contains a bug fix for a very specific issue with very specific locales in some very specific situations. If you reach the Med Bay after leaving the Recreation Deck and nothing happens (Sandy should say something about the Med Bay being very quiet after crossing the door), then you should download it. Otherwise, if it works for you there, then you don't have to.


0.6.3.1

- Change: The camera now takes more time to travel to its destination when forced to look at a target during a conversation (including the "Ask Sandy" one).

- Fix: Ignatus was going crazy with Sandy's clothes in the Communications Center. Okay, that sounded more perverted than I meant. He simply wanted to dump Sandy's clothes in the locker after locking the door, cutting his access, while he was meant to do that before walking out and locking the door.

- Fix: Ignatus wouldn't pick up any crate anymore in the Med Bay (due to a small change I made in his AI... and forgot to parse his AI scripts).

0.6.3

- Add: You can now save the custom camera offset by pressing RB+Start (that's a bit odd a combination, but Start being used for displaying the pause menu, which you can use for saving the game, I guess it kind of makes sense?). As a reminder, you can change the offset by using the directional pad while holding RB pressed, switch side by pressing RS, and switch between the default and the custom offsets by pressing RB+LS. Also please note that there is one custom offset for the Animated mode and another for the Ragdoll mode, and they are independent. Lastly, the offset is saved in the config file, and you can even change the default offset as well there (the one that brings the camera where it shows only Sandy's hips, torso and head in Animated mode). The default offset can't be changed in the game, but if you change it in the file, just go to the Options menu and press X to revert (which means "load from file"). However, if you change an offset in the config file, please keep its X component positive. Weird stuff happens if you make it negative.

- Add: You can now ask Sandy for directions (in the "Ask Sandy" menu, LB+RB+B), depending on which floor you are. She will even move your camera to show you where your destination is! This feature is available only if you are a female player. Male players do not ask directions. Ever. It's a law of nature or something. I kid, I kid!

- Fix: Trying to pick up an Actor (crate, humanoid...) did not check if said Actor could be picked up prior to trying, so Sandy could try to pick up a door (which is also an Actor), and her animation could make her glitch through said door.

- Change: All the doors that open manually and close automatically now close after 30 seconds instead of 15. I won't make them automatic, though, precision checks are a part of the zero-G gameplay, as well as bondage gameplay.

- Change: The interaction detectors near the handles of the hatches are now restricted to Animated mode only, as they should be. I made them available in Ragdoll mode for a time just to see if it was a good idea, but it's not. Hatches are physical and are supposed to be opened physically in Ragdoll mode.

- Fix: When loading a game, if a trigger was in the way between Sandy's original position and her saved position, the trigger could be activated if the conditions were right. For example, loading a game where Sandy is floating in the Maintenance Room of the Communications Center after restoring the communications but before going to the Recreation Deck, would activate the trigger starting the "This is my favorite part of the ship" conversation, while that trigger is supposed to be below the lower hatch of that shaft, not above it.
Fix: In some rare cases, it was possible to be stuck with the dialogue viewer (the menu with dialogue choices) open and you unable to do anything.

- Fix: When on DAL's floor for the first time, the elevators would still lead to Habitations if the player decided to go back. They now go to DAL's floor until Sandy reaches the floor above (that's the Med Bay but at that point in the story, only the elevators are reachable). That was confusing and frustrating because the player would have to float all the way up to DAL's floor again! Sorry about that.

- Fix: When loading while on DAL's floor after restoring the power but before entering DAL's core, twice as many of DAL's tapes would be ejected! Twice! For the record, I had to reorder the tapes to test this more efficiently, so don't be surprised if the tapes are not in the same order when you reload your save there. The top row should not be affectd, but the other 3 will. The same number of tapes will be ejected (the ones you successfully engaged will remain engaged), so your efforts won't be for naught. Also, the order is per row, not global.

- Fix: For some reason, the door in the Maintenance Room of the Communications Center could not be operated by hand in Ragdoll mode. The handles (if you can call them that), i.e. the darker rectangles between the horizontal physical handle, the edge and the window, should now be operable in Animated and Ragdoll modes. The other similar doors were fine, only that one was restricted, I don't know why.

Note: My system crashed at some point while Blogger was in edit mode, which means all the changelog was lost because editing an existing blog post prevents from saving the changes. So I wrote this changelog from memory. I might have forgotten some stuff.


0.6.2

- Add: You can now ask Sandy to remind you about the controls by pressing LB+RB+B, which starts the "Ask Sandy" conversation. For example, you can ask her to remind you about how to use her arms, and she will splat a notification toast with the information you need on the side of the screen. You can do that at any time during the game. Please note that this conversation is also contextual, there are menu items you will see only during certain circumstances (for now, the only contextual item is "We can proceed" to let the game go to the next stage, where Sandy must float to the door).

- Change: The big notification toasts no longer show at the beginning of the game, when Sandy wakes up in her room. Instead, you get a small notification toast telling you how to move the camera (not how to zoom, offset or anything like that), so you have very little to read while Sandy speaks. Then, once you're given control of the girl, nothing happens except she tells you you can ask her anything at any time with the "Ask Sandy" combination of commands (LB+RB+B, see above). This lets you learn and train at your pace by trying some moves while having small cheat sheets to help you, without Sandy constantly babbling in your ear. Once you're done, use that same conversation to tell her you're done, and you will be asked to float to the door. Once there, the game will go to the next step which is the normal story (she asks you if you have read the tutorials, and she teaches you advanced stuff). Hopefully, this change will make it less overwhelming for a beginner player.

- Change: Some chairs on the bridge are now sittable, meaning Sandy can sit on them and pretend she is piloting the ship. Useless, therefore indispensable. (this was just for a test, don't mind me) 

- Change: Virginia's thigh-high boots are now no longer treated as cloth, so they won't be stolen by robots anymore. Except in the Med Bay, but they can be retrieved.

- Change: The hatches now open twice as much when disengaged, except the first two hatches (i.e. the first shaft) which opens three times as much. You still have to touch the "disengage" button in the first place, though, this is a game of skill, not a visual novel!

- Change: There are now two invisible walls (with the "fabric" physics material so Sandy won't be hurt when colliding with them) in the Habitations corridor, at the beginning of the game. One is located after the first crossing, in the direction of Virginia's room, the other is right after the shaft, when going towards the elevators. That way, the player won't accidentally fly through the long corridors when in the dark and learning to control the girl. I know nobody likes invisible walls, I don't either, but I think they are useful here, at least until/unless I find a better solution.

- Change: In the Med Bay, Sandy now tells you where the Clean Room is, as well as the Cryo Chamber. With a camera move and notifications.

- Change: In the Reserve room in the Med Bay, Sandy tells you how to unlock the door from the inside, with an on-screen notification.

- Fix: If Sandy is still wearing her handcuffs when escaping the Med Bay (meaning the player manually put them on her before), they will be removed like the rest when a certain event happens. No spoilers here.

- Fix: A certain someone now dumps Sandy's clothes AND restraints when walking out of a certain room. In case the girl came to her in restraints. That's a possibility.

- Fix: The locker near the door inside Virginia's office was eligible for Ignatus to dump clothes and restraints into. As a result, when loading save 12 ("locked up in the lab"), he would pick that locker instead of the one in the Clean Room, confusing the player since Sandy says he probably locked them in the Clean Room, and going there would lead to find empty lockers. That robot can be sneaky at times.

 

0.6.1

- Add: A new "Easy Stand Up" switch in the Gameplay options, to make it easier for Sandy to stand up when she's on her knees (this will be required often from her after I extend the demo to the end of Day One), and to allow her to crouch or stand up when prone in animated mode and restrained. Without activating this option, when Sandy's hands are bound behind her back, being prone in animated mode is pretty much a dead-end. She can still crawl (unless her legs are bound in tape), turn around more or less rapidly, but she can't stand up. This option here negates this block.

- Fix: Some weirdness with some hatches when loading a game. Can't guarantee there's no weirdness anymore, but there's less weirdness, at least.

- Fix: When in a conversation that moves the camera for a determined amount of time, for example in front of the first shaft or when reaching the Communications Center, and some scenes are loaded, the camera would stay stuck forever. This would happen, for example, when Sandy brushes a corner of the north elevator (the one next to her room) while looking at the shaft, of when opening and crossing the elevator door when looking at the Internal Communications door. I think even a reload did not fix the thing, the game had to be restarted. That was annoying.

- Fix: When a character carries an Actor (such as Sandy or a crate), the character could keep trying to rotate to said Actor without ever stopping. It didn't happen all the time, but it wasn't a rare occurrence either.


0.6

Please note that a lot of work has been put in the game since the last release one month earlier, so probably not all the changes are listed here, as there are too many of them. Also, most of the work done since the previous version was done on parts that are not in the demo (sittables, couple animations, pleasure traits, AI behaviors, additional scenes etc), so what you see here is not the entire list of changes, obviously, but it is the list of changes that should be of interest to you.

- New content: The demo is once again extended, this time it no longer ends in the Med Bay Maintenance Room, but on the Command Center bridge, after you've entered it for the second time. It pushes the story a little further while making sure that everything is ready to extend the demo once more, down to the end of Day One. This is, however, an important change because it hints at how the story will soon get an inflection from simple bondage to D/s, then mixing both on a regular basis. In this version, D/s is not really present, but you'll probably guess where it is going if you finish it. Don't worry, the extension to the end of Day One will arrive soon enough.

- Change: Virginia's back office is now furnished and looks like a cozy room in a house, rather than a cold metallic room aboard a spaceship. This is where she does her psy evaluations with the crew, and other psychological sessions, so it is important to make it feel like a relaxing break from the everyday work in space. Please note : If you load the premade Save 11 file ("Ignatus comes from Sandy"), there's a good chance Sandy's hand will be stuck inside the wall. To fix it, press "R" on your keyboard to repair the ragdoll, which also makes Sandy's hands and feet immaterial for a second. This should free her from the wall.

- Change: The Reserve in the Med Bay is now furnished with a lot of shelves and clutter. Remember that to unlock its door while inside, Sandy's hands must be near the button and you must press and hold X to bring up the action wheel. That's because she is in Ragdoll mode at the time (because zero-G). In Animated mode, you would only press X, you wouldn't have to hold it down.

- Change: Allow switching to Animated mode while laying on the belly, even if the hands are not touching the floor on both sides like before. This makes Sandy go to the Prone stance in Animated mode, however she won't be able to crouch or stand back up that way if her hands are tied behind her back. She will be able to crawl and rotate, slowly, unless her legs are taped. She can crawl even if her legs are chained (that's not in the demo yet, but it will be before the end of Day One). This allows crawling in light bondage while preventing cheating. However, when bound too tight like in Ignatus' tape, going Prone in Animated mode is pretty much a dead-end and you have to go back to Ragdoll mode since you won't be able to move or rotate in that stance while in that bondage. When able to go prone while in Ragdoll mode, the icon that appears is a guy doing push-ups.

- Change: Now, Ignatus dumps Sandy's clothes in a locker inside the Communications Center's Maintenance room, instead of inside the Internal Comms room like before (which was inaccessible due to both doors being locked at that point). That way, you can retrieve your stolen clothes easily after escaping from the tape.

- Change/fix: Redid all the lip sync files so now, when a character has a hesitation ("umm", "hmm", "uuh" and other non-word pauses), the following word no longer starts early and leads the character to make a silly face. Now, it's synchronized because the pauses are properly detected and transcribed. Additionally, when such a pause is played, the character no longer closes the mouth shut, they keep the lips slightly parted until the next viseme (the facial expression) comes. This makes them look much more natural while speaking.

- Fix: Redid the way Sandy detects where the camera is. Now she properly looks at the camera in Animated mode when it is in front of her, or at the camera's focus when it is behind her, even if the lateral camera offset is close to zero.

- Fix: When starting a conversation while unconscious and that conversation freezes the time, we entered a deadlock. Sandy would never wake up since the game was effectively paused, so the conversation would never proceed, and this required a reload. Now, when this happens, Sandy is automatically woken up to avoid staying stuck.

- Fix: When putting Sandy or a crate down on the floor, the robot would go too low and try to force it through the ground, often resulting in Sandy's physical skeleton to become unstable, or the crate to bounce up. What a brute! Now he is much more gentle.

- Fix: When struggling hogtied, the symbols would not always show on the screen. This issue was specific to the hogtie.

- Fix: Notification toasts would sometimes never clear. This was due to the toasts being pooled (i.e. hidden, recycled then reused rather than destroyed and recreated) and some Unity oddity getting in the way.

- Fix: When saving the game, don't restart the BGM anymore.

- Fix: Some fixes for the elevators. The character still bounces when crouching in an elevator moving down, though. That one is a real head-scratcher.

- Countless other fixes, too many to list here.


0.5.4.2 (hotfix)

- Fix: The notifications were over all the other UI components, making it impossible to read the tutorials when Sandy mentions them. Now, they are behind and the journal entry buttons are darker, less transparent. Same for the saved games.

- Fix: The notifications didn't disappear when loading a game while they were visible.

- Fix: We should not be able to slap Sandy's butt when she's still frozen on her bed.

 

0.5.4.1

- Add: Small screen notifications at the very beginning of the game, when the player is still at the learning phase. They remind how to move the camera and Sandy's body, grab stuff, use the arms etc. Like a condensed tutorial that is always on-screen. They disappear once Sandy grabs the handle near the window, or after 6000 seconds, whichever comes first. The only problem, for now, is that if the screen is wide enough, the notification toasts may stack up too high and the first one would end up going off-screen.

- Change: When in animated mode and Sandy's arms are restrained, i.e. when her Reach ability is lowered enough, she is not able to stand up from the "prone" stance anymore. This is because when in ragdoll mode, you can't switch back to animated when she's laying on her belly, unless both hands are touching the ground on both sides of her body, which is not the case when they're tied behind her back, obviously. So be careful, if Sandy is in cuffs or in tape and you make her go prone, you won't be able to make her stand up immediately anymore, you will have to go to ragdoll mode first, and do some gymnastics to make her stand up physically. I know it's more difficult that way, but it is also more consistent with the gameplay. I could have made the prone stance forbidden while in cuffs, but there are cases when prone is the only stance available (when switching to animated mode while laying under a table, for example), and it would have been confusing for the player as well.

- Change: When in animated mode and Sandy's legs are restrained, i.e. when her Walk ability is lowered enough, she won't be able to crawl anymore. Specifically, this happens only when her legs are taped together in the demo (in the future, there will be a loose chain hobbling her legs, that one does not restrain her Walk ability enough to apply here). The Walk ability threshold being lower than the Reach ability (see above), when Sandy is fully taped up, she can't crawl when prone, and she can't stand up either. The only thing she can do is switch to ragdoll mode, or struggle out of her arms tape.

- Fix: Since 0.5.4, Sandy's thighs had too much angular drag, making them feel like they were moving through concrete, and more importantly, making them transfer their angular energy to the hips and to the torso too easily. They're back to normal now, only the shins were supposed to have that angular drag anyway.

- Fix: Several spots where some of the world was not rendered when the camera was moved there. This is due to the sector optimization (and is surely bound to happen again since it's a manual process, but at least one I have full control upon, unlike Unity's standard Umbra optimization where we only have like 3 sliders), but has no consequences on the gameplay, only on the rendering.

- Fix: The internal comm door is now locked after Sandy gets captured by Ignatus so you can't go back there after going through the Recreation deck (when you are supposed to go to the Med Bay, but the elevator gives you the opportunity to go anywhere at that point in the story). There was a risk of being spotted by Ignatus and captured again, but since there's no capture spot defined on that floor yet, he would have kept spotting you, capturing you, releasing you and looping all over again forever. Not fun.

- Fix: Sandy stops saying "press LB+Y to propel", since it is now just "Y" (although LB+Y still works too).

- Fix (I hope): Apparently, there were cases when we could see the last open container, for example Sandy's locker, just by opening the personal inventory with the Select button, regardless of the distance. I could never reproduce the bug because the container reference is cleared when we close the inventory, but just in case, it is now cleared when opening the inventory as well. No more storing panties into a container 20 m away and through several feet of steel walls.

- Fix: Now, the mouse cursor no longer shows up when opening the inventory, the dialogue or the elevator UI (but it still does when in the main menu, for convenience). This is temporary, of course, and will change again when keyboard+mouse support will be added, I just can't predict when. This should stop confusing the player when two buttons are selected at the same time, especially when trying to use the elevator.

- Fix: A couple voice files missing from the Voice folder.

 

0.5.4

- Add: Big optimizations to the rendering by cutting the different areas into "sectors", like some kind of coarse but fast occlusion. Each room is a different sector now. In practice, if you don't see a room (either because you're not looking at it, or it's too far, or its door is opaque and closed), that room is not rendered. And if an object is not inside the camera's frustum, it is not rendered either. It doesn't look like much, but this is a big change. The FPS gain is significant, it almost doubled on my machine.

- Add: You can now thrust along the Forward axis (where the hips are facing), the Up axis (along a line going from the hips to the head), the arms (push or pull) and the legs (push or pull). Check the "New to this?" tutorial entry for more details.

- Add: Press B to switch Up/Forward, or Arms push/pull, or Legs push/pull. The thrust factor is doubled for Up, Legs Push and Legs Pull (but not the focus cost.). For now, the screen only shows a temporary notification when you switch, because I don't really want to keep an icon always visible in a screen that is normally UI-less.

- Change: Thrusting and switching the thrust direction can only be done in zero-G or in micro-gravity, not if the gravity is enough for Sandy to stand up (0.1 G and up).

- Change: Propel and Thrust can now be done just by pressing Y, not necessarily with LB at the same time.

- Change: Pressing LS eliminates the drift, you no longer need to press LB at the same time (but it works too). 

- Change: When thrusting with Y, Sandy also counters the drift automatically, making her easier to control with this "thrust" feature.

- Change: The icons for grabbing and standing up now appear on-screen much faster, to allow for better reaction times.

- Change: The robot is now able to follow Sandy while using his vacuum gun.

- Change: Sandy's shins rotate more slowly and are more stable, hopefully they will be less annoying when the player moves her thighs, and it should be easier to struggle out from the legs tape.

- Change: By default (if no config file is found), the BGM volume is 25% and the Ambient volume is 50%, to avoid annoying new players.

- Improve (but not fixed yet): Better loading for the pivoting doors that can be engaged, such as hatches (not the metal doors in the maintenance corridors). Engage means "the door becomes kinematic, it won't move, when closed".

- Fix: Better (seamless) teleport when in ragdoll mode, and when in animated mode while carrying a character.

- Fix: A maintenance shaft's blocker was active when loading a game, which broke every save where Sandy was tucked inside a shaft. The Save 02 ("in shaft leading to DAL substation") file was probably impacted. The blocker is what prevents Sandy from going through a shaft when bound and in gravity.

- Fix: The robot did not correctly load his AI variables (e.g. the number of times he captured Sandy), so he forgot some data when loading a game.

- Fix: Finally the robot says "Join the Army they said" the way I wanted! Try to find the reference. Hehe.

 

0.5.3.3

- Add: Thrusting can now push Sandy either in the direction her hips are facing (default, like in 0.5.3), or in a direction going from her hips to her head (in other words, thrusting up), or in the direction the camera is looking. Up and Camera are more useful than Forward, in my opinion, because they allow you to push Sandy inside tight spaces, such as air ducts. Camera is clearly the easiest setting, but it requires you to move your camera all the time, which you may or may not like. I think the best one is "Up", because it is like making Sandy jump, or fly like Supergirl. It is also very reactive since all you have to do is pitch her torso forward or back, then press LB+Y to quickly change direction.

- Add: By pressing LB+LS, which makes Sandy tense while using the arms, if Sandy is not grabbing anything and her Thrust Factor is not zero, she progressively eliminates the drift from her trajectory, making her velocity vector match her thrust direction (forward, up or camera) over time. The acceleration is equal to the thrust factor. It won't multiply the thrust itself by two any longer, though, unlike in 0.5.3. This is also useful if you want to brake suddenly, just orient the girl (or your camera, depending on the option you chose) perpendicular to her trajectory and press LB+LS, this will quickly slow her down to a halt. If you want technical details, the drift is simply the projection of her trajectory onto a plane perpendicular to her thrust direction (Forward, Up or Camera), and Sandy eliminates it by adding a force in the opposite direction. In practice, this makes the blue target icon slide towards the desired thrust direction over time.


0.5.3.2

- Change: Now, Ignatus no longer applies only one restraint at a time, he applies as many restraints he needs, according to the number of times he captured Sandy. Just the arms the first time, then the legs, then he adds a gag, and finally he binds her in a hogtie if she keeps escaping. This also increases the security (or the tightness if you prefer) of the restraints he applies, or that are already on the girl. Devious!

- Known issue: Because of this change, Ignatus' comment about which restraint he will apply is, for now, always about the arms tape. Which may lead to saying something like "you have the right to remain silent, unless you want a gag, too", while applying a gag as well as other restraints.

- Fix to the fix: The fix in 0.5.3.1 about the mouse wheel while in the main menu broke stretching and folding the legs in ragdoll mode (in fact, it broke using the triggers most of the time). This fix to the fix still does not entirely satisfy me, so I might apply a fix to the fix to the fix later on.

 

0.5.3.1

- Fix: Using the mouse wheel in the main menu (for example when scrolling through the list of save games) would modify the camera zoom in-world.

- Fix: The robot would always say "If I catch you again, I'll bind you tighter" while depositing Sandy in the Observation Room in the Med Bay. This was due to a faulty parsing while my system was set to a non-US decimal format. That's a classic.

- Fix: In Animated mode, Sandy's handcuffs made her bend forward too much. This bug was introduced in 0.5.3, due to the fact that I changed the way restraints calculate the amount of torso bending (when Sandy's hands are bound behind her back, she bends her torso forward to compensate, but here she was bending it twice as much), in order to fully support stacked restraints. Full disclosure, later in the game -- but not in the demo -- Sandy is captured by a robot who restrains her arms while she is already wearing shackles.


0.5.3

- Add: Thrust. If you set the Thrust Factor to something greater than zero in the Gameplay settings, pressing LB+Y will thrust Sandy in the direction her hips are facing. Unlike "nudge", this not an impulse but an acceleration. Doing this costs focus, and stamina if you tense at the same time, which doubles the thrust force. You can't thrust if Sandy's focus is less than 25%. This is a cheat like Gecko Girl, but this should help new players find their bearings, while teaching them how to master the trajectory by looking at how the predictors react while thrusting.

Note: For now, the game does not have difficulty levels, but I would like to add some. A particular difficulty level could, for example, remove some handles and some cheats (like "Thrust" here). Until difficulty levels are implemented, I'm leaving the cheats available in the settings so people know what to expect. Also, at some point, later in the game, there will probably be a "space walk" sequence or two, with the girl having actual thrusters on her spacesuit to fly around the ship. I don't know yet how the commands will be laid out, but they will supersede this "thrust" command. So don't expect it to always remain the same.

- Add: A "New to this?" tutorial entry that sums up all the cheats and useful tricks, put practically at the top of the list so new players know what to do if they feel stuck.

- Change: Nudge, which was done with the "T" key on the keyboard before, is now done with LB+Y. This action pushes Sandy (with a little slap on the butt) towards the direction her hips are facing, but it works only if she's immobile or very, very slow. Very useful when you load a game and Sandy is stuck floating in the middle of a room without anything in range to push or grab.

- Change: Slow motion is now available at focus 25% to 100% instead of 50% to 100% only.

- Change: Sandy's door no longer auto-closes. New players get desperate when they finally reach the door and manage to push the button, then see the door close again because they weren't fast enough to cross it.

- Fix: NPCs sometimes had trouble teleporting when stuck while trying to go somewhere.

- Fix: The weird crackling sounds when loading a game are now removed. They were due to all the robots activating their vacuum guns at the same time. Yes, I know that the demo only features Ignatus, but he has a lot of brothers in the complete game and they all have their own vacuum gun.

- Fix: The big floodlights in the Recreation Deck now rotate properly and should no longer remain stuck.

- A lot of changes and fixes are also included but they are not relevant to the demo, as I spent most of my time working on the later parts and on the engine to make it support them.

- And as usual, I keep redoing voice lines that don't sound too good (in my opinion), but there are many of them so no point detailing them all here. But at least, DAL's "I'm... afraid..." now sounds a bit more like HAL 9000.


0.5.2

- Change: Now, the camera offset behaves exactly the same in Ragdoll mode as it does in Animated mode, i.e. hold LB pressed and use the directional pad (the "cross") to offset the camera up, down, left and right. Before this change, the camera would slide along the body, but it was confusing and not very useful. Note: Silly me, I forgot to update the journals to reflect this change. It will be done for the next version.

- Change: Gave the humanoid characters a little more inertia in animated mode (0.4s to reach full speed instead of the previous 0.25s, if you want to know everything).

- Fix: Gecko mode would make Sandy able to grab thin air on the Habitations floor (not on the other floors, apparently). This was due to a certain volume set to the wrong layer.

- Fix: We could get out of the bridge before the gravity was restored, then take an elevator to Habitations, which could break the flow of the game as the next trigger would never be activated. Fixed by locking the door until the gravity is restored.

- Fix: The shaft in Habitations (the first one we see when we get out of Sandy's room) was not notified when Sandy was bound and the gravity changed, so its blocker wasn't activated, resulting in Sandy still being able to jump through it. This shaft is special, it is (for now) the only one not present in one of the "always-loaded" scenes like the others, it is in the Habitations floor scene.

- Fix: The player could go down through the Communications Center shaft while still in bondage, while the scene with the crew and the mysterious voice was playing. Fixed now by locking the upper hatch until the gravity is off (which happens only after Sandy frees herself from her restraints).

- Fix: The chairs in the mass room on the Habitations floor were static, but not their colliders. As a result, you could push them but you couldn't see it. I'm sure there are other pieces of furniture in that case.

- Fix: Concave mesh colliders such as the soccer goals on the Recreation Deck prevented from showing the grab target for the hands in Ragdoll mode, so we couldn't see if we could grab the net or not (we could, the nets are always grabbable).

- Fix: Since struggling started demanding effort (hence stamina cost and body temperature gain, which eventually results in sweat), simply moving in Ragdoll mode in gravity was very taxing, making Sandy's skin red very quickly and making her sweat for no real reason. Now it is much more reasonable.

 

0.5.1

- Add: Sandy now mentions the "Propel" feature when she explains the basics, right after waking up in her room after starting a new game.

- Change: The strength factor in zero-G is now 50% by default (i.e. if it was never changed by the player) instead of 100%. This will make Sandy react more slowly but should be easier for new players. If you already modified one of the Controls settings, this won't have any effect on your game.

- Change: The strength factor for the arms follows the same principle, 50% by default for new players.

- Change: Now, activating the arms in ragdoll mode should no longer pull Sandy too hard to whatever she is grabbing. She will still go into her "boxer stance", but much more slowly than before, unless you move her arms, even a little. For example by pushing the left stick up slightly.

- Change: When a word is unknown among whatever a character is saying, their lips (or LED or whatever) no longer remain still, the character will try to pronounce a word that looks "close" to it. This goes for numbers, too. For example, since not all the numbers are defined in the game's CMU dictionary, Sandy used to simply keep her mouth shut while pronouncing the last part of "Sunday, September 29th, 2019", now she moves her lips on "29th" and on "2019".

- Fix: The colliders for the shower/toilet units in the Observation and Clean rooms are concave mesh, but were made with missing faces (not my doing, they were sold like this). As a result, they were likely to "suck" Sandy in or to get her stuck. The soccer goals on the Recreation Deck had the same issue, hopefully it is resolved as well. Some assets are sold with really bad colliders, let me tell you that !

- Fix: Those shower/toilet units had their own "open/close" scripts with the "press 'E' to activate" UI prompt. This is deactivated for now, until I add the proper "open" and "close" operations (as my engine handles them), like in all the other doors, in the near future.

 

0.5

- Add: Unlike v0.4.1 and before, v0.5 onward ends at the end of the Med Bay, after you successfully evade Ignatus and get out through the maintenance shaft. This is actually the state I wanted to release the demo in, initially, but I wanted to demonstrate the core mechanics first, before showing the robot's AI at work. It wasn't ready back then anyway. Now Ignatus patrols, searches rooms, puts away crates that happen to not be where they are supposed to be (distracting him in the process, hint hint), captures Sandy, strips her, binds her increasingly tighter, and dumps her in the observation room where he expects her to stay, and to remain bound. If he spots her free anywhere, he will try to capture her again.

- Add: Ways to lower the integrity of some restraints (tape only for now) by rubbing them against something sharp. In the current state of the game, the only sharp objects are the handles of the fire extinguishers. Try to make the weak spots of the restraints touch the handle repeatedly, and you'll see the blue bar of the restraint decrease until it reaches 0, at which point it is destroyed. To see the two bars of a restraint (green for security, blue for integrity), you have to start struggling in it by selecting the "start struggling" operation with the action wheel. It's easier if you make the restraint the "quick item" first, by pressing RS after selecting it, in the inventory. Then, just press and hold X (with LB pressed too if in ragdoll mode) to bring up its action wheel. Or press and hold A (once again with LB) to execute its default action, which is most likely "start struggling".

- Add: When carried and you feel the robot is not carrying Sandy the proper way (this is a physics game, so it happens pretty often), press F to force the robot to extend his arms in a T-pose for a second, to leave Sandy time to get into position. This does not always fixes it, but it helps. "F" stands for "Fix Carry", just like "R" stands for "Repair Ragdoll".

- Add: Deadzone settings, one per stick. They are 0% by default. You'll find them in the Controls settings.

- Change: Sandy's tape is harder to struggle out from the lower its security gets (the green bar), and it won't disclose the middle steps in its sequence anymore. This is because the more you struggle, the more the tape scrunches and folds, so the trickier it gets to get out from. Fortunately for you, failing a sequence won't tighten it again anymore !

- Change: Struggling from the ballgag now requires to execute arms movements, exactly like when struggling from arms restraints. This will change in the future but for now I only have arms and legs movements anyway. The same goes for the hogtie. I know it's not really a "change" for you since there was no ballgag nor hogtie prior to this version (since they are introduced only in the med bay scene which was not part of the demo before), but I thought it was worth mentioning.

- Change: The hatches can now be opened by putting the hands close enough to their lateral handles (actually, between a handle and the hatch itself), no longer by looking at the hinge.

- Temporary change: Sandy interrupts conversations again when she hits her head... I'm still trying to figure out a way to make her interrupt only non-important conversations that way.

- Fix: When executing an operation during a conversation, a character would stop looking at the other actor, and look straight ahead instead.

- Fix: When unconscious, don't show the predictors.

- Known issue: When loading a game, two unpleasant sounds occur, like crackling or something like that. I don't know what causes this but this is due to a recent change. I'll keep investigating.

- Known issue: When Ignatus spots Sandy while she's trying to hide in a cage (but not completely hidden or he wouldn't spot her in the first place), he will try to reach her... by going upstairs. I know why he does that, but I don't know yet how to prevent him. This is due to having a hard surface under Sandy, very close to the ceiling, making the robot think that the closest point on the navmesh is the floor upstairs. It also happens sometimes with crates that are right under the ceiling, stuck to a wall with a protrusion underneath.

- Known issue: When carrying something, Ignatus' footsteps seem doubled. No clue what causes it yet.

 

0.4.1

- Add: An option to activate/deactivate vertical synchronization (v-sync) in the Graphics options. 0 means off, which may create tearing in the rendering, 1 to 4 is on.

- Add: Two sliders to specify a factor (between 0.1 and 1, meaning 10% to 100%) for Sandy's strength in ragdoll mode. One factor is for 0G, the other for 1G. Any other gravity value interpolates between the two. Default is both 1. If you feel Sandy is too fast when you move the sticks, you may want to lower the 0G factor first, try something between 0.4 and 0.7, maybe. Attention, this is different from the power curves. Those factors really limit Sandy's strength in all her movements.

- Add: An option for the crosshair to be always visible, always hidden, or visible only while pressing RB.

- Change: In animated mode, when restrained and in gravity, Sandy will no longer be willing to jump up or down through the shafts. There's an invisible wall active in that specific case. Not a really good solution, I'll add more to this later, but for now it is necessary to simply prevent Sandy from going down a shaft while in handcuffs, and not be able to call an elevator to go back up. Normally, this case does not happen in the demo, but it happens later in the game.

- Change: Now the names of the voices in the Voice folder match the names of the characters, no longer the names of the voice "actors" (for example, "Panam" becomes "Sandy", "Vfemale" becomes "Player" etc). That doesn't change anything for the player but it makes things much clearer now.

- Change: Redone a few voice lines to make them sound more natural. And Virginia has changed voice, again. This time she should sound just fine. After 4 tries.

- Change: No longer include the full path name of a save game file when we load a game, for it contains the user's name on their machine. Just show the save game file name only to avoid privacy issues. That information appeared only in the log file.

- Change: When Sandy is unconscious, any conversation she is in will keep going, it will no longer be interrupted for now because some conversations are important and trigger events in the world.

- Change: No longer interrupt a conversation when hitting something or when trying to open a locked door, those conversations are unimportant anyway.

- Change: The delay between two dialogue lines now depends on the duration of the first, to make the pacing sound more natural.

- Change: The invisible wall spawned during the conversation between Sandy and Ignatus in the maintenance room, after dumping her there, now has less range to let the player move around more.

- Fix: It was possible to remove Sandy's tape in the last scene just by using the appropriate action in the action wheel. This was due to a recent change in the way restraints are handled. Now, we can no longer simply "unwear" the tape, the player has to choose "loosen", which loosens the tape to the max, which makes it self-destruct (because it is tape, once removed, it's useless, but not all restraints are like that). Other restraints such as handcuffs can also be loosened, but their minimum security (the green bar when you struggle) can never go down to zero, meaning you can't get out that way, they need a key. But loosening a restraint means increasing some abilities such as "reach". These mechanics are not really important for the demo anyway.

- Fix: It was possible to brick the game by struggling out of the tape before the scene with the crew ended. Doing so would roll back the quest stage to an earlier number and prevent the player from going forward. The fix, for now, is to prevent from struggling from anything until the crew has stopped talking. Not very elegant, but it works well. This is the same idea as the one that prevents the player from dropping the key to Sandy's handcuffs before freeing her. I had to do that because the key is quite small and difficult to see, and the player could lose it easily. Worse, being in cuffs, Sandy would have trouble picking it up from the ground. It's possible, but a bit acrobatic.

- Fix: When Sandy is not free to move (blocked by a conversation or doing an action that requires her to remain in place), no longer allow her to change control mode (ragdoll to animated and back) or stance (stand, crouch, prone).



0.4.0.2 (hotfix)

- Change: Sandy's physical feet are now a bit longer, a bit wider, and moved to the front so hopefully she will stop sticking her heels in every handle she finds.

- Fix: The game failed to detect when Sandy removed her leg tape restraint in the Communications Center, so it failed to advance on the dialogue, breaking the game. This bug was introduced in v0.4.

 

0.4.0.1 (hotfix)

- Fix: When Sandy got rid of her handcuffs and got dressed, the dialogue with DAL would immediately start without waiting for her to go back to her room. And after the dialogue ended, undressing and dressing again would restart the dialogue all over again (and it's a long one).

- Known issue: For now, the dialogue starts when Sandy is decent and free, and has entered her room once after getting free. If she walks out of her room to dress in the corridor, the dialogue will start. To avoid this, don't walk out of Sandy's room after dressing her.


0.4

- Add: Two new videos in the "How to keep things simple" journal entry, to demonstrate making Sandy's body stiff and her legs aligned by staying in arms mode, and how to propel her precisely with LB+Y, by aiming at a handle with the crosshair.

- Change: Replace all the xVASynth voices in the demo with new, more natural ones. It is likely that I've forgotten some, it will be fixed in the long run. I hope you'll enjoy Sandy's new voice and her cute British accent !

- Change: Replace all the xVASynth lip sync files with a new format created by a Speech-To-Text tool. Please note that the lips won't move for words that are not recognized, but that's something that will be fixed in the long run too. Full disclosure, I use a copy of the Carnegie Mellon University's Phoneme Dictionary (it's a big text file with over 134000 words in it, as well as their translations into phonemes), that I add my own words to ("Diomeda", "Curnow"...). It just so happens that since it is an American dictionary, it contains only American-spelled words. However, the Speech-To-Text tool transcribes in British English. For example, it spells "motorised" with an "S" but that word was not initially in the CMU, it was spelled "motorized". This resulted in an unrecognized word, hence the lips staying closed. There are a few cases like that, I'm trying to spot them all.

- Change: Do not hide the interaction prompt while in a conversation anymore, since the button to expedite (skip) a dialogue line no longer conflicts with the button to execute an interaction.

- Change: Don't prevent expediting dialogue lines when grabbing something anymore, for the same reason as above.

- Change: When a character is stuck while trying to walk somewhere, teleport them after a few seconds, like in Skyrim, don't let them walk in place forever.

- Change: Improved the lighting in the scenes, removed most of the dynamic lights and replaced them with a few ambient lights and a few ambient volumes. This makes the scenes look more realistic with a more diffuse lighting and less light bleeding through walls, and it also speeds up the rendering because before this change, every single piece of wall had its own light (without real-time shadows, but still).

- Change: Decouple the audio clip and its lip sync file, so if a clip is missing, a character can still move their lips, even if no sound is heard.

- Change: The "arms strength factor" slider in the options can now go up to 2. Its default is still 1, and it should remain 1, but I really can't make up my mind about this. Making Sandy's arms stronger does have its advantages, but makes the game more difficult. Making them weaker makes her more precise but also slower. It's your choice. Personally, I like 0.6. It's gentle but strong enough, and won't shake Sandy all over the place when activating arms mode.

- Change: The crosshair is now bigger and easier to read, with a shadow in case it is against a bright backdrop.

- Change: Decreased the Focus consumption when slowing the time down, since it now stops when it reaches 50% of the max value.

- Change: Slowed down the crouch/stand, crouch/prone and prone/stand transition animations to make Sandy look more human when she does those moves.

- Change: Made Sandy a little more resilient to collisions. She should no longer hit her head all the time when rolling over the floor now, and it should be safer for her to fly in zero-G.

- Fix: Several issues with jumping, falling and landing. Hopefully the character should no longer remain stuck in the "falling" animation when touching the ground too gently. Also, she can now show that she's landing hard if she's falling from too high.

- Fix: Chairs and monitors in DAL's core should not be static.

- Fix: Decals (HDRP projectors to be exact) were not present in the build due to a bug in Unity. In the demo, the only difference would be Ignatus' standby button symbol being visible now. There are a couple more decals later in the game but the demo doesn't include them.

- Fix: The last viseme in a dialogue line was never played (e.g. when Sandy ended her line with "away", you would see her lips go to the "W" shape, then go back to the neutral shape without going to the "EH" shape first). It was not an obvious one, as it showed only with certain dialogue lines.

- Fix: The girl would not properly walk "up" stairs when the gravity is inverted. I'm not sure there is any example of this in the demo, but there are such stairs in the Med Bay later. They look like the one in DAL's core, and you can actually walk under them when the gravity is upside down.


0.3.14.3

- Add: A new switch in the Sounds options to keep Sandy from complaining when she hits something. She just grunts but she won't say anything if the switch is off. It does interrupt conversations, though, if I find a way to prevent that in the future, I will.

- Add: A slider to factor the strength of Sandy's arms, in case you feel they are too fast and strong. You'll find it in the Controls options.

- Improved: Gave a bit more volume to the humans' voices, because robots are louder and the background music did not duck Sandy's voice enough, making her difficult to hear with a loud BGM.

- Improved: Sandy's back detector has a little more range, making it easier to stand up while sitting with the back against a wall.

- Improved: The navigation in the Options menu should be better and more intuitive now. Unity's default navigation system is not up to the task, it seems.

- Improved: In the options menu, pressing the Y button (or triangle on PS) now applies the settings of the page, while pressing X (or square on PS) now reverts them. Also, added icons on those buttons as a reminder. Attention, to be consistent with the layout on the controller and with the modal window (the one that asks you to confirm if you want to quit), the Apply and Revert buttons were swapped on the screen, Revert is now on the left and Apply on the right.

- Improved: Removed most of the gyro alarm lights in the Habitations corridor and all those in the maintenance corridor, added red emergency lights in the maintenance corridor, increased the range of the ones in the Habitations corridor, and added red lights in DAL's core substation. That way, you won't have to navigate in the dark anymore. It is true that forcing you to navigate in zero-G without much practice on the complex controls, with a loud alarm blaring in your ears while in complete darkness in an environment you're not familiar with, could have been seen as borderline sadistic. I'm not a sadist. Promised.

- Improved: Halved the volume of the alarm sound, as it could become annoying after a while.

- Improved: Now that "propel" has been added, it adds an opposite force on whatever we propel from, provided it is physical (like a crate or a barrel) rather than static (like a wall). Please note that, for the time being, the propel force is the same regardless of the mass of what you propel Sandy from. In the future, I'd like to replace this simple force with a spring, so the mass of both bodies would be taken into account. But that would make the propel feature less efficient so I'm not doing this yet.

- Change: The strength of Sandy's arms has been halved, to return to what it was in 0.3.14.1 and below. It was doubled in the last version but that was definitely too hard, making it difficult to push Sandy from a wall with her hands.

- Change: To expedite a dialogue line (or "skip" as it is also called), the command is now RB+A, instead of just the A button, to avoid making mistakes when wanting to grab or operate something while a conversation is underway.

- Change: Now, the thighs won't push the body unless you push or pull the left stick more than halfway. It used to be 95% of the way, but halfway seems to feel better. That's not to say it won't change again, or that I won't add a slider in the options if I can't make up my mind on this matter.

- Fix: Workers' feet bent in bizarre ways when walking while carrying Sandy.

- Fix: The "Voices volume" slider in the options did nothing. In particular, it did not control the volume of the voices. Which was a shame, considering it is supposed to be its purpose.

- Fix: We couldn't run in diagonal with a non-linear animated input power curve.

- Fix: Sandy's "arch back" strength did not take the strength factor (that depends on the gravity) into account, so it made her flip back too hard. I wish it was stronger, but that would make some unrealistic movements possible, such as flipping back from laying on the belly without any support, in full gravity.

 

0.3.14.2

- Add: Propel Sandy by pressing LB+Y while grabbing something in Ragdoll Mode. This will push her hips towards whatever your camera is focused on (there won't be a parallax error as it checks the point it is looking at, not its direction), with a moderate force so pushing manually is still stronger, but propelling is very precise. It also makes her release whatever she's grabbing at the same time. The picture of the "Ragdoll with Left Bumper" controls has been updated to reflect this, as well as a new journal entry in the tutorials named "How to keep it simple" explaining it.

- Add: Option to change the grab radius (default is 0.2 m, which is also the minimum, while the maximum is 0.5 m) to let Sandy grab something that is farther from her hand. Careful, the bigger the range, the less precise the grab because the hand detectors might detect something else than what you want !

- Add: A few lights in the Habitations maintenance corridor, as well as in DAL's substation. Those rooms were too dark. It was the goal at first, knowing that Sandy's body has low lights around her to illuminate what's immediately around her, but players found it too hard and frustrating to fly without seeing anything. Besides, in a much later segment of the game (not included in the demo), the power goes out again, and this time we see a lot better because there are red lights everywhere, so there's no reason to keep the first areas so dark anymore.

- Improved: When in arms mode, Sandy stiffens even more, to the point that you can literally play with the Left Bumper pressed at all times if you don't want to be bothered with moving her legs at all. She will remain stiff until you release the bumper, and you can just rotate her with both sticks, as well as move her arms up and down. Much easier that way. The "How to keep it simple" journal entry explains that as well (in the tutorials).

- Improved: Sandy's back is now much stronger than before (almost twice as strong). But still not strong enough to lift herself from the ground, while facing down, without her hands and under full gravity ! But still strong enough to be able to pitch back when in low or zero gravity, making that move finally useful.

- Improved: Sandy's arms are now twice as strong as before. Careful, she can push herself from walls much more firmly now, going faster than before.

 

0.3.14.1

- Fix: Horizontal selectors in the UI did not use the UI audio channel so they stayed as loud as they could regardless of the UI volume setting.

- Fix: Could interrupt the conversation in the Communications Center by touching the button of a door that is supposed to remain locked anyway.

- Fix: In the Communications Center, one of the floors did not have a collider and Sandy could fall through it, all the way down to DAL's core 120 m below (that's a long way down).

- Fix: When bound in tape, Sandy gave the player a choice but nothing came out afterwards (I forgot to re-parse the dialogue there, my bad).

- Known issue: In the Communications Center, after the call on the speaker and before the robot meets Sandy, it is possible to move around, and possibly to break the flow by going too far, for example by going to places the robot can't reach.


0.3.14

Initial release