this post was submitted on 25 Jan 2024
1383 points (94.9% liked)

Gaming

3143 readers
568 users here now

!gaming is a community for gaming noobs through gaming aficionados. Unlike !games, we don’t take ourselves quite as serious. Shitposts and memes are welcome.

Our Rules:

1. Keep it civil.


Attack the argument, not the person. No racism/sexism/bigotry. Good faith argumentation only.


2. No sexism, racism, homophobia, transphobia or any other flavor of bigotry.


I should not need to explain this one.


3. No bots, spam or self-promotion.


Only approved bots, which follow the guidelines for bots set by the instance, are allowed.


4. Try not to repost anything posted within the past month.


Beyond that, go for it. Not everyone is on every site all the time.



Logo uses joystick by liftarn

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 76 points 9 months ago (4 children)

To be fair, game devs did the hackiest shit to deal with the constraints of the time. They did things that no programmer would do today because they're bad practices when you're not worried about tiny amounts of RAM or storage.

[–] [email protected] 33 points 9 months ago (3 children)

I love watching videos about old game systems programming. The gymnastics you had to do to code, like, super Mario, just to show more than 3 colors is really interesting.

[–] [email protected] 21 points 9 months ago (1 children)

People who think modern coding practices are bloated should study why certain speed running mechanics work. A lot of them stem from things we would never do today. We've removed entire classes of bugs by using "bloated" languages and tools.

[–] Buck 13 points 9 months ago (1 children)

But we introduce entirely new classes at the same time.

A Cuphead dev reacting to Cuphead speedruns is an interesting watch because he explains why all the tricks work.

[–] [email protected] -5 points 9 months ago (1 children)

Not really. We have more bugs because there are more lines of code.

[–] [email protected] 3 points 9 months ago (1 children)
[–] TheBat 5 points 9 months ago (1 children)

DEVELOPERS! DEVELOPERS! DEVELOPERS! DEVELOPERS! DEVELOPERS! DEVELOPERS!

[–] [email protected] 2 points 9 months ago (1 children)

I vaguely remember this. What is it from again?

[–] [email protected] 5 points 9 months ago* (last edited 9 months ago)

You will probably enjoy this video: https://redirect.invidious.io/watch?v=nYDmBdUalgo

Dude livestreamed Super Mario 64 for more than a month with a bot attached that perfectly abused a physics quirk based on floating point precision, just so he can crash the game at 0:00 at New Year's by overflowing a value. This over-one-hour-long video is the summary.

[–] Buck 3 points 9 months ago

If you haven't seen them, look up the Ultimate talk on YouTube. They go into real depth on c64, Gameboy, Atari, Amiga, etc. development and all the tricks that are used.

[–] [email protected] 10 points 9 months ago (1 children)

The games then were closer to embedded dev than software dev. The cartridge had huge limitations and the devs had to know those limits and work around them.

[–] turmacar 12 points 9 months ago (2 children)

Cartridges were also full on daughter boards instead of just an older version of SD cards. There were massive differences between games. The later SNES games with 3d graphics had a whole extra processor included in the cart.

[–] psmgx 4 points 9 months ago (1 children)

The old Super FX chip. I'm old enough to remember when they released the original Star Fox and flogged the super onboard 3d processing. The ads in comic books mentioned it by name.

[–] TSG_Asmodeus 1 points 9 months ago

Stunt Race FX really stood out to me, even now I remember being impressed by the visuals.

[–] [email protected] 3 points 9 months ago

2d games did, too. The SA1 chip did a lot to make games run better on the SNES. There's mods out there for running games on the SA1 chip, especially shooters like Super R-Type, and it's a substantially better experience.

[–] adam_y 10 points 9 months ago

I think it was David Braben that used the video buffer as extra ram. Coded text on screen in the same colour blue as the sky and stored it there.

[–] [email protected] 4 points 9 months ago (1 children)

Sometimes they did it just in case they needed those limited resources, but its not really needed. SMW is a good example, where spite interactions are only checked every other frame, but modders generally remove that limitation without any issues. There might be weird edge cases where in vanilla without glitches you could theoretically accumulate enough sprite on stream it causes a slightly more noticeable slowdown without the ever other frame. With cape float, it only checks if you are holding the jump button once every 4 frames or something like that. Totally unnecessary and makes the game feel less responsive. Granted, during a casual playthrough, you'd probably never notice that floating stopping after letting go of the button varies by 50ms depending on which frame you let go of the button relative to which frame it checks.

[–] [email protected] 2 points 9 months ago

And even then the code was far from the best it could be.

This guy optimized Super Mario 64 and drastically improved performance while fixing several bugs.