[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games


View post   

File: 157 KB, 462x669, clever.jpg [View same] [iqdb] [saucenao] [google]
6238689 No.6238689 [Reply] [Original]

Can be discuss clever programming tricks/work arounds to overcome the limitations of hardware in old games?

>> No.6238702
File: 505 KB, 600x1739, 61b.png [View same] [iqdb] [saucenao] [google]
6238702

Cute, HOWEVER
https://www.youtube.com/watch?v=izxXGuVL21o

>> No.6240093

>>6238689
just bloom my shit up

>> No.6240136

>>6238702
>literally hack the hardware
>by executing software on a disc
A programmer should know better than to misuse literally this way.

>> No.6240320
File: 463 KB, 1000x1512, image.jpg [View same] [iqdb] [saucenao] [google]
6240320

>>6240136
He is probably a bad programmer.

>> No.6240352

>>6240136
I think he meant they literally didn't import some of the sony sdk libraries so that they could have more ram.

Also dynamically loading the stage in chunks, was one of the first games to do it.

>> No.6240365

>>6240136
>>6240320
did you even watch the video?

>> No.6240376

Recca uses a weird flicker where it doesn't draw anything for a frame. Normally you'd only draw half the screen every odd frame.
I really wonder what the fuck is going on

>> No.6240381

>>6240352
>Also dynamically loading the stage in chunks, was one of the first games to do it.
It's not even that, streaming level data off a disc is common. What they claim to have done cleverly was, because they knew what they'd need next since the player can only move forward and back through the data in 1 dimension, they optimised the layout of this data on disc to minimise the seek time.
But it's not terribly unique. Hell, in that same series by Ars they have the guy from Cyan worlds of Myst fame talking about optimising disk access patterns and he was a Hypercard flunky, not a real programmer.
I suspect someone at ND over-engineered some utility that would attempt to determine the mathematically "best" layout and was so pleased with himself that he never realised it was only 0.1% better than the obvious way to do it.

>> No.6240392

>>6238689
I read it sometime ago that SMB3's scrolling was quite clever hack since NES only support horizontal or vertical scrolling but not both at the same time.

>> No.6240432

>>6240392
It's not a software hack but a hardware hack. SMB3 had a special mapper that would rearrange the tile memory to facilitate 8-way scrolling. The NES was greatly limited by the hardware design and relied on cart mappers for just about everything. Most consoles you can hack around by creative use of software defined tiles but the NES offloaded that to the cart too.

>> No.6240448

There is a limited number of character slots in the code of FF6. To add the extra named moogles at the beginning they coded it so that they were effectively placeholders for characters you get later on, that would overwrite their character data.
This ultimately led to a rumor back in the day that you could get more than one moogle. While technically true! It requires you to do the airship glitch and bypass script triggers.
Which isn't really code wizardry. More of a "we forgot to subtract the "1" for onboard the ship when you go to floating continent. Didn't think to do any checks based on "game over" screen followed by save loading either... but the value remains and you get a ship whether your last save had one or not.
>this was patched in later versions/releases. Only applies to 1.0 of the rom.

>> No.6240459

>>6240381
You're not actually that far off. That's explained in some blog by Andy Gavin about the making of Crash.

>> No.6240781

Only example I can think of off the top of my head is in Metal Gear Solid 2. When Snake is outside in the rain, the drops splattering on his body are part of his character model.

>> No.6240793

I can't be the only one who thinks it looked better before they shat bloom effects all over it

>> No.6240869

>>6240381
They wrote a level packer and it was probably necessary since they mention times were they had to tweak level layouts to fit in the memory budget

>> No.6240885

>>6240781
That's a quite clever trick. I like these solutions that are so cheap yet looks perfect.

>> No.6240917

>>6238689
The development of Tomb Raider 2 used a level editor that allowed simultaneous testing and creation of a level

>> No.6240937

What the OP image describes is basically how bloom was done throughout the 6th and 7th gens. Extract the textures from a Wii/GC game and more often than not you'll see a ~64x64 bloom render texture.

>> No.6240957
File: 389 KB, 479x479, received_620817002017389.png [View same] [iqdb] [saucenao] [google]
6240957

>>6238689
>all of the colors are washed out
>more vibrant and appealing

>> No.6240962

>>6240381
ITT: jobless neckbeards try to argue against professional techniques

>> No.6241414

For me, it's how in Soul Reaver they used corridors with doors to make the transition between areas constant, making loadscreens scarce.

>> No.6241423

>>6241414
>corridors to hide loading
any game you can think of did that

>> No.6241440

>>6241423
Original God of War did that. Mass Effect was little bit more involved with elevator scenes

>> No.6241626

>LITERALLY just bloom filter
>"Clever programming trick"
>Wii game

Bait thread?

>> No.6241658

>>6241626
it's not about the effect itself, but how they did it

>> No.6241697

>>6240957
>more vibrant and appealing

they're talking about the top one, you barnacle brain

the bottom one is what it would look like without the programming trick

>> No.6241726

Most people here probably already know this one, but when you zoom the camera out enough in Mario 64 Mario’s model gets replaced with a lower poly one to save memory.

>> No.6241739

>>6240376

>Although it is a little-known game, Recca is one of the few games that pushes the hardware of the Famicom console to its limits. For example, the game shows sprites for effects (like explosions) at 30fps instead of 60fps to work around the sprite limitations of the system.[8] Another game to use this technique is Contra.[8]

https://www.wikiwand.com/en/Recca

>> No.6241768

Nintendo was the king of using weird V and H-blank tricks to achieve impressive visual effects. They did this a lot on both the SNES and GB

https://kemenaran.winosx.com/posts/links-awakening-rendering-the-opening-cutscene/

>> No.6241783

>>6241726
Like most 3D games.

>> No.6241884

>>6240352
No, that's not what happened. You have to load the entire Sony SDK code library in memory, but to find extra memory for Crash, he would basically take portions of the library you can use and chuck it out to free up the memory the library was using. That way, he basically "stole" the memory from the library and he would take it from various places and test to see if things would still operate, which is pretty ingenious and would never be allowed today under current coding practices and software implementation since that is a security risk.

Anyways, I think the most impressive stuff was on the Saturn, where they used blast processing with the dual processors and the DSP and the amount of shit you would need to do to go and do stuff effectively on it for optimized code.

https://www.youtube.com/watch?v=n8plen8cLro

Ultimately, it's a mistake made by console makers even outside the retro era where as the platform maker, you need to make things as simple and powerful as possible to the developers and keeping it that way will mean that you will have developers come to your platform even if it is less powerful.

>> No.6242043

>>6238689
I'm not sure I understand this image, are they talking about the Wii U version? Because the original looks like the bottom screenshot...

>> No.6242131
File: 941 KB, 800x521, Pokey_Park_RCT1.png [View same] [iqdb] [saucenao] [google]
6242131

Does this entire game count?

>> No.6242136

>>6242131
always wondered how that mother fucker made a 2d-3d video game. what a genius.

i miss the rct threads

>> No.6242370

Tekken 3 and Virtua Fighter 2 using the their system's interlaced modes to achieve 60fps.

>> No.6242381

>>6238689
skies of arcadia for dreamcast was too big to fit on cd-r discs at the time. so what a scene group did was compress the game and write a decompresser program that unpacks the files on the fly from the disc.

this makes the game fit on a cd-r with no content cut, but the result is longer load times having to wait for the game to unpack files in real time.

>> No.6242392

>>6241423
a _ton_ of games use this
if it's done competently, you don't even realize it
look up "portal rendering" too

>> No.6242398

>>6241768
v-blank trick == updating the screen
h-blank trick == enables virtually every special effect on retro systems

>> No.6242946

>>6242131
No if you don't explain shit.

>> No.6242953

>>6241697
Its literally the opposite of what your saying. The bottom shot has text under it explaining its the opposite. This effect is just a shitty bloom-like the game looks better with the original high-contrast.

>> No.6242961

>>6238702
I watched this the other day and it was honestly just depressing to think that I will never get to be there, back in the 90s, and that chances to participate in something like that are gone.
The business of technology today has almost nothing to do with the kind of clever eking out of performance that Andy Gavin talks about in that video.

It was such an exciting time and I want nothing more than to be able to contribute to something like that.

>> No.6242963

Anyone has that gif of a barrel leaking liquid in a clever way depending where you shot?

>> No.6242980

>>6238702
Why did she think opening her mouth wide and sticking her tongue out was suitable for a photo anyways?

>> No.6242984

>>6241414
I have never played SR, are there any videos showing it?

>> No.6243064

>>6242398
Didnt know this, I assumed it was a nintendo specific quirk because Ive never really found any documentation on other systems. I though the genesis did it all through brute force software rendering.

>> No.6243119

>>6243064
If you never found any documentation it's because you never looked. They were both standard features on nearly all old systems. Not quirks. Not even tricks. Unless you're the kind of person who'd be amazed by the trick where I use my powers of prestidigitation to magically make a nail penetrate a piece of wood using nothing but a simple hammer.

>> No.6243148
File: 49 KB, 655x560, 1258932955257.jpg [View same] [iqdb] [saucenao] [google]
6243148

>>6243119
JESUS FUCKING CHRIST I never claimed to be an authority on the fucking subject, you miserable piece of shit. I just said I have heard much about these programming "TRICKS" but somehow I've seen all kinds about how impressive it was on the NES and SNES.

You need to face it though, they're hardware tricks that everybody used just because they worked. I doubt the developers of the television standard intended people to do these things.

>> No.6243258

>>6242946
Entire game was made in assembly code if I remember correctly

>> No.6243521

>>6243148
But how could you have done all that research, searching for documentation and reading what you could find and not be an expert? Skimming a single blog makes the zoomer all knowing. And why would you insist they're "tricks that everybody used just because they worked" unless you had deluded yourself into believing you had a clue? And you're such an expert on "the television standard" that you know the people who developed it didn't intend future people to have computers millions of times more powerful than anything that exists at the time. Don't even try to deny that you're an authority on zoomer shitposting.

>> No.6243535

>>6242980
Because modern women.

>> No.6243547

>>6242980
Because Coco too pure

>> No.6243609

>>6243521
Holy fuck, end yourself.

>> No.6243626

>>6243119
>>6243521
You're a fucking idiot, Anon.

>> No.6243729

>>6243521
BASED actual autist with actual autism

>> No.6243743

>>6242136
>i miss the rct threads

I swear this board is one of the worst run boards on the website
>dude what if we autosage 2 week old threads for no fucking reason even though literally no other board has any issue with literal months old threads

>> No.6243894
File: 26 KB, 494x358, Good_Good_Let_the_Butt_hurt_flow_through.jpg [View same] [iqdb] [saucenao] [google]
6243894

>>6243609
>>6243626

>> No.6243927
File: 120 KB, 289x298, 1394508798814.png [View same] [iqdb] [saucenao] [google]
6243927

>>6243521
Can't think of a better use of this meme

>> No.6243947

"'Gorgar' was the first talking pinball machine commercially released and had a vocabulary of seven words."
The seven words would be mixed up into different sentences.
Black Knight also used the same technique.

>> No.6243978

>>6238702
Who can explain this comic?

>> No.6244053

>>6243978
I'm pretty sure it's supposed to look like a porn shot, but it seems strange that comic-tongue-poking-out-face bears any resemblance to fuck-me-face, in particular the eyes are suddenly half-closed in the latter frame.

>> No.6244127

>>6241726
Nope, never seen LOD in a game before 1996

>> No.6244265
File: 662 KB, 500x648, (You).png [View same] [iqdb] [saucenao] [google]
6244265

>>6243927

>> No.6244371

>>6241626
It's not just bloom. Bloom only emphasizes highlights, but not shadows. They indeed wrote a little post composite contrast/bloomshader, but it's not clever imho, it's standard procedure.

>> No.6244380

>>6242381
No that is clever. How did they inject their native program to run along with the main executable?

>> No.6244381

>>6242381
*Now that is clever ;)

