Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

gotta to say i really REALLY like stfu so i appreciate the post. a part of me thinks i should have toned down the difficulty but I think it's part of its charm.

as for the multitasking, i had purposefully made it so you had to physically press the buttons to really drive home the idea that you're changing the pc and not just making platforms disappear and reappear. Imo if it was keybinds the game would have lost a bit of what made it cool. Still, maybe the game would have been better with keybinds but deadline's passed already and theres no changing it now. 

once again... loved stfu and im still wondering how you stored the inputs to reuse on the clones bc i was thinking about it and im stumped.

(+3)

I actually agree that there is a certain charm to having to press the PC buttons with the mouse. I just think the parts where you have to time the PC inputs with stuff that happens in "game" could have benefited from slightly more generous timing. Not a lot more i think it should be challenging but just a little bit to make it feel better. But like for a game jam game you all did an really impressive job with the game! 

Also idk how Beetruth did it but he really did do fantastic work on our game even if my smol artist brain doesn't quite understand the code.

(+2)

The way the time travel works is through a few scripts:

RecordedPlayerInput: A struct that contains 3 variables - Horizontal Input, Jump Input, Time Travel Input
TimeTravelRecorder: Component on the player. It has a RecordedPlayerInput list. A new element is added to that list every frame in FixedUpdate with the relevant inputs. When the player time travels, the script sends the list to the TimeTravelManager.
TimeTravelManager: Has all the copies of the player inputs and sends them to a player copy in Start.
PlayerCopy: Has a full list of RecordedPlayerInput that was sent from the TimeTravelManager in the Start function. Every fixed frame, the velocity is set according to the input of the current RecordedPlayerInput.

I don't know if I explained that well but hopefully it made a little sense.

(+1)

ahh i see. im not too familiar with structs but that makes sense for the most part