this post was submitted on 21 Feb 2024
191 points (84.2% liked)

No Stupid Questions

35694 readers
1386 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

There are so many things being tracked all the time in the game for puzzles and the power arm. Yet despites literally tracking sunshadows for some puzzle completion for example it runs almost smoothly with (in my 170h) no crashes. On a 6 yo portable console??

Botw was already impressive but I could grasp it with the shaders and also there weren't that much physics puzzle. Objects were more static, there wasn't the two other maps, enemy diversity was limited, same for weapons. There was less of everything overall but I thought it was the limit of the console and the possible engineering around it.

Is there any resources on how they managed to pull this off? White papers, behind the scenes, charts, ...?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 116 points 8 months ago (1 children)

Digital Foundry has a great video on the subject

Just a lot of visual tricks and sacrifices that people won't notice due to the great artstyle. The textures are really low quality, the game is often foggy to hide how low quality objects in the distance are, etc.

[–] [email protected] 22 points 8 months ago (1 children)

It’s really a shame to me that more people don’t experience it fogless at 1440p+/60+FPS. It’s BEAUTIFUL.

[–] M137 14 points 8 months ago (1 children)

The best way to play any switch game is via emulation. It's pretty funny IMO.

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

It’s wild. SMRPG came out and i immediately checked if I could play it BETTER, and day one? Yep absolutely. TotK took some time but through the tireless efforts of an awesome dude, certain mods and settings had it running amazingly after a few weeks. A few months later it’s 60+ smooth with no drops.

load more comments (2 replies)
[–] [email protected] 75 points 8 months ago (1 children)

Console games developed at the end of the console lifecycle often includes various optimizations learned by the dev community to squeeze as much performance as possible. Just look at how good gtav and mgsv on ps3 for example.

[–] Potatos_are_not_friends 26 points 8 months ago (2 children)

MGS V's performance is a freaking work of art. It ran incredibly smoothly on my PC, and was gorgeous to boot. Then I loaded a few other games and had to turn down settings to hit 60fps.

[–] deus 12 points 8 months ago* (last edited 8 months ago)

Can confirm, I still remember how impressed I was to see MGS:V running smoothly on my old dual-core Intel CPU with integrated graphics. It could never handle Sleeping Dogs or Deus Ex: Human Revolution yet this massive and beautiful open-world sandbox ran on it like a champ.

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

fox engine was well developed and iirc was used for PES, sad it didnt get much other uses though due i konami functionality pulling out of game development.

[–] [email protected] 5 points 8 months ago

Well, Konami is back into game development, but the Fox Engine remains on mothballs. MGS3 remake will be on UE5 :/

[–] [email protected] 69 points 8 months ago

Institutional knowledge at Nintendo is pretty good since they don't do routine layoffs and most people work there their whole lives.

[–] JeeBaiChow 59 points 8 months ago (3 children)

You should go read up on the small optimizations that developers do to seemingly surpass the limits of earlier hardware. Stuff like swapping palettes in between scanlines to give the impression of more available colors, or reusing palette swapped cloud sprites in place of bushes to save on limited ram. Good engineers are really, really good. They seem to find a solution for everything.

[–] takeheart 32 points 8 months ago (2 children)

When I was extracting sounds from the sound banks from the Nintendo 64 game F-Zero X I simply couldn't find certain sound effects. It turns out that some effects are created during runtime by taking a sound sample and applying certain effects or filters, for instance pitch shifting the sample and looping it in rapid succession.

It's a clever way to save on memory and the player doesn't notice if it's well done. The original Pokémon Red/Blue on the gameboy is an example where it's not so well done in some places. If you pay attention you'll notice that some Pokémon's battle cries are simple pitch shifts of other ones and they didn't apply any other effects to obfuscate this.

[–] [email protected] 6 points 8 months ago

Shout out to Retro Video Game Mechanics Explained for his explanation of the entire construction of the cries.

[–] [email protected] 5 points 8 months ago* (last edited 8 months ago) (2 children)

I mean, pokemon needed 151 different battle cries. There is bound to be some overlap.

Pokemon is very optimised. In order to have the feature to give your pokemon nicknames, they had to scrap the other 105 pokemon just so they had enough space to write the code.

load more comments (2 replies)
[–] ViscloReader 10 points 8 months ago (3 children)

That's exactly what I'm looking for ^^

[–] Dran_Arcana 9 points 8 months ago

