10,000 Bulletins: No One Can Stop the Presses! (Part 1)

Honestly this is just a wonderful palette cleanser after experiencing E3 vicariously through you all and watching a handful of trailers.

Games are good again!

EDIT: Where is Linda³ ?

3 Likes

cargodin is working on it!

7 Likes

meanwhile im like hmm are they gonna take longer than 4 years to translate moonlight syndrome? i can learn japanese before the climate apocalypse,

4 Likes


out now

6 Likes

reminds me of the old mechafetus blog

2 Likes

Not sure where this goes but neat thread about engineering around latency

6 Likes
2 Likes

Alan Wake may stand to benefit more from raytracing than any other game. It is mechanically, narratively, and aesthetically about light sources. I’m excited

9 Likes

oh god is ffvii remake gonna be an epic exclusive for 6 months :expressionless:

2 Likes

50ms! holy cow that’s brutal

standard practice is 300-500ms (early examples like Souls on the low end, games trying to make parrying broadly achievable like God of War and Jedi: Fallen Order on the high end)

9 Likes

It’s funny to me that their response to having this super-tight window with input latency is basically a variation of how rollback gets implemented for online fighting games.

5 Likes

These techniques for input buffering input become really critical when anyone starts working on a music game: you have a music event in time and you run into two problems:

  • You want to allow forgiveness for those who come in early
  • You want forgiveness for those who come in late

If your goal is to be a harsh rhythm performance, maybe you play the audio/visual feedback of the player’s instrument as soon as you get it and grade it. But if your goal is to help the player be part of the music, like Rez or anything groove-based, this gets nasty on one half. If the player hits the button early, no problem, you just delay the feedback and it comes in on time. If they hit it late, well, even if you play it right away you’ve broken the music.

My favored solution (and I don’t know what the standard is) is to start playing the feedback on time, but muted/hidden, and if the player input comes in late (within reason), turn it back on. You lose the attack but you can kind of work around it by designing the sound feedback with a softer attack.

Even with this, I end up making the ‘buffer’ window much larger for early hits than late because they play better. But that’s the opposite of how I’d like to train the player, because I’d love to support playing in the pocket and I can’t stand the mechanical slightly-too-early tendency of bad rhythm. But we really don’t have the latency to distinguish between those styles with unclear controller->device->display->speaker chains; it needs to be something like 3 times faster to have that precision.

11 Likes

I should fire up Rock Band on my OLED, I wonder if it feels like it did on a CRT

1 Like

I wondered if Towerfall’s arrow catch mechanic might be below that 300ms-500ms range since it’s a fast-paced local-only game but I looked it up and it’s 360ms.

Towerfall did later introduce a “cursed arrow catch” modifier for experienced players who feel this is too generous, but I doubt even that’s as low as 50ms

3 Likes

Your TV can get below 16ms, can’t it?

Few years back Harmonix held a PAX party for the Amplitude remake, invited some of the Kickstarter backers. They reached out looking for CRTs in the area…we had a 42" monster at the 17-BIT office and I offered to get it to them. Well, offered before I figured out how I could do it: I still needed to ask if I could borrow the TV, if I could borrow a car, if I could borrow some muscle. Eventually solved with a yes, an old chunky Isuzu, and my wife’s back. At 42" we had to use a freight cart and ramp it into everything. I only moderately damaged the interior of my friend’s car! for rhythm perfection

11 Likes

Damn, isn’t like 274ms the approx. ave human reaction speed? Are they thinking most will just anticipate the parry based on a rhythmic cue at 50?

In mobile application development I have run into a variation of this problem with double-tap input. After receiving a single tap the software can’t be psychic about whether or not a second tap will arrive within the timewindow or not (also typically set around 300ms). So any interface where double-tap is possible also needs to delay single-tap concrete effect until the deadline, and in terms of feedback you need to explore tricks around starting with a downplayed feedback you can cancel quickly.

Another part of this is that when people file bugs about single-tap behaving weird, after you explain to them it’s a result of interaction with double-tap support, some people are baffled by what double-tap could possibly have to do with it and just think the devs are talking nonsense. Just fix the bug, they say. I imagine it must be similar for rhythm game players who hear about the asymmetrical time window

4 Likes

What is the typical parry window in fighting games? I’m thinking of games like Street Fighter 3: Third Strike and Gaurou: Mark of the Wolves.

EDIT: I also wonder what the window is like no DMC 3 Royal Guard style. I was never able to parry consistently even with the audio cues.

EDIT2: For fighting games I’d anticipate a window of 1 or 2 frames. Since they’re competitive games, a tight window is desirable.

1 Like

I think there’s two concepts, reaction to new stimuli, which takes a long time, and accuracy in hitting a predicted time. Incoming attacks in an action game should be difficult due to their arrhythmic nature, that they interrupt player desires, and that they don’t broadcast the hit moment especially clearly.

If you start binding it down and making attacks come at specified moments, you can start asking players for accuracy instead of reaction. Necrodancer really does live in this middle ground – it’s not hard for people to react in the right moment, and the brain teaser is trying to accomodate player intentions to the forced cadence that demands a reaction on time.

2 Likes

There’s a similar problem when we double-up buttons. If we want a tap function alone, we can trigger on button down. If we want a tap and a hold, we can’t initiate the action as soon as the button is down but have to wait for a release, which in the real world adds 1-3 frames, just at the threshold of noticeability. Theoretically we could run a faster version of the tap play to compensate but I haven’t seen it done or tried it myself.

1 Like