>> No.6244387

>>6242381
Yeah and doesn't the audio stutter as well?

>> No.6244592

>>6244053
>the eyes are suddenly half-closed in the latter frame.
Have you never taken a picture of someone and in that instant you press the button they close their eyes? The same shit.

>> No.6244606

>>6244053
It's playing off the joke that sometimes pictures come out with a different, or unflattering, tone compared to the intention. The fact that /vr/'s response as a whole is struggling with a mild, female-centric tech faux pas speaks fucking volumes kek

>> No.6244616

>>6242381
the dc scene was pretty amazing all things considered, especially when they discovered the selfbooting exploit
that fucking spinning reindeer from the utopia boot disc will be forever stuck in my mind

>> No.6244671

>>6244606
I got that, but it seemed like it might also be a video game reference. But I guess it's not.

>> No.6247125

Bump and back on topic.

>> No.6247131

>>6242953
No it fucking doesn't. There are other games in the series that had to remove that effect and it was a multipurpose effect clearly. It raised contrast, softened aliasing, added AF clearing, etc. MHp3rd on psp then ps3 is an example.
Go and do some research, otherwise people itt need to keep shut.

>> No.6247134

>>6242963
Timesplitter 2 was the first game to do that that anyone would remember.

>> No.6247629

>>6247131
>Anon who can't understand the text on OP's image telling other people to do research