I don't know if there are any for the switch specifically, but Modern Vintage Gamer on YouTube does a really good deep dive series he calls "impossible ports" where he covers the technicals of how a port of a game was made for a console and why it's crazy that it works at all. Portal on the N64 and halflife on the PS2 are the example that first come to mind.

[–] JeeBaiChow 8 points 8 months ago (1 children)

Sorry, can't give you references, but the examples I used were from one of the early Mario games. I was around when the euro demo scene was still hot, so there were loads of tips and tricks they used to game the 8086-x386 hardware to create dazzling effects in real time, prior to the introduction of acceleration and dedicated graphics chipsets. It was a truly glorious time, and a great source of wonder growing up in the 90s watching the industry evolve around me.

Still blows my mind (though not in a good way) to hear a simple app or http framework nowadays needs several gigabytess just to install. Everything I mentioned used to happen in 32k-8mb of RAM.

[–] aksdb 3 points 8 months ago (2 children)

The demo scene still exists and they still produce mind blowing stuff.

I still remember "playing" .kkrieger, a 3d shooter fitting in a fucking 64kb exe. It did use quite a bit of RAM though.

load more comments (2 replies)
[–] [email protected] 4 points 8 months ago

Check out this rather extreme example: REVS on the BBC micro https://youtu.be/p5s-zbXtDoo?si=5UWDROP2HtGQSiut

[–] [email protected] 4 points 8 months ago

Hell yeah. I think it was Spyro -- anyway, some psx game -- that had to literally go through the source code and declare integers like i outside of loops, so they could be reused. All so the game would fit on disc.

[–] [email protected] 48 points 8 months ago* (last edited 8 months ago) (1 children)

I'm not sure what your experience levels are with code, but breath of the wild source code is decompiled and available online. it was truly eye opening how that game is designed, everything is very modular and parameter based to work within just a few generalized shared systems. I'd guess TOTK took those same systems and expanded the parameter data that can be applied, and added a whole lot more modules using them.

[–] aksdb 27 points 8 months ago (2 children)

I am happy to read that there are still game devs around that give a fuck about optimizing their code. I am so sick of that whole "hardware is cheap" excuse for wasting resources.

Thinking about it... it's probably more prevalent in game dev in general than in application software dev. But I digress.

[–] fidodo 24 points 8 months ago (1 children)

I am so sick of that whole "hardware is cheap" excuse for wasting resources.

When you're developing a flagship AAA game for the Switch you can't use that excuse since you're stuck with 6 year old mobile hardware.

[–] meekah 8 points 8 months ago (1 children)

The console was released almost 7 years ago, the chip used is even older at almost 9 years old

[–] [email protected] 6 points 8 months ago (1 children)

The thing is, that it works.

Optimisation is what brought us Pokemon, an open world RPG with 151 different characters, each with their own stats, special abilities, strengths and weaknesses, on a freaking handheld that before only ran Tetris.

load more comments (1 replies)
[–] force 16 points 8 months ago* (last edited 8 months ago) (1 children)

Game devs are overworked and underpaid af, so all those layers upon layers of abstractions just handed to you by game engines, at the cost of a ton of performance in order to save brainpower and time, look VERY enticing. Sure, you could spend more time and also spend more money in order to keep devs from leaving your company (because if you don't keep giving your devs lucrative deals, they WILL jump ship as soon as they can get a better deal, that's every job in tech) so you can maintain modular, decoupled, high-performance low-level code, but why do that when it's just as profitable, even more profitable actually, not to?

But Nintendo, despite treating their consumers like shit, is EXTREMELY good with workers (especially in the context of Japan which is probably one of the worst countries on this planet for workers). They make good games because their employees aren't overworked and underpaid as hell. They don't have high turnover, they keep their employees over decades because they keep enough funding and effort into their current employees, rather than pumping all of that into hiring like most companies do. That's why they can even exist despite the Switch being kind of garbage, why they can succeed where Sony and Microsoft are failing, because they attract and keep experienced, quality employees, so they can make quality games.

Game development & design can be one of the hardest jobs in the software engineering industry, and it's the biggest entertainment industry on Earth by far, yet game devs have some of the worst conditions of any software engineers, dare I say the worst... So by buying shit games from shit companies, people are just affirming their shit practices.

[–] Nastybutler 9 points 8 months ago

This made me think we need an independent 3rd party to certify games that are "ethically sourced" , so to speak, like they do with cacao and palm oil.

