WHAT WE FIXED:
GAMEPLAY
H4CK 4LL 7H3 7H1N95
Ever messed around in Piazza and had a robot run off with your precious data? Well no more! You can now reset MINOS circuits in Piazza. No more lurking at the vending machine to get your data back!
WAIT HOW DO YOU KNOW ALL THAT?
Foster knew too much. He now knows less.
HINT LOGIC IN APARTMENTS
The engine now has a better understanding of what the player is thinking
HUNTING FOR CLUES IN APARTMENTS
..or as its referred to internally: "Loz's Crazy Palace of Code"
We realized the puzzle was a little strict, and the game now lets you discover things in more than just one order.
WHAT COSTUME SHALL THE POOR BOY WEAR
At some point during the game, Foster would just wear something completely different for no apparent reason. Unless of course someone had put a space at the end of the costume name the engine tried to reference. That would then lead to weird referencing issues. That would have been embarrassing :)
TECHNICAL
THE MINOS PUZZLE THAT LEFT YOU BAMBOOZLED & STUCK
Do not untag this unless you know exactly what bug we're talking about here:
Why did this happen:
[spoiler]The infamous Puzzle in MINOS where you divide by 0? YEAH TURNS OUT YOU CAN'T BE USING THE ACTUAL NUMBER 0 CAUSE IT MESSES WITH TRYING TO LOAD GAMESAVES! [/spoiler]
[spoiler]It didn't save the number 0 because it assumed 0 changes had been made to the Plinth. "The number hasn't changed" That meant whenever you loaded the game, you loaded the starting state instead of what it should have been.[/spoiler] [spoiler]It's a little more complicated than that but if you actually want to know more, we can host an entire stream on this, that's how elaborate it was.. [/spoiler] TL;DR: GG. We played ourselves.
How we fixed it:
Huge shoutout to your fellow gamers over on Steam who shared their gamesaves with us, and walked us through what went wrong. Due to it being a loading issue that got you stuck we had to save the game in a very specific condition, in order to experience the loop people were stuck in.
[spoiler]We ended up deciding to set the base stat to 99[/spoiler]
Unfortunately we could not change this in existing gamesaves without risking people without this issue getting strange results, so we have to ask you to reload from your last gamesave.
CAMERA IMPROVEMENTS
When standing too close to walls or objects with your back, the camera could sometimes go inside a character model, or even yeet itself into the next room over, which in turn dulled the audio like you were eavesdropping on your own game! - Well no more!!!
Cameras now understand that they are better than walls, and can, in fact, overrule them.
RUNNING UP THAT RECYCLING CENTRE
When walking to a very specific spot in Recycling Centre, you could wiggle into a spot that would make you fall through the world, resulting in many being able to walk around the city floor! One of the cooler bugs.
Why did this happen:
Just collision bounds issues, you wouldn’t understand..
What you visually see in games doesn’t necessarily exist as a solid object. The job of telling you which objects are solid, and what gives you resistance, and by how much, is down to a completely separate system.
A lot of these resistance meshes keep a simple geometry (think hitbox). But yeah. In a shocking plot twist nothing is real in Unreal Engine. Does just what it says on the tin.
Anyway, a small gap did not have enough resistance and it meant you could shimmy down where you should absolutely not!!!
LITTERING
Really, Foster?
Why did this happen:
It’s not Foster’s fault really. While bin animations were standardised, the height of bins across Union City was not.
Additionally:
When you interact with an object that has a specific animation attached to it, for example the Spankles vending machine, what is really happening is that you the Player, are travelling on a NavMesh:
Imagine the map being covered in green blankets that AI can travel on and when you, the Player approach a location to interact with an object, it has an animation attached to it (like the Spankles vending machine). Now Imagine that NavMesh is not lining up correctly - that would lead to all kinds of nonsense.
In conclusion:
Foster is blaming his terrible aim on incorrect bin heights, and standing too far off to be able to make the shot.. okay.
NPCS
EMBER
This was a very rare occurrence, but for some players Ember would be impossible to interact with.
Why did this happen:
This was due to the indicator; the little white circle.
Unreal Engine knows when you, the Player, are looking at for example Ember, and will make the indicator appear, thanks to a timer.
Now imagine someone was constantly resetting that timer because they told Unreal Engine that something moved when it was not looking.
Basically Ember was convinced she had to approach a particular spot that didn’t necessarily exist. She couldn’t cope with that failure and kept resetting.
Never being in one place long enough for you to look at her, and for the indicator to appear, Unreal Engine translated this to: no actions available..
It's like when you ask your dad for something he knows mum said no to. Well, we overruled them both.
YOU CAN’T GET THE STAFF THESE DAYS
The Apartment Cleaning robot was having trouble with a couple of things, including with how much water was currently in it.
This alone is forgivable, but it made life really hard for poor [spoiler]Raquel.[/spoiler]
THE FOSTER LEAN™️
A little similar to the NavMesh issue, when Foster would approach an object, like a door, we would tell your character model to get "in position to THIS LOCATION " to start this animation.
We set the approach location where Z is 0, but because it was relative to another in-engine approach arrow that was slightly moved, and set Z to (for example) -30, basically instructing Foster to limbo through the door.
Foster is an obedient boy.
2 SLOW 4YR GUNS
Foster is not a vehicle and is not allowed to enter Union City without one.
When stepping into the entrance area 2 very helpful lasers will inform him to move his meaty butt out of the entrance zone in 10 seconds or less; or else.
While 4YR is a valued employee bot, and is welcome to shuttle through this zone.
BUT: If Foster interacts with 4YR while lasers are pointing at him counting down from 10, the countdown doesn’t just stop until you two are done talking!
In fact Foster would be mercilessly taken out with a dramatic death scene.
Except, after dying… he’d just get back to chatting up 4YR?!
We put an end to this nonsense!
4YRIDE INTO THE SUN
In a horrific oversight, some of you figured out how to ride 4YR like a steed.
Why did this happen:
“Step up” is enabled by default and we forgot to switch it off on the [spoiler] battery [/spoiler]
So while you can not “step up” on 4YR in general, you could totally do it while [spoiler] the battery was slotted in his back. [/spoiler]
Lead to some truly amazing gifs though..
LET GRETA REST
You used to be able to catch another conversation with Greta the Hologram, just when she was about to fade out, making her invisible!
We made sure she can shut herself off in peace now.
PANIC! AT THE MUSEUM
In the Museum the father & daughter duo were completely different AI to the generic museum NPCs, and therefore had the intelligence to avoid running into eachother, but did not have the faintest clue to walk AROUND these other, alien NPCs.
No more traffic jams!
DIVA ALONSO
Basically there is a scene where Alonso should be leaving [spoiler] the Museum [/spoiler] dramatically!
But if you, the Player, left before him, Alonso would just stay there and pout, because you ruined his exit.
It took a while but he should no longer throw a tantrum over the theft of his dramatic exit.
MUSEUM INFO BOT
The overbearing little guy used to be able to corner Foster, and make it unable for him to leave. We sorted that out.
ART
ORANA’S SKIRT: Much more comfortable now that it doesn’t clip into her.
ADS: The Advertisements around you now tie in with world building better.
ANIMATION
CHAIRS & DESKS: We had to re-explain to some NPCs how sitting works.
JIMMY: Used to be shy about talking in cutscenes. Gave him a little confidence boost.
CUTSCENES: Scrubbed, and now very polished!
FOSTER’S DEATH STARE:
This one was interesting: It only happened after Foster changed into another outfit.
No head or face animation would work anymore, except for lip sync which runs on a completely different system.
We figured out that this was due to the blueprint of the animation being referenced by the outfit. So if Foster’s old outfit was gone this code wouldn’t replace the reference it was looking for until you either entered a transition scene, or reloaded manually.
Foster now uses b e s p o k e live references
UI
HACKING ON GAMEPAD NOW MUCH SMOOTHER: weeeeeeeee
QDOS LOGIC: clearer flow of how Foster learns information
BONSAI: Displays as it should
AUDIO
NO MORE SELF INTERRUPTING:
Sometimes a computer would take longer to load in and start dialogue lines, and that would mess with the timings as those delays were not accounted for, resulting in NPCs interrupting themselves when speaking. We now make sure that the audio finishes before the next one can queue.
PERFORMANCE
GAMEPAD CONTROLS: smoother, better, faster, less awkward
OPTIMIZED CITY SHADERS & GEOMETRY: shiny & pointy
OPTIMIZED TEXTURE COMPRESSION: smaller & snappier
GLOBAL MEMORY REDUCTIONS: less means more
LEVEL TRANSITIONS: more loading, less crashing
A BIG THANK YOU:
We can not overstate how grateful we are to have such an understanding community in these uncertain times. Shipping a game during a global pandemic comes with unique challenges that affect us as a studio, a team, and also simply human beings.
While there is lots more to do, we believe that this 2nd Steam Patch puts the finishing touches on the game we would have liked to have shipped with.
We dearly hope that this will give everyone the experience they deserve to have when playing Beyond A Steel Sky.
Thank you all for your patience, and for rooting for us.
AND AS ALWAYS: JOIN OUR DISCORD:
discord.gg/revolutionsoftware
No.. really! We’re there all the time!
We help with puzzles, troubleshoot obscure system errors with you, and generally like to feel closer with people who play our games.
We’re so grateful to have such a strong, vocal, and passionate community around our games, and we know we can not ever say it enough, but we deeply appreciate every single person who has reached out and been in touch with us.