>> No.6247825
File: 81 KB, 695x879, Screenshot_20200306-215123_Brave-01.jpg [View same] [iqdb] [saucenao] [google]
6247825

*ahem*

>> No.6247935

The secret to Crash Bandicoot is that they used a pre-rendered depth buffer. It was a very clever idea, but not a genius bit of programming (no matter Andy Gavin’s puffery) because it comes with one enormous limitation.

You can’t adjust the camera angle, because if you did that the depth buffer values would be different, and there’s no way the PS1 can calculate new values in real-time fast enough to be playable. In a sense, this makes Crash partially like an a FMV game, although half of the rendering happens live on the PS1 console, meaning there is interactivity but within confines.

>> No.6248290

>>6247935
>interactivity but within confines.
You just described videogames.

>> No.6248298

the clouds in super mario are actually grass

>> No.6248683

>>6248298
You mean grass you smoked?

>> No.6248783

>>6247131
So the original 3D model had a lot of bloom on it that they had to write a script to remove? I'm not sure that's how 3D modeling works but I'm also not a gamedev. Also I find it interesting that in this article they put the After picture first and the Before picture after. Odd choice but glad you cleared up my confusion.

>> No.6248792
File: 30 KB, 600x340, marioc64_teaser.jpg [View same] [iqdb] [saucenao] [google]
6248792

