Changes for the game
4 years ago
Australia

I've been thinking of a few minor changes to the game for a while now that would vastly improve the experience of speedrunning it for all. I've decided to compile all the changes I want to see in this forum post.

As Roblox8192 is the current owner of AF2 restored only he can make these changes, so this is mainly being addressed to him. At the moment he's taken a break from working on it so these being added may take an indefinite amount of time.

  1. Removing RNG where possible

There are a few elements of the game that are based on RNG, and are essentially completely random. This might not make much of a difference to runners, but over the course of a full run the time difference can be substantial and I think this is unfair.

Instances of randomness in the game include;

Random respawn position on checkpoints Random spawn position at the start of worlds Random teleport position when using "Back to start" Random death times be it death or resetting Random jump height in the water

These are all issues that introduce randomness into the game and can make a huge difference for runners. I'm going to cover each one and how I wish for it to be fixed, or if it can't be fixed and why.

Random respawn position on checkpoints

Checkpoints all across the game have a large hitbox that when touched will change your respawn position (and music) to it. However, when dying via death or reset, the spot you respawn on is completely random. The area usually isn't wide enough for this to be noticeable, but it does give an advantage to lucky players.

My way of fixing this would be to make it so that the hitboxes for registering the checkpoints will stay the same, however each checkpoint in the game should have an exact designated spot that players will spawn on every time. This will remove the randomness and also fix some of the respawn bugs players have received ending up on the roof of W10 and the like.

Random spawn position at the start of worlds and Random teleport position when using "Back to start"

