SMB had game file size limitations in the dozens of kilobytes range.
For comparison, that screenshot is 342kb, and Super Mario Bros is 40kb. The screenshot is more than 8.5 times bigger than the game it comes from.
I managed to recreate almost the same screenshot in 5kb (and with much less compression artifacts!)
before adding the text and circles it was only 1.6kb
it’s a case where jpeg compression ironically results in the picture getting 60x larger and more blurry because everyone recompresses the images and jpeg is designed for large photos and not pixel art
Use png and IDK I don’t remember which cmd line soft but it stripped out unused colors and compressed images like that one hard.
That, without the red lines and circles, and without jpeg jitter should be like 1kb. Or less less.
Now, as an oldtimer, when you load that 1kb image up, it will still take like 640x320 bytes (it was all 8bit) so 200KB of RAM. But back in the day I guess it was more like the original GB 160x144 so 22.5KB RAM needed to show that image.
Did it work like that?
No, because cartridges didn’t have a lot of space, and the consoles didn’t have much RAM, so you used tiles. You had a tile map image, each tile was 8x8 pixels pointing to a palette (so you could use 4-bits for the color. More or less so, there were a lot of ‘modes’). Each tile had a number and your screen was some 20x18 tiles x 1 byte numbers, designing the ‘tile’ to be shown at that particular position of the screen.
All done by hardware so way fast!
To make the scrolling run you had a ‘delta’ pixels to slightly move the “screen” around.
Fun times.
Time to go to bed 😪😴
ROM Cartridges like that were also basically as fast as RAM, and mapped into system memory, so you could reference things directly instead of having to load things to RAM first like off a disc
Yes yes! But wasn’t there some limit, like if you had a 1Mbit cartridge you still had to shuffle the data around? Or was it just a penalty to map a different chunk of memory?
My memory is sure not that fast or reliable:-)
Not the guy you replied too, and my memory is also fuzzy, but I always love how crazy and analog nes hardware was. Im like 70% sure that later in the nes lifespan they made it to where cartridges had more rom and could shuffle the data banks/tables around and that the nes could only process something like 32kb at a time I think? So they would just swap around the data sets depending on when they where needed.
Almost like one of those choose your own adventure books… Im probably horribly wrong in that summary and analogy though. It’s been years since I last got a refresher on nes tricks lol
pngcrush
Here’s the same image in 3.8kb (lossless jxl):
Interestingly, lossy jxl is larger (59kb):
I like this math lesson
Modern AAA games need optimisations too
Optimization? Pffffft. Nvidia probably pays game developers to make unoptimized games just to boost gpu sales.
True
Laughs in Cities: Skylines 2
Yes, but not ‘every rock is identical’ optimization like back then.
You’d be surprised
What I would give to have modern devs work that hard to reduce file sizes
Is it more than the price of a hard drive?
For the sake of all my homies with data caps and limited hard drive funds, I would gladly give more than it costs me personally
Games on ssds benefit from faster load times. Don’t put your games on spinning metal.
Because most of the time and energy are spent trying to hold on and not be tossed off by centripetal force?
Exactly.
I’ve seen this same suggestion years ago on Blender tutorials. Generating a scene isn’t about making it realistic, it’s about fooling the audience into thinking it’s real without making it too hard to create. Look at videos from Ian Hubert on how to fake it well.
Halo 3 came out 17 years ago. I learned this today (and still don’t really see it…), so I say they did amazingly well!
Fuck I’m old
I can agree on this statement
Yeah, what Track_Shovel said: fuck you!
Edit: not sure why they said it but I wanted to be in agreement, too!
My partner compares video game design to stage theatre.
Good analogy! Anything in particular they’ve used as examples?
Cyberpunk, literally all of it.
Yea yea yea, I dunno if it works for them, but I think linking objects in blender would make it more memory efficient up until you changed the geometry or properties fundamentally.
So it makes it easier to process and litter around the map
They did this in the Hitman 1>2>3 progression and got H3 down to like… 36 gigs… they reused doors when posssible, fruits in bowls, etc. Instead of bespoke items for each game in the series, they compressed and repeated stuff, and got the entire trilogy game down to the size of one of the individual games.
I just got back into H3 a week or two ago and was caught off guard by the install size! Last time I installed 2 I had to disable a ton of map DLCs and rotate em out as I went to not take up most of the storage on my Steam Deck SD card.
They did an amazing job on streamlining things.
Welcome to gamedev. Its all smoke, mirrors, and magic tricks. Come intervene in our fancy electric rock dreams.
You want them to pay to design TWO ROCKS??? What are they, billionaires???
The monkey’s paw curls. New AAA games now feature thousands of individual rock models, among other labor- and space-saving measures being forgone in favor of realism. The game is 400 GB and the devs have worked 110 hours per week for the last 3 months
All you did was describe the current sad trajectory of AAA games anyway.
Thought he was describing CoD lol
There was a game that came out a few years ago that scanned in most of its rocks for photorealism. I can’t recall the name. EA was the publisher, I think?
Tons of games do that now. Usually they get scans and models from other companies, like Quixel Mega scans. It makes for a relatively fast workflow. Pretty much any photo-real game is doing something like this, it’s just more affordable than paying people to digitally sculpt rocks by hand.
I think the newer Star Wars Battlefront games did that.
UE5 uses mega scans of real world assets.
Why did the finger curl? Nothing changed
I should have specified. This finger curled 15 years ago
And all the 5GB worth of rocks were generated using a single Houdini script.
It’s one more rock, Michael. What could it cost, ten dollars?
Setting aside that asset production is genuinely one of the most expensive parts of game dev, if they’re smart they can use some clever GPU instancing to improve performance by reusing assets
No clue if that’s happening here, though
I honestly don’t see the similarity. So nice rotating, scaling, moving skills I guess.
Generally more than half of the rock is underground, so while it might be only one rock, you see many distinct sides of it…
Most rocks are one sided actually.
The desks in Skyrim are just clouds embedded in the ground and recoloured.
The desks are clouds…? How would clouds even remotely look like desks??
Was this supposed to say rocks? I’m so confused 😅
I think the joke here is that in Super Mario Bros (NES), the bushes are recolored clouds, with their bottoms hidden by the ground. By changing the reference to Skyrim, you get a surrealist joke.
Anyway, that’s what I thought the reference was and it made me heartily lol!
That and the fact that the desks in Skyrim are bookshelves embedded in the ground.
Over my head…
And we had to share the rock
Our rock.
Is this halo?
Ye Halo 3
It’s minecraft
Mario
AND MY AXE
This is literally every game with rocks, since fucking forever…
Lmao, done that before. You do have to worry about the resolution of the textures when changing the model’s size, though.
Also, I’ve made small caves systems and mountains like this, before slapping myself for not remembering terrain generation.
Edit: this is a bit of tangent, but I’m super excited to see more boulders rendered using polycam. Generally, the models are a bit janky and never have straight polygons (along the x,y,z axis) So things like furniture and corridors won’t work. Boulders though, it’s perfect!
Maybe not polycam in specific, since they too believe that you need lidar to get high quality scans, which isn’t true at all.
deleted by creator
Here is an alternative Piped link(s):
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.