>>6238689
The VSP Scrolling trick of some late C64 games (and of course demos) comes to mind, which allowed much faster scrolling than the hardware devs originally intended that additionally didn't even need much CPU load. It doesn't get any more bare to the metal than using well timed tricks to let the video chip do things it was never designed for. Well, most of these tricks exploited various hardware quirks of the C64 (and of course later on the Amiga too) to a point were it had to be timed right to a single cycle to work correctly. In case of the VSP the actual timing variations of various hardware components also could just crash the computer on some devices without additional precautions (in case of crashes using the VSP scrolling trick the DRAM is to blame).
https://www.linusakesson.net/scene/safevsp/
https://bumbershootsoft.wordpress.com/2015/04/19/variable-screen-placement-the-vic-iis-forbidden-technique/
https://bumbershootsoft.wordpress.com/2015/10/18/partial-badlines-glitching-on-purpose/
https://www.youtube.com/watch?v=DJgB7_02wXk

Also the latest Super Mario Bros port to the C64 makes heavy use of the VSP trick.
https://www.youtube.com/watch?v=6jIrR9Iqq4Q

>> No.6248812

>>6248783
He is fucking with you.

>> No.6249160

Solaris for the Atari 2600 is pretty nuts
https://lparchive.org/Solaris/Update%2009/