I'd be more likely to buy games where the workers are treated well as opposed to ones from developers that are meat grinders.

[–] [email protected] 39 points 8 months ago* (last edited 8 months ago) (2 children)

There was less of everything overall but I thought it was the limit of the console and the possible engineering around it.

This was indeed the case but not in the way you think it was. Remember that BoTW was developed for the WiiU. The WiiU was substantially less powerful than the Switch.

Nintendo ERD are no strangers to squeezing every last drop of performance for its target platform. They are absolute fucking wizards. BoTW was absolutely mind blowing as a WiiU game in the same vein that ToTK is mind-blowing as a Switch game. They used every possible facet of the target console's abilities to get the results they did, and every new thing in ToTK is a result of the Devs having better specs to work with.

For example the fact that we weren't using discs any more meant that the loading from the surface to the Depths could be relatively seamless, as card read speeds eclipse that of Blu Ray.

The boost from 1.5GB to 3GB of operating RAM meant that more things could be added to the world, including more enemy types and the sky islands.

The Switch also gets a considerable boost over the WiiU with regards to CPU and GPU power too, though it isn't as dramatic. What it really has over the WiiU is access to more complex rendering modes, and these are used to address issues some had in BoTW like draw distance.

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

Nintendo ERD are no strangers to squeezing every last drop of performance for its target platform

BOTW is actually a horrible (or really good...) example of this.

BOTW's development officially began in 2011. It came out in 2017 for the following console. I don't remember how well it ran on the wii u, but it ran pretty horribly on the Switch and took a year or two of patches to get a stable framerate (Digital Foundry did a few great videos on this).

But if it were any other dev studio, it would have been nothing but "ugh, lazy devs" and all that stupidity. When the reality is just that optimization is hard (especially if you don't get a devkit until fairly late in development) and it takes time to make a game run well.

Which... is the reality of how Nintendo or Naughty Dog or any other first/pseudo-first party studio can "squeeze every inch of performance". It is less that those devs are fundamentally better than any others. It is that they have early access to the hardware and work in an environment where they can actually sit down and talk to the people writing the underlying graphics libraries/drivers for the platform.

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago)

youre kinda sideskirting the fact that the open world was only doable, not because of nintendo ERD, but because of Monolith Soft, who had far more experience developing open worlds and pushing a system to its limits than all other internal development studios.

hell on release, Xenoblade Chronicles X was essentially the largest console open world, and gave an optional 20 gigabyte download in order to speed up game loading assets. in a game where its only loading screen was teleporting, going into barracks, or a cutscene.

[–] [email protected] 32 points 8 months ago* (last edited 8 months ago) (1 children)

Because they're not constantly tracking any of that stuff. It checks once at specific trigger points. If everything is satisfied for a thing to happen, the thing will happen.

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

Take the sun for instance. You just need to check if the time is at a certain time. It is literally just checking if a number is close enough to another number for the trigger.

[–] [email protected] 15 points 8 months ago* (last edited 8 months ago) (1 children)

Programming must be some arcane eldrich knowledge to some.

But to programmers, its a Thursday.

@OP The answer to your question is Object Oriented Programming.

Now I want to check if blocking the sun rays using contraptions will still allow to finish the puzzle. To see if our hypothesis is correct. They might have done it some other clever way.

[–] ripripripriprip 4 points 8 months ago

The seamless interaction between objects is sublime. There are so many times where you're like "I wonder if..." and the game handles your guess without any hiccups.

[–] bassomitron 23 points 8 months ago (4 children)

I don't know, I wasn't that wowed by TotK. I'm a huge Zelda fan, been playing all of their games at launch since A Link to the Past. But, TotK just felt like BotW with a clunky crafting system. It brought nothing new to the table outside of that. Additionally, the puzzles were often trivialized because of the crafting system being too overpowered.

While the open world aspect felt fresh in BotW, the fact that TotK was taking place in the same exact world felt stale. Sure, we got the depths and sky islands, but the former is pretty boring after the initial novelty wears off and the latter was pretty copy/paste feeling without much sense of exploration. The fact they they once again completely rely on your equipment constantly breaking in order to justify any reason to explore further reinforces the sense of forced purpose. In other words, there isn't anything really to do in the open world besides finding stuff to replace stuff that will inevitably break.

