Why Retro Games Tied Simulation to Framerate?

Small team plus game wasn't built with it from the start. Probably a huge headache to patch it in post-release because of that. IIRC, they were going to look into it due to demand, but that probably fizzled with the amount of work needed.

Why are we talking about Gold in here when Cuphead doesn't even have online multiplayer?

Tommy McClain
Spin-off
 
Last edited:
Why doesn't it have online co-op?
Online is a major headache. Bugger to implement well and double bugger to test. If creating a game from scratch with online in mind, you can start with that and keep your testing progressive and design your game systems around it, but you need to be committed to an online game then. Cuphead was just a little platform shooter from a small team. Need for online coop isn't high (certainly given probable expected sales) so it makes sense to leave it out of the original design, and the effort to retrofit it is probably more than it's worth.

Better to wait for a sequel with 4 players - a more apt number for online coop.
 
Did it always have local co-op?
As I remember them either saying they was going to bring co-op or online co-op, can't remember which.

Is it still a huge design consideration if it already had local co-op?
 
IIRC, the initial reveal showed the 2nd character in just one screen, but they didn't have a lot produced for gameplay at the time so it was probably always planned as a local co-op. It's not easy to jury rig an offline game for online co-op as we've seen with Halo CEA & H2A, and even then it wasn't great.

A lot depends on how the A.I./physics was developed throughout, and there are a lot of easy assumptions to make for an offline game that would need more consideration for online since there can be a lot of fail cases (e.g. interruptions, drop in/out, de-syncing, NAT issues). I wouldn't be surprised if the frame-by-frame animations for Cuphead are very sensitive to that sort of thing, and could maybe lead to a very unoptimal experience for the guest/non-host if there's significant networking issues between two players (e.g. teleporting/rubber banding). There may not be a lot they can decouple.

Even a game like Zombie Vikings has some really interesting quirks for a side scroller and 2P online, as @Graham can attest.
 
Last edited:
Is it still a huge design consideration if it already had local co-op?
Yes. The problem is coordinating irregular inputs across two or more players. In local coop, latency for both players is super low, the moment you go online, even over a local wireless network, you introduce latency that means one play moves and the host doesn't know about it until 25+ ms later, and then has to send results back. So you have to write a complete network system to handle the local game running parallel to the host game and synchronising, or the host game machine running the game and handling updates to the clients. Either way, it's a considerable amount of work to make good netcode. If you just put in net-based inputs and a bit of tweening when pckets are lost, the results are pretty janky.

When I set about creating Adventures, my four player local network coop game with mobile devices playing over the LAN, I thought the network part would be easier and far easier than trying to create AI game entities. I even picked a tile based map so in theory, everything was simply cooridanted as tile positions. It ended up being months of work getting movement smooth and dealing with entities ending up occupying the same tile and crap, and it was incredibly hard to test because behaviour was radically different across the net. Coupled with major headaches getting the devices to create and maintain servers, I ended up shelving the game until I'm in a position to start again, at which point I'll start from the net code, with every step being written and tested over the network, as opposed to writing the game that's running locally and adding all sort of great features and then testing them and finding networking can magically shit all over your efforts and turn your glorious creation into a pile of miserable poo that no-one wants to play. :cool:
 
Thanks, guys makes sense.
Same sort of reasons fighters net code is so hard to get right, implementing things like rollback etc.
I've never played cuphead but it looks to be very precise and would be sensitive to net code
 
One problem for 3D fighters at least would be the precise timing of animations as it needs to be frame-accurate while probably needing to get the information back/forth for the animation step occurring at the time while considering that interrupts can occur (other player can hit you while you're mid-animation so it's not just... "send command to run animation loop locally", for example).

Killer Instinct is perhaps one of the games lauded for online experience, though from what little they've discussed, it's partly due to the high tic rate (90Hz while the game renders at 60fps), but they are also very strict about the render budget for online play (on PC, you have to be able to meet their benchmark overhead to go online). IIRC, they allow decoupled for offline. Injustice 2 also operates with a similar philosophy for online/offline from what I can tell on the PC version.

I haven't heard the best of impressions for DOA, Tekken, Soul Cal. Not sure about SFV. By comparison, Netherrealms are also using UE3/4, but they've also had several games under their belt to work on the problem.

edit: moving to spin-off
 
Last edited:
Back
Top