>> No.6249163

>>6247935
For what purpose? To make texture wobble less noticable?

>> No.6249168

>>6248792
Woah, thanks for this.

>> No.6249192

>>6249163
The ps1 has no depth buffer, so software needs to figure out what polygons should be displayed on each pixel according to their depth. This can be done with various strategies e.g. sorting, painter's algorithm, bsp trees or other data structures, but they all have costs associated with them. Crash avoids all of this by fixing the camera along a certain path, and on a separateccomputer they calculated which polygons are visible for each camera position, and bake that information into the level on the cd. Then the ps1 just renders those polygons (the precalculation likely has to split polygons, or it specifies a render order with some overdraw) without spending any cpu time to do the work itself.

>> No.6249252 [DELETED] 

>>6249192
I farted.

>> No.6249578

>>6247131
You are completely braindead. Good god, do you have any idea how to read? Do you even know how post-processing works? The bloom affect was clearly added afterwards because at the time it was trendy to have a hardon for bloom even if it made the game look like over-exposed shit.

>> No.6249587

>>6243978
Furfaggotry

>> No.6250108

>>6247825
Where did you get this picture of my wife?

>> No.6250339

>>6249163
>For what purpose? To make texture wobble less noticable?

That, but also so they can focus on max graphics. The stages are very confined and narrow to show off as much graphical prowess as possible. As soon as something's off screen it's not rendered. now compare that to spyro or something where you h ave to render shit in 360 degrees around you? damn much harder.

>> No.6250365

>>6243258
a bit pendantic, but there was directx wrapper code written in C if i'm not mistaken.
Which doesn't matter too much, really, all the interesting stuff (physics etc) was written in x86 assembly

>> No.6250923

>>6249163
They could increase the draw distance substantially to avoid having pop-up or hiding everything behind atmospheric fog. Which is ironic because the Crash Remake just brought the atmospheric fog in because it's a lazy dev trick to make the foreground stand out.

>> No.6251167

>>6238689
>over brighten shit for no reason is good
dev was dumb.

>> No.6251173

>>6243521
>>6243729
this is why i love autists. but they butthert the zoomer retard hipsters to.
>>6243927

>> No.6251180

>>6244053
>what is blinking

>> No.6251392

>>6240320
he's dropped his phd to work on crash you retard

>> No.6251438

>>6241697
>they're talking about the top one, you barnacle brain
go back and read it again. based on the captions for the pictures, top is the original, and bottom with the washed out colors is after post-processing.

>> No.6251439

>>6240448
FF7 did the same thing. Sephiroth and young Cloud get overwritten as Vincent and Cait Shit

>> No.6251926

>>6238689
I fucking HATE that BLOOM GARBAGE

HOW DOES RIGHT NOT LOOK WORSE THAN LEFT? REEEEEEEEEEEEEEE

>> No.6252883

>>6251926
Wrong https://m.youtube.com/watch?v=4KmmKJquklE

>> No.6252940

>>6242961
>I watched this the other day and it was honestly just depressing to think that I will never get to be there, back in the 90s, and that chances to participate in something like that are gone.
I had this same exact feeling the other night when watching live videos of Kyuss in 1992.

>> No.6253513

>>6252940
I've tried to explain this feeling since I've had it, and they all misunderstand me and think I'm just saying that I "want to work for video games." (which could not be farther from the truth)

>> No.6253569

>>6242961
>>6253513
Your best bet is to work on embedded systems. These are the computers inside shit you wouldn't even think would have a computer. They're made with the cheapest materials available and thus have basically no resources. A lot of programming gods, like Chris Sawyer, came from this line of work. I suspect it's still pretty big today, although I think corporations are starting to kick out all the freelancers.

>> No.6253779

>>6251926
Bloom is the most overrated effect of all time. The only times its used tastefully is if its imperceptible which I have never seen a gamedev operate the restraint to do.