I don't know, maybe I'm just getting jaded or too old, but I'm just so tired of open world games. I missed the hand crafted feel of previous Zelda games, where the majority of your time was spent dungeon delving in places packed with secrets and puzzles that weren't just physics minigames. I truly hope the next entry is something more along the lines of Twilight Princess or Ocarina of Time.

[–] just_change_it 8 points 8 months ago (1 children)

I missed the hand crafted feel of previous Zelda games, where the majority of your time was spent dungeon delving in places packed with secrets and puzzles that weren’t just physics minigames.

This so much.

Shrines are not a good replacement for real dungeons. The "dungeons" we get are so minimal and the upgrades you get are so meh. At best you get mobility or more ways to cheese combat encounters. Gone are the days of unique equipment and things that fundamentally change how you interact with the world, metroidvania style.

I think the open world aspect of zelda is it's weakest link, it's just too big of a sacrifice. Korok seeds are not real content for anyone who isn't obsessed with the 'gotta collect them all' mindset, it's just a copy paste idea like what we've seen in gta and assassin's creed. There's no real reward for excessive open world exploration, you're constantly just trying to get from point A to point B with no reason to really delve into the landscape except for more koroks. Combat is a chore where you're just fighting to get equipment to fight more.

Don't get me wrong, there's a lot of things going for the newer games, especially the controls. It's just much less of what made the older titles great, and that's fine. I keep having nostalgia for link to the past and that's just not the kind of game this is.

load more comments (1 replies)
load more comments (3 replies)
[–] morphballganon 20 points 8 months ago* (last edited 8 months ago) (1 children)

literally tracking sunshadows for some puzzle completion for example

I'm guessing the way they do this is much simpler than you're imagining. They don't have to track the whole shadow. They just have to see if the targets are being hit by sunlight or not during daytime hours.

[–] [email protected] 20 points 8 months ago* (last edited 8 months ago) (1 children)

Even easier, they can probably check the game clock and see if the event occured and objects were in place within a given time frame (ie, when the shadow would be cast)

load more comments (1 replies)
[–] [email protected] 14 points 8 months ago

There's also a nifty optimization detail that was included originally in Breath of the Wild to deal with memory constraints, and eventually weaved as both a core part of the plot and a balance mechanic: the Red Moon phenomenon, that resets the state of the overworld at regular intervals. The developers originally explained that at the first stages of development, they had to deal with the fact that the game would eventually run out of RAM while tracking the status of every single enemy, so they decided to add a way to clear the slate, and settled for one of the best ways to integrate it in the lore of the game - explaining it to be caused by the malice of Ganon making all the slain creatures go back to life. And in an open-world game with weapon degradation, it's highly appreciated to have a reliable source of additional weaponry, simply by waiting for the next Red Moon to defeat a few more enemies and take their weapons. I doubt that degradation would have stuck in the game if it weren't for the Red Moon making the pull-and-push of resource management balanced - without it, there would be a point in the game where Link would have exhausted all available sources of weaponry and be doomed to play the pacifist for potentially the rest of the game.

[–] [email protected] 13 points 8 months ago

They took Breath of the Wild and tacked a fairly basic building system onto it. It seems fairly unlikely they designed the whole physics thing and game engine themselves (then again, it's Nintendo, so you never know) but it seemed identical to BotW except that obviously didn't have the building.

I'm not sure I'd say it runs smoothly, though. And I play OoT a lot so I'm not a stranger to low fps and lag either.

[–] TwanHE 12 points 8 months ago (6 children)

By just copying the last game they spend half a decade on.

load more comments (6 replies)
[–] [email protected] 9 points 8 months ago

Saving and loading the kind of info you're talking about takes very little time, and very little memory/disk space. Streaming/loading/unloading textures, realistic lighting, complex models, many objects/creatures is what takes a lot of time and often causes stutters in games. BotW/TotK do a lot with very little of this stuff. Maybe not the "many objects" part as their puzzles can get complex, but each object is kept very simple.

[–] [email protected] 7 points 8 months ago

I would say that Nintendo ERD had access to the bare metal specs from Nvidia when implementing the graphics API (or reused parts of the mothballed Cg spec).

[–] [email protected] 5 points 8 months ago (3 children)

Sun shadows, really? As long as the atmospheric simulation is deterministic it's just a simple vector op, probably takes less than a millisec per frame

load more comments (3 replies)
[–] RightHandOfIkaros 3 points 8 months ago* (last edited 8 months ago)

Breath of the Wild was basically an overhyped tech demo for Tears of the Kingdom.

load more comments
view more: next ›