This is the exact same as the checkpoints, and my solution is the same. I want the spot to be the same for entering the worlds, and for clicking "Back to start" to avoid any discrepancies. (This will also help with W9's weird world spawn, and it would've helped out W3's main spawn death problem we used to have)

Random death times be it death or resetting

The problem with this one is that it appears to be based entirely on Roblox's end. I doubt roblox8192 will be able to do anything about the random respawn time of deaths, but It would be nice if the super long deaths I keep experiencing would be removed, as they can and have killed runs.

Random jump height in the water

This is also a Roblox issue with how water physics works in general. When jumping in water, your character can either jump normally, have a reduced weird jump (especially using shift lock, which can sometimes softlock your jumping ability without turning off shift lock) and can even give you an even higher jump. This "high water jump" is actually used for a few tricks in the game, and if we had a way to consistently use it that would be super handy, however it appears that Roblox's water physics were implemented with an afterthought, and I doubt roblox8192 can do anything about it.

To note, it is possible to get the high water jump semi consistently by jumping forwards then turning around the other way whilst holding space. I only decided to mention it here because it does seem to happen at random and this trick only executes it some of the time.

That is all the random elements covered, I now want to go over some quality of life improvements that I think we could all benefit from. As much as the game works fine as is, I would enjoy seeing some of these features implemented;

Speedrun mode

If you've played zKevin's robot64 you'll know exactly what I mean. Having to reset all your data and rewatch the intro cutscene is such a drag, not to mention requiring you to go and recollect all the stars and symbols if you want to get back into later levels. Sure you can bypass this with lag clipping, except that W11 cannot be accessed without 55 stars minimum, so unless you have a separate account to your runner one, you cannot practice or enter W11 without the prerequisite items.

Speedrun mode actually exists currently, the button can be found underneath adventure, yet it does nothing and says (WIP) next to it. As such I'll suggest how I want the mode to work for when it does get implemented.

All data from your main save is kept and not messed with, but you have no data when starting a speedrun and you lose that data as soon as you leave the game. I would like data to be kept between world teleports (for obvious reasons) however I realise that disconnects or the like might screw over users if that causes a data wipe, so maybe have the speedrun file act as a second save slot that only wipes your data if you select delete progress next to or under the button.

Achievements can still be earned using speedrun mode, and when starting a new speedrun file the main intro cutscene is completely skipped. I was debating if the Celesteal cutscene should be cut off too, as runners have to wait through the whole thing before collecting the 10th symbol. Maybe make 10th symbol collection happen on Celesteal himself to avoid this? Would allow runners to quit straight to sky emp and continue a post game run, though that would give them an advantage over old runs.

I don't really want or need a timer for speedrun mode, if it gets implemented to ignore load times then maybe, but otherwise I don't think it's necessary. It would be nice to have it connect to livesplit to have an auto splitter though, but I doubt that's possible.

I've been thinking of other qol improvements for speedrun mode like making all character dialogue take one E press to finish, as that would speed up the boring parts of the game, but that would be up to the community to decide if it's a smart idea or not, and that would make previous runs obsolete.

Death resets cycle timers

This is a niche suggestion in that I want all the cycle based items in the game to reset every time the player respawns. This would drastically remove the element of pseudo randomness for runs, as players could make attempts over and over without having to deal with different positioning, and it would make testing times far more valuable as it would be accurate to actual runs.

As of now, the cycles start from a fixed point when the character spawns at the start of the world, and if the player moves at an optimal speed that leaves the cycles as quite predictable, but in the course of a run this can go awry and I think it would improve qol to have this pseudo random element removed.

Also this would indirectly fix the gears in W5 that get out of sync when the player has spent a long time getting to them, and also fix any cycle based obstacles that break or get out of sync in other parts of the game. Not sure how this would be implemented, as I'm sure it would be quite a coding feat, but it would be a welcome change if roblox8192 was up to the task.

Make everything client side

At the moment this game is a singleplayer experience that just so happens to be run on Roblox, which is exclusively a server based game engine. You can't really avoid that, you can try having single player servers but that would be problematic in that casual players can't meet their friends anymore, and it wouldn't alleviate the problem, being resource intensive on roblox8192's end.

This for the most part works fine, ping is an issue but we just have to deal with it. The game is almost entirely client side anyways, meaning all obstacles the player can interact with cannot be interfered by another player. Someone collecting a coin across the map will not give the coin to the other player.

Unfortunately not all objects are client side. There are a few obstacles that are server side, which not only mean they are subject to server lag, but can be tampered with by other players. Here's a list of most of them-

Cannon buttons Jump pads Sawblade powerups Marble powerups Battery powerups Pepper powerups Falling piano tiles And so forth.

These objects have no reason to be server side, and the annoying part is that them being server side has messed with runners in the past. Random players collecting powerups causing runners to wait, people on jump pads killing runs, and on the other side runners are able to activate cannon buttons from farther away if somebody is already standing on the button itself due to the large client detection hitbox, giving runners in this situation an advantage.

My simple request is to have all of these items be made client side, there's nothing really else to say. I might have missed a few items when making this list, so reply with any I missed.

Fix the battery powerup

If you have a battery that's already been discharged, and you collect the powerup again, you wont be able to collect the charge again until the powerup has completely worn off. Either make the battery powerup disappear, or fix the bug and allow multiple charges to be collected and lost on one battery.

This is the whole post. If there's anything else I missed reply to this thread and I'll edit it into this post. All of this is addressed to roblox8192 like I said, but don't expect him to add them immediately, if at all. If you do come to roblox8192 about any of this, please remain respectful, the guy has a life too y'know.

Shoutouts to Taco, Zora, Potato, and especially Quantum for becoming our new head mod (And for making me a mod for this board ;P)

Edited by the author 4 years ago
Ivory, quinnpop and 3 others like this
Texas, USA

I believe the main game function should be the same (i.e. dialogue), but some stuff could be changed, like client-sided powerups. I'm saying that the main game functions should remain the same because countless other games being speedran have cutscenes to deal with. For instance, in Super Mario Sunshine, there are several cutscenes, and the only way to make the speedrun faster is to find a way to "skip it" as opposed to having a developer remove or have the ability to skip.

zora135790 likes this
Texas, USA

Also petition for final camera angle of Sky Emporium (after killing Celesteal) being the background for this speedrun.com page.

Kaiwala and max954 like this
Australia

Edited in another suggestion- Make the battery powerup disappear once you've activated the circuit, because if you had a battery that's already been discharged and you collect the powerup again, you wont be able to collect the charge again until the powerup has completely worn off.

Either make the battery powerup disappear, or fix the bug and allow multiple charges to be collected and lost on one battery.

Canada

random death time and swimming depends on your internet

speedrun mode is made by me and i already have everything planned so dont worry about it

i can try making powerups client sided when i finish speedrun mode, it is a necessity at this point

death resetting cycles doesnt make sense, neither does fixing other rng elements that are intentional.