[ 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: 3 KB, 320x200, 1387350497623.gif [View same] [iqdb] [saucenao] [google]
1281256 No.1281256[DELETED]  [Reply] [Original]

Let's talk about hardware and software tricks games used to overcome hardware limitations or become part of the games design. This is something that always intrigues me.

>Atari 2600 games with more sprites than thought possible
>Dithering as shading
Things like that are what I'm talking about
What tricks intrigue you?

>> No.1281305

I'm not sure if this counts, but several NES games used more than one palette to give the impression that the sprite has more colors. For example, Mega Man's body is one palette of blue/cyan/black, while his face is a different palette of black/white/beige. While Mega Man is a commonly cited example, I have traced this trick as far back as 1986's Trojan.

The "Big Mode" in Predator (NES) is also interesting. Arnold is actually a background image, while the bubbles and platforms that fly around are sprites. What's impressive is how (relatively) free his movement is, especially when he's binded to a lower scrolling background.

Speaking of background graphics, Thomas in the NES version of Kung Fu is a background object himself, and is attached to the floor. Because he is his own plane, there can't be any more background graphics, which other versions had. Everything else is a sprite, and is possibly the only action game on the NES with no flicker.

>> No.1281308
File: 12 KB, 320x224, sonic-water.png [View same] [iqdb] [saucenao] [google]
1281308

In some megadrive/genesis games (sonic games for example), they would switch over to the shade/highlight mode mid-frame to make water darken the background tiles.

>> No.1283243

>>1281305
Yes, this is exactly the kind of stuff I'm talking about. Haven't heard that before, so very interesting.

>> No.1283328

In Final Fantasy VI, the reason that Kefka sometimes appears as an animated character sprite and sometimes appears as a larger, static monster sprite is that there is a limit on how many animated sprites can appear during battle sequences. (I don't recall if this is a memory issue or simply a hiccup in the engine, however.) Specifically, since you'd normally only ever have four characters in a battle, there can therefore only ever be four character-style sprites. In scripted battles in which the party will consist of three or fewer characters, Kefka gets a sprite with attack and spellcasting animations and takes up the fourth slot. If the game knows that the party will (or could) have four characters, he receives a sprite from the monster data.

As for why they'd bother to go to all this trouble when he could just always get a static sprite... eh, I dunno. Maybe the character-style sprites were all already made and they couldn't bear to cut them despite the engine's limitations.

A rumor has persisted that the existence of Kefka's "party" sprite means that he was supposed to be a playable character at one time, but people involved with the game have consistently debunked this.

>> No.1283592

The reason the original Space Invaders sped up was because of a programming bug (less enemies let the processor lag less).

>> No.1283674
File: 42 KB, 480x360, Battle Chess on the NES.jpg [View same] [iqdb] [saucenao] [google]
1283674

Can anyone explain this to me? I'm under the impression that if there are more than 8 sprites on a scanline, it will cause flickering, and that only sprites can have transparency, not background tiles. So if the chess pieces were sprites there would be a lot of flickering, but if they are background tiles, how can you see the pieces that are behind other ones?

>> No.1283708
File: 14 KB, 640x480, 1355778558961.gif [View same] [iqdb] [saucenao] [google]
1283708

>>1281256
magic dithering.

>> No.1283713
File: 447 KB, 1920x1080, DOSBOX 2012-12-09 18-18-47-37.jpg [View same] [iqdb] [saucenao] [google]
1283713

>>1281256
Commander Keen and folllowers. (scrolling on poor processor).

>> No.1283718
File: 482 KB, 1920x1080, gzdoom 2013-03-14 21-51-19-82.jpg [View same] [iqdb] [saucenao] [google]
1283718

Doom Isn't really "3D". You actually can't have tunnel, real bridge or shit like that because all the mapping is done in 2D where you add depth on parts.

>> No.1283804
File: 1.16 MB, 2048x1152, 1387468441814.jpg [View same] [iqdb] [saucenao] [google]
1283804

>>1281256
>>Dithering as shading

Some games still do that. The Witcher 2 uses it to soften edges of shadows. I think it looks awful.

I know, not retro, whatever.

>> No.1283814

>>1283592
Wouldn't that mean you and your bullets also sped up?

>> No.1283981

>>1283814
Not if the bullets and player speed were slowed down accordingly.

>> No.1284375

>>1283674
Often in difficult situations like this devs would simply "draw" the sprites onto the background tiles like a bitmap display. It was CPU intensive but it was a far easier and cleaner method than other sprite multiplexing tricks if you could spare the cycles.

>> No.1284406

Most 8 & 16 bit consoles and home computers were based on the same rough design. You had 8x8 tiles for the backgrounds and you built a screen out of a 40x25, 32x24, 80x20 etc. character map where each character was an index into your tile map. You then had sprites that could be drawn on top of or behind the background tiles. Colours were based on software defined palettes where you'd have say 8 "palettes" of 3 colours + transparent or off. This was enough for simple games but got limiting fast, so the way that every game worked around it on every piece of hardware that supported it was a thing called a raster interrupt or H-Blank interrupt.

In a nutshell, at the end of each scanline there was a brief period where the video chipset does "nothing" while waiting for the CRT scan beam to return to the opposite side. During this period MOST hardware would allow you to change just about ANY video register. So you could change colours, sprite positions, background scroll offsets, tilemap data, anything that you could manage to squeeze into the short period between scanlines. So while a C64 only had 8 hardware sprites, in reality that was 8 PER LINE. If your game logic could manage a sprite list well you could have hundreds of sprites visible per frame. Hardware can't scale? Well you can stretch sprites or backgrounds vertically by trivially bumping the scroll offset each line based on a sine wave or whatever for very cool warping effects. Hell, the 3D effect in Mario Kart was actually a raster trick, the scaling and rotation hardware in a SNES was only capable of stretching and rotating the background flat on to the screen, but if you supplied a different warp vector per scanline you could quite effectively attain a perspective correct infinite plane.
...continued...

>> No.1284436

>>1284406
The SNES and MegaDrive (and probably others) actually allowed you to have a MID-scanline split. Very few games used this as it was tricky in practice. There was a DragonBall game on the megadrive that used it to created vertical and diagonal screen splits. Very cool.

The C64 was my childhood so I know a bit more about that than others. The VIC-II video chip had a few glitches, two of which could be put to very good use. The C64’s display was 320x200 surrounded by an inch or so on all sides of a single colour border. You could set this colour, and again RE-set it every scan line, this was why it flashed colours during loading screens because it was a very cheap effect to show something was happening. Anyway, by changing a register at the “wrong” time you could confuse the hardware into NOT drawing the border mask. This would allow you to place sprites outside the 320x200 real screen and giving you a much larger screen space. Creatures 2 used this to extend the backdrops and add touches like flying birds or a shimmering sun.

The second glitch was even more useful. The background on a C64 could only be shifted right or down by 7 pixels maximum. The idea was you scrolled 1, 2, 3… up to 7, then you went back to 0 and rewrote the entire 40x25 tile map one character over. Naturally this was CPU intensive. Some clever dudes stumbled upon a glitch where the hardware could be confused into starting to draw a variable number of tiles INTO the tile map. This gave you the same large scroll buffer a SNES had. Mayhem in Monsterland used it to great effect to get Sanic speed scrolling in a 2D platformer.

>> No.1284465

>>1284436
But to return to the Atari 2600 that started this thread, for it, a raster interrupt wasn't a cool trick to show off your graphical chops, it was the ONLY way to display anything!

Y'see, the VCS had only a few BYTES of VRAM, not enough for anything more than a SINGLE LINE of graphics. So by default a VCS game is just a series of vertical lines and nothing else. The idea was you reset the registers EVERY SINGLE GOD DAMN LINE to make a pink, green and brown pitfall harry stand on a sandy coloured floor over a pit of crocodiles.

Your background was 2 bytes IIRC giving 16 pixels stretched across HALF the display. You could choose to mirror that for the other half or flip it so either the left or right was blank. Again, remember that this is changeable per line so you could have a tree on the left, the below that a full width ground, then below that a rock on the right, etc.

You also had 2 "sprites" which was 1 byte each, so 8 pixels wide. However because you set on/off, colour and date per line this means your vertical height could be anything. Plus when you move the X offset per line, you could make it appear like you have loads vertically as long as no more than 2 appeared on any one line.

So how did Pitfall have 3 barrels coming at you? Well the hardware DID allow you to make 2 or 3 IDENTICAL copies at a fixed near or far offset on the same line. Handy.

Finally, there was 2 "missile" registers and a "ball". They were really only useful for line graphics and were more a holdover from the pong console that the VCS evolved from. Not useless, but hard to put to use.

If you want more than 2 different sprites per line what you'd do is alternate displaying set 1 and set 2 per line, then invert the order next frame. So you'd essentially 30Hz interlace the graphics. If you were a lazy fuck you'd just flicker the sprites like in pacman, but that was horrible.

>> No.1284482

>>1284465
Palette cycling was another awesome hack. In Square stuff like Secret of Evermore certain magic effects would cause the enemies to ripple through red/orange or other colours. This was done by drawing the sprite with palette indexes in a radial sequence then rotating the colours within the palette registers. So you could make ripply colour effects by doing nothing more than writing 8 bytes to a video register per frame.

Similarly you could rotate the DATA in a tile to fake scrolling. 8 bit consoles/computers pretty much all only had one background, so if you wanted a parallax background that moved slower than the foreground you could use raster tricks, yes, but you could also redraw the tiles with 1 pixel offsets and it would give the illusion of having 2 or MORE backgrounds!

I could go on for hours and hours about the 2D hardware tricks we used to use. Modern OGL/D3D is SO BORING for us old 6502 ASM hackers :)

>> No.1285307
File: 79 KB, 560x419, 1348147936096.jpg [View same] [iqdb] [saucenao] [google]
1285307

I find this thread really goddamn awesome and interesting. Is there any site where I can read up on it?

>> No.1285340

>>1285307
Sorry, I got nothing else, just wanted to say that it's been nearly a decade since I've seen that picture and it's still hilarious to me.

That was pretty much my experience with UO. And when you left towns? You got murdered by everything.

>> No.1285392

>>1281305
I think that trick is older than that. I think Ghosts N Goblins was the first to do that, and this was by Micronics of all people.

>>1283674
Strategic use of color. Pay attention. The chess pieces are all black/beige/red/blue. The NES can display four background palettes of three colors each plus transparency. This uses just one for the main play area, with one of them being the alpha, always on color, most commonly black. All of the chess pieces use the same color palette, which is the biggest limitation of the NES' background graphics, and each chess piece sits inside a 16*16 pixel area, the minimum space the NES can assign a background palette to. The overlaying graphics are basically redrawn graphics, possibly containing hundreds of variations.

>>1283592
>>1283814
>>1283981

Either that, or if the aliens and player ship used a different processor. In the NES version, because it can't display that many sprites without flicker, the aliens are drawn as background images, and move every few pixels. An NES game where a sprite (bullet) interacts with a background that always changes (aliens) is supposedly very difficult to program.

>> No.1285393

>>1284482
Yep, palette cycling was pretty much a bread'n'butter technique for game designers back in the day. It was the most computationally inexpensive way to draw flowing water and flickering flames.

>> No.1285443
File: 226 KB, 850x1202, Metal Black flyer.jpg [View same] [iqdb] [saucenao] [google]
1285443

One thing that's been impressing me a lot lately is developers using a single large background texture with Mode 7 to simulate parallax, instead of drawing a ton of layers and scrolling them individually. Taito did it in a fair bit of their games starting with Darius II or so. I guess it doesn't look so good in Terranigma but Taito used this trick masterfully. I think I've seen it before in one of the Donkey Kong Country games as well used to simulate a waterline. I'm surprised I don't see it more often, I think people just sort of chucked Mode 7 out the window after the SNES. It looks good and can be very hard to discern from tons of parallax layers if done right. If I ever made a 2D game I would definitely try to do something with it.

Another very cool example of Mode 7 is used in a wave effect on water in IREM's Fire Barrel.

>> No.1285464

>>1283718
This is quite incorrect and I'm always surprised to hear people say it. Yes Doom has many limitations on its engine but it IS 3D because most enemy projectiles as well as your own ones that aren't hitscan do have their own three-dimensional vectors. How many times have you managed to be safe under something as it flies over your head? Doomguy and the enemy sprites are infinitely high as far as they can interact with each other, but there is a definite, true height when it comes to projectiles.

>> No.1285481

>>1285443
>blah blah mode 7 mode 7

You have no idea what you're talking about.

>> No.1285483

>>1285481
Care to explain to me what I'm confused about instead of being a dick?

>> No.1285484

>>1285307
I always wanted to play Ultima Online. Just found out it's still going. If I signed up to play now, for the first time, would it look like that, or would it be updated and aping W.O.W.?

>> No.1285489

>>1285443
I am not sure what the exact appropriate term for this effect would be, but Mode 7 was specifically a graphics mode of the SNES. I don't think it would be correct to call all such transformations to be Mode 7 effects.

Anyhow, Metal Black looks fucking awesome.

>> No.1285493

>>1285489
Ah, I wasn't aware that that's only what it was called on the SNES. Does this sort of trick where you present an angled or warped 3D plane as the background have a general name otherwise? I like it because it can retain a 2D game's 2D aesthetics while being a 3D trick in itself. Once I realized what it was in Darius Gaiden I started looking for it elsewhere and am noticing it all the time in older games now.

>> No.1285497

>>1285307
What game might this be in your picture?

>> No.1285504

>>1285497
Ultima Online.

>> No.1285512

>>1285504
Then why don't you answer my question >>1285484

>> No.1285541

>>1285504
Is it worth playing?

>> No.1285563

>>1285512
>>1285541
Fuck if I know, I haven't played in ten years.

OH JESUS IT'S BEEN TEN YEARS I'VE WASTED MY LIFE

>> No.1285564

>>1285563
I just registered for the free trial and installed the fucking software under "classic". I'll soon find out if it looks like the screencap of the rude neighbor or not.

>> No.1285581

>>1285564
Yeah, that's the classic look, alright.

>> No.1285583

>>1285581
Are many playing? I'm tempted to play it myself. I love classic RPGs, I never knew ultima was online though.

>> No.1285840
File: 856 KB, 1600x900, uo.png [View same] [iqdb] [saucenao] [google]
1285840

>>1285564
I did it, but this game is hard to get the hang of. I don't know where all the real players are, or what I'm supposed to do, or how to do stuff.

>> No.1286137

>>1285840
When near a bank, say BANK to open your storage box. To trade with a vendor, say vendor sell, or vendor buy. Or use an all-purpose macro like "Press ctrl+v to say Vendor, buy the bank guards some weed so I can rob it!"

You can also train skills from vendors. Moonglow cemetary is a good place to grind on the undead and goddamn mongbats.

I haven't played since.... wow, 2000.

>> No.1286464

>>1285493
Y'know, I made one of those where I worked and damned if I can remember what we called it. I think we just called it a parallax floor. Basically you got the artist to draw a very sharp perspective floor or sky or whatever. Then you made a pixel offset counter for every line. So say you wanted the top line to scroll at 1 pixel per frame and the bottom to be double that, you'd have the top x=x+1, the next x=x+1.01, x=x+1.02, and so on. It was all done with fixed point of course, but the end result was a very cheap texture skew effect.

Mode 7 specifically referred to the SNES graphics mode 7 which was the more useful of the two scaling and rotation modes. It was special because it allowed you to take a top down flat texture and skew it any way you liked to create a true 3D flat plane. The hardware didn't do all the work, you still had to calculate the vectors every line, which is why many SNES games had a DSP to help. This DSP was originally meant to be part of the base console but that's a different story. I forget the other SNES gfx modes, there was a hi-res one that let you have a 512x224 or even 512x448 display. Mana used that for the menus I think.

I believe the reason "Mode7" has become synonymous with that effect is because while other hardware had scaling and rotation even before the SNES, that ability to reset the scaling vector per scanline was somewhat unique. The Neo Geo could rotate its massive sprites but you never saw Neo Kart did you?

>> No.1287181

In the Pokemon games, you can see some sort of technical tricks they pulled off.

In Gen 1, the protagonist's hat is actually a sprite that sets on top of his head. This is especially obvious when you play it in a GBC. Reason for this is because the enemy trainer/Pokemon and your character share the same background, but they scroll in opposite directions. Gen 2 protagonist looks a little squished to make everything background based, though it's a moot point as there'd be no way of knowing if there was a sprite or not unless you used a debugger.

In Gen 1, when Pokemon did "sliding" moves like Low Kick, they actually "scrolled" 8 pixels at a time, or their sprite was redrawn by shifting the tiles over. They might have had different graphics for the attacks, like the tiles were off center by 4 pixels. This was how they were able to keep the lifebar present when attacking, which was changed in Gen 2. They made sliding attacks scroll more smoothly, at the expense of making the lifebar disappear. If the lifebar was still present, the lifebar would move along with the Pokemon's attack.

>> No.1287204

>>1283713
what games is this?

>> No.1287228

>>1287204
Bio Menace.

>> No.1288606

Bio Metal on the SNES has gained notoriety for it's awkward, quintessentially 90's soundtrack by 2 Unlimited, including the "football playoff" song. But what's impressive is how this game can pull off so many sprites, roughly on part with the Genesis, with negligible slowdown, a problem the SNES is notorious for.

http://www.youtube.com/watch?v=0qGveO30D0U

Usually, some games might use extra cartridge hardware to aid in the processor handling all of this. Sometimes they relegate some enemies to a background layer, to give the impression there's more on screen. This game does neither, supposedly the trick lies in the programmers using 16-bit math as opposed to 32-bit math.

>> No.1288634

>>1288606
Bio Metal definitely has slowdown, not sure what you're talking about. Phalanx's sprite number is much more impressive in my opinion. Funny mode feels like a bullet hell game.

In fact that only SNES shooter with no slowdown I can really think of is R-Type III.

>> No.1288671

>>1288634
For an SNES game, and with so much going on screen, it's worth something. And it'd be cheap to say R-Type 3 has no slowdown, considering there's barely 10 enemies on screen at a given time. The NES could do that with no slowdown.

>> No.1288690

>>1288671
It really isn't though, Bio Metal has assloads of slowdown. Try playing it on Hard mode and you'll notice it right in the first stage, and very significantly on the second.

>> No.1288867

>>1285484
It's still the way it always was, plus a few additions. It's kinda hard to get used to if you're used to the more modern concepts of death and respawn. If you're outside of town, another player can come in and murder you, and take your stuff. While it's not specifically hard to control, you have to get used to typing commands or using macros for most actions.

>> No.1289067

fog in early 3D titles - visual atmospheric effect reduces draw distance

a link to the past basically reusing the Light World map to serve as the Dark World

>> No.1289089

>>1285840
Ultima Online was the greatest sandbox MMO ever.
Having said that, it has been destroyed over the last 10 years by patches and expansions that removed all the elements that made it so legendary from 1997-2001ish.

If you play it now on EA servers, you are not playing the UO everyone remembers.

Want to play real UO?

http://inporylem.com/

Launches January 21, 2014. Oh my god its gonna be sweet.

>> No.1289091

>>1289089
erm I mean launches January 11th, 2014

>> No.1289115

>>1289067
>The Light World and Dark World are almost exactly the same
YOU DON'T SAY?

>> No.1290108
File: 18 KB, 500x375, STtext.png [View same] [iqdb] [saucenao] [google]
1290108

>>1281256
The Atari 2600 had no real way to display text. One of the first attempts to over come this was to display alternating lines that would produce the illusion of solid letters. If the display is frozen, you get what is in this image. Later methods using a faster refresh rate worked better.

>> No.1291475

Surprised nobody has mentioned this game yet (even when I see it posted from time to time).

Summer Carnival 92 Recca still surprises me to this day.
With the use of flickering, it manages to make the player face way more sprites on screen than the ones the NES/FC actually allows, with no slowdowns at all (for some reason, some emulators gives you slowdown but on the real machine it doesn't happen). In some stages it also makes the use of parallax scrolling raster effect, not sure if that's the correct term but damn it does look impressing with all the crap happening along with it.

And as final touch, most of its BGM are around 7 minutes long.

http://www.youtube.com/watch?v=4Kfr-QFudqk

>> No.1291705

>>1291475
Not only that, the game runs perfect on PAL consoles. (including with it's graphical effects, just a little slower)
Allot of NES NTSC games (which are much more simpler) doesn't run well on a PAL NES, or aren't playable at all.

>> No.1292880

>>1291475
It actually flickers because there's too much visible in a single scanline, which is 8 sprites per scanline. Flicker also happens to make "unimportant" graphics like player bullets and explosions less important to see. Slowdown does happen, though it's pretty rare.

>> No.1292923

>>1291475
Recca was CRAZY. I'm just disappointed that I suck at it so much. I didn't expect an NES shooter to be so damn fast.

>> No.1293840
File: 41 KB, 640x400, ohUsttk.gif [View same] [iqdb] [saucenao] [google]
1293840

Some older games had some pretty interesting compression artifacts. For example, some FM Towns games like Cosmic Psycho have this interesting cross-stich pattern, which is made by throwing away every other line so the file itself is half the size, then filling them back in by alternately copying the pixels from above and below when it's actually displayed.

>> No.1293847
File: 17 KB, 640x400, 1387121052866.png [View same] [iqdb] [saucenao] [google]
1293847

>>1293840

And the other option is to just throw away every line and just leave it black when it's displayed, like some PC-88 and 98 games do.

>> No.1295362

>>1293840
That's a PC-88 game, which had a resolution of 640x200 which was then doubled (with black lines) to 640x400. The Towns ports typically letterboxed them to 640x480.
If you look carefully you will realize that image only used the 8 basic colors. The pattern dithering used to give the illusion of bigger color depth

>>1293847
On the other hand uses the option for 8 out of 512 colors offered by V2 mode.

>> No.1295370

One of the most fascinating to me is the fact that the N64 and PS1 had no 2D Capability in it's graphics processing at all and the PS1 had some very limited onboard memory. So companies had to use a method of Raycasting sprites onto 3D Models to have them display and essentially "Cheat" the system.

Some developers got incredibly clever in their usage, like Treasure, who used 3D Models as "Pivot points" in Mischief Makers that allowed for them to animate characters fluidly without sacrificing sprite detail by mapping sprites to multiple 3D models and rotating them as needed. Fighters Rakuga Kids and Clayfighter 63 1/3 used 3D Backgrounds to produce less work on the background and dedicate more memory to the claymated sprites (Clayfighter 63 was a terrible, terrible game but the amount of clever tricks it used regarding the N64 was very clever. They used the cart space and instant memory access to make sprawling battlefields that you could knock characters across in 5 stages. Just a shame the rest was absolutely atrocious)

>> No.1295371

>>1293840
that's actually a neat trick

>> No.1295378

>>1293840
It seems like developers for the PC88 didn't give a shit about saving space. They'd throw in two floppies for the opening alone and sometimes another two just for the ending.
Towns used CDs so space was a non-issue.

>> No.1295625

This is music related. Many European sound programmers in the NES era opted not to use DPCM samples for their music. Instead, to recreate the sound of a bass drum, they used what's referred to as a "Triangle Kick", a quick downpitch of the Triangle wave combined with a soft noise burst. Here's a song with DPCM drums.

http://www.youtube.com/watch?v=5UqXbEwqwF8

Here's a song with Triangle Kicks.

http://www.youtube.com/watch?v=m1DjuTPpZ8s

>> No.1295659

>>1295625
To add to that, Sunsoft decided to adopt that trick, and use the remaining DPCM sample for DPCM bassline samples.

http://www.youtube.com/watch?v=2BDAJS_8RSA

Unfortunately, their triangle kicks sound kinda bad compared to European ones, they go "dew dew dew" instead of a short, crisp "bup bup bup".

>> No.1295682

>>1286464
>The Neo Geo could rotate its massive sprites

you mean scale? no?
i've never seen a rotation in any neo game and i have a huge hardon for everything snk

>> No.1295895

>>1295682

Try Super Sidekicks 3 and Neo Geo World Cup 1998 for examples

>> No.1295962

>>1295625
>>1295659
C64's soundchip was much better for drums since all channels could use all waveforms (ie. you could have first few ticks/frames of an instrument to be noise and the rest whatever you'd want (pulse, triangle, saw or even the hybrid waveforms that mostly worked only on SID 8580). You could fill all the blank spaces of the channels with all sorts of instruments instruments, so good composers could make it sound like there were 4-6 channels even though there were really only three.

>> No.1296372

>>1295962
The SID is lightyears more advanced than the 2A03, at least when utilized properly. Not to say the 2A03 is bad, it has it's own strengths, but hard to compare the two when not many people made music for both. And the ones that did, their styles changed drastically to accomodate the NES. While the Immortal is an impressive soundtrack for the NES, Hubbard's C64 work destroys it entirely. Then again, he only did the soundtrack to two NES games, compared to hundreds of C64 games.

>> No.1296410
File: 75 KB, 516x500, 1381630691112.jpg [View same] [iqdb] [saucenao] [google]
1296410

>>1286464
>The Neo Geo could rotate its massive sprites but you never saw Neo Kart did you?

>mfw imagining chibi versions of the KOF and Twinkle Star Sprites crews burning around King of Monsters-themed city courses and through Metal Slug's jungle tracks

>> No.1296437

Anyone know exactly how some Genesis games managed up to 256 on-screen colors when the nominal limit is 64 of a 512-color palette? Is it some kind of dithering or a programming trick?

>> No.1296447

>>1296437
update CRAM after hblank interrupt

>> No.1298684

>>1286464
>Then you made a pixel offset counter for every line

"Linescroll" or "rowscroll" are the usual names for this technique. I think the Pole Position arcade hardware was the first thing to use it (for the road of course). A ton of different arcade hardware has fixed-function linescroll registers, as does the Megadrive. Basically you have an array of individual scroll registers for each scanline, instead of one set for the whole screen. On the SNES you use HDMA to change the scroll registers between lines. On the NES or the Gameboy you need to use a raster interrupt.

>NeoGeo
The NeoGeo can't rotate sprites, it can only scale them. If something appears to rotate in a NeoGeo game, it actually has every possible orientation pre-stored in the graphics ROMs.

Another interesting thing about the NeoGeo is that it only has a single tilemap layer that has a very limited number of colors and doesn't even support scrolling. The tilemap is basically only useful for the score/lifebar display. Scrolling backgrounds on the NeoGeo are actually made out of sprites--you can link together an arbitrary number of sprites so that they all move (and scale) as a unit.

>> No.1298696

>>1286464
>The Neo Geo could rotate its massive sprites
Citation needed. The English-language developer's manual was leaked recently and mentions nothing about rotation.

>> No.1298708

>>1295370
PS1's GPU is exclusively 2D. It's an affine triangle-based texture mapping engine. Triangle drawing makes it usable for rough 3D scenes but the GPU itself has no concept of depth. It even has (fast!) drawing commands for unscaled sprites if you're into that kind of thing.

>> No.1298717

>>1296437
Changing the palettes during scan-out. You've got a short window during horizontal blanking when you can alter the Color-RAM with no artifacts

>>1296447
>Think I've got colors changing with no CRAM dots
>Play on an old RGB computer monitor
>Noise all over the left side of the screen
FUCK

>> No.1298753

>>1284436
>The SNES and MegaDrive (and probably others) actually allowed you to have a MID-scanline split

There's only one commercial game on the SNES that does mid-scanline raster effects: Desert Fighter (known as Air Strike Patrol in North America). Because of this, the only emulator that runs it with 100% correct graphics is the accuracy build of bsnes.

The DBZ games on the SNES achieve their diagonal screen splits using Mode 0 (which has four independent scroll layers) and clip windows. The "1P side" of the background is on layers 1 and 2, the "2P side" is on layers 3 and 4, and the clip windows control which layers are visible on which part of the screen. The lifebars, etc. are composed of sprites, as is not unusual in 1-on-1 fighting games.

I'm not that familiar with MD games or programming, but I wouldn't be surprised if software tricks like mid-scanline effects were commonly used to compensate for the limitations of the video hardware compared to the SNES (no clip windows, only 2 scroll layers, relatively small palette)

>> No.1298763

>>1298753
Genesis had a single window, which could replace scroll plane A. It wasn't free-form, though - you specified a single horizontal and a single vertical bound, in 8px and 16px increments respectively (1- and 2-character precision).

>> No.1298767

>>1298753
The Genesis has a line-buffer into which it renders the sprites. I don't think you could do mid-scanline sprite effects, for that reason. It's difficult to even do per-scanline sprite effects, because the first 4 bytes of each sprite (the vertical position and size) are cached, and this cache is broken (doesn't respond to VRAM-VRAM copies or changes in the sprite table base address). Total pain in the ass.

Never tried moving the background planes mid-scan. If you try to change palettes you get "CRAM dots" because the CRAM isn't dual-port so your access stomps over the scan-out.

>> No.1298790

I don't know how it's done, so sorry if this doesn't fit.

There are plenty of NES games that can scroll in two methods, horizontally and vertically. Some games, like Metroid, make the game scroll either vertically or horizontally, never both. While it is possible to incorporate dual scrolling ala Mario 3, the side effect is that there'd be image artifacting at the sides of the screen. To date, there are only two NES games that have dual scrolling without image artifacts. Gauntlet and Rad Racer II, neither of which work properly on clone hardware. In fact, in RR2's case, it can burn out the hardware because it pulls data from an unconnected pin, or something to that extent.

>> No.1298820

>>1298790
>image artifacting at the sides of the screen in Mario 3
Thanks for explaining this. I always wondered why you sometimes see glitchy sprites at the edge of the screen sometimes, and most people I've talked to never even notice it.

>> No.1298823
File: 8 KB, 256x224, btdd-2.gif [View same] [iqdb] [saucenao] [google]
1298823

This stage in particular with the pseudo-3D scrolling always gets me just staring at it instead of concentrating on actually playing.

>> No.1298835

>>1298820
The plain old NES hardware only supports a single 256px-wide scroll plane, on the 256px-wide screen. So, there's nowhere to cleanly put new data as you scroll the screen (you might see a bit of the left side scroll off and wrap around on the right before it gets overwritten, for example). Raster tricks can fix this, though.

>> No.1298843

>Genesis had a single window, which could replace scroll plane A

That sounds more like the Gameboy's version of a "window" than what the SNES has. On the SNES the "window" isn't a layer in itself, rather it's a set of registers that specify two different horizontal pixel spans (minX - maxX) in which elements of the screen can be selectively disabled or "clipped". Each screen layer (up to four scroll planes depending on mode, plus the sprites) can be set to be clipped by either one of the two windows, or by a logical combination of both windows (AND, OR, or XOR) You can also disable color blending via the window; this can be used for a "spotlight" effect.

Note that the clip window registers only specify X coordinates, not Y coordinates. Rather than providing a fixed rectangular window, you can use HDMA to change the clip window coordinates per scanline to make windows of almost any shape you want--diagonal, triangular, circular, etc.

>> No.1298863

The N64 had a hard 4KB per texture limit, which is 64x64 RGB or 128x64 monochrome. You can improve texture resolution increasing the number of texture calls and blending textures together, which eventually became a popular technique, but Rareware came up with a novel method in Goldeneye where some textures just use the monochrome 128x64 variety, and then painted with the vertex shader to give it a little color. You can see this being used on the walls of the Aztec level, where some of the textures look pretty good.

Relatively high-res for that generation AND filtered unlike PSX.

>> No.1299046
File: 55 KB, 360x270, bgRenderingRangerR210.gif [View same] [iqdb] [saucenao] [google]
1299046

>>1288606
Rendering Ranger R2 is equally crazy in that department and some of the areas had dozens upon dozens of sprites at the same time with no slowdown or flickering.

>> No.1299102

>>1299046
The SNES video hardware supports 128 sprites on-screen, 32 on any given line, with no special trickery. The problem is actually doing something useful with that many sprites - the CPU is a bit slow compared with the Genesis, and wasn't as well-known to programmers at the time.

>> No.1300951
File: 15 KB, 320x240, conker_03.jpg [View same] [iqdb] [saucenao] [google]
1300951

How was this possible on N64?

>> No.1300953

Can someone explain why the rightmost column of the screen in Super Mario Bros 3 always looks somewhat glitchy with blocks that shouldn't be there and blue coins that turn yellow once they scroll a bit to the side?

>> No.1300957

>>1300953

Oh wait, nevermind.
>>1298790
>>1298820

>> No.1300962

>>1298790
I recently played Super Turrican and it didn't had those artifacts, either.

>> No.1300970

>>1300951
Same way any N64 game with good image quality is possible: low framerate.

>> No.1300979

>>1300970
RARE games are all ridden with low framerates. It's a shame.

Can emulators simply increase the framerate or would that break the game?

>> No.1301073

>>1300970

Some ridiculous 320x200P resolution, Framerate lock to 30FPS (But closer to 20FPS) and compression tech close to Factor 5's.

Zelda was the same outside of the compression tech. It ran at some ridiculous low resolution and the framerate was hot garbage (Yet still one of the finest videogames ever made)

>>1300979

You will get a lot of out of sync moments.

But then N64 games are weird thing with regard framerate lock. Beetle Adventure Racing ran at a 30-40FPS limit and sometimes popped 60FPS because Paradigm left it unlocked and the game used some rather simple textures and geometry. It's ridiculously inconsistent compared to Pilotwings. The N64 was a console of many quirks.

>> No.1301092

>>1281308
>they would switch over to the shade/highlight mode mid-frame

Actually, they switch out the entire palette.

Some games do use shadow/highlight mode to do transparency effects, though. Ranger X does it for lightbeams on multiple levels, so does Vectorman, and Shao Kahns charge attack in UMK3.

Vectorman does a lot of insane crap with the hardware too, though most of it is just to look pretty (scaling, rotation, etc).

>> No.1301097

>>1284436
>You could set this colour, and again RE-set it every scan line, this was why it flashed colours during loading screens because it was a very cheap effect to show something was happening.

I thought it was because some registers overlapped, so loading data unintentionally changed the backgrounds too.

>> No.1301102

>>1285489
>>1285481
Mode 7 on SNES does have something like 8 layers to use, so it is possible to use it for parallax backgrounds.

>> No.1301104

>>1301102
I thought Mode 7 restricted you to a single 4bpp affine plane and a 2bpp background plane.

>> No.1301110

>>1298717
>Think I've got colors changing with no CRAM dots

That was a manufacturing defect by Yamaha from what I recall, anyway.

>> No.1301112

>>1301110
I don't think it's a defect - more of just a design oversight. The VDP needs to be addressing CRAM constantly to generate the video signal, and the CRAM isn't dual-port so you can't access it without interrupting this.

It's possible to overwrite an entry or two during hblank, but you have to be quite careful about it.

>> No.1301120

>>1289067
>fog in early 3D titles - visual atmospheric effect reduces draw distance

Sonic R on the Saturn did that by blending the further most polygons with the backgrounds, which looked nice and did not put any tax on the polygon blitter. I think it was even the only game to do that. Only drawback was that they couldn't use background transparencies for anything else, which is why the last emerald level had no fogging (but crazy psychedelic lights by overlaying the level polygons with a flashy graphic).

>> No.1301125
File: 28 KB, 640x400, archmage_mc_god.png [View same] [iqdb] [saucenao] [google]
1301125

>>1283708
>magic dithering.

>> No.1301128
File: 88 KB, 640x440, archmage_live.jpg [View same] [iqdb] [saucenao] [google]
1301128

>>1301125
And this is how it looks on a TV.

>> No.1301136

>>1301128

Cool to see that there are others here interested in the demoscene. I was at the party where this photo was taken.

>> No.1301152

>>1301136
I honestly thought there would be more Demoscene-related posts on /vr/ There were a few (and I do mean few) in its early days but now they barely ever happen

>> No.1301279

>>1300951
Watch the developers' let's play of the game.

>> No.1301283

>>1300970
>>1300979
>>1301073

Or rather, the N64 was a piece of crap. The PS1 and Saturn, both exponentially weaker consoles, had many more 3D games that hit 60 FPS than the "64-bit" N64.

>> No.1301284

>>1289067
I vaguely remember reading somewhere that the extreme fog in Turok Dinosaur Hunter was actually due to an engine bug.

>> No.1301303

>>1301283
Especially the PS1 had very unstable 3D in return.
Everything has trade offs, even more so back then.

Also, stop using exponentially when you obviously don't know what that means.

>> No.1301332

>>1301303

This. The PS1 traded a lot off to hit targets. "Pop in" was extremely common on the PS1 due to the lack of RAM on the console where the disc had to stream in assets or compress areas heavily so it would load and hit its render and frame targets (See Resident Evil 2 for a good example). Some games were outright terrible at holding pop in like Gran Turismo 2. Some were fantastically designed but had to kill the framerate like Crash Team Racing. Also there was very little room for AA on the PS1 so you didn't see filtering very often which made games look "Sharper" or it was masked with clever design like Ridge Racer Type 4 or Wip3Out (Racing games are the easiest to show the strengths and weaknesses of the PS1 as it had so many variants)

Back then, it was all about harnessing the systems strengths and hiding weaknesses. PS1's weakness was pop in. Saturn's weakness was it's Dual-CPU renderers. N64's weakness was that it's cartridges couldn't hold the data a CD could and it's difficult archetecture and lack of texture memory. It always depended on the game (The N64 could do very crisp and clean games like GoldenEye, Killer Instinct Gold and F-Zero X when targeted)

>> No.1301441

>>1301332
I wonder, what would Saturn games look like at their hypothetical "full power"?

>> No.1301462

>>1285583
Tons of people play it on both the official and free servers. UOSA is the free server for the traditional "fuck you" feel of the game.

>> No.1301519

>>1301441
Soukyugurentai

>> No.1301561

>>1301303
>exponentially

Actually, he used it correctly. Just to be sure, I checked Merriam-Webster, since you'll undoubtedly use their definition (or worse, Wikipedia) in your greentext reply.

>> No.1302598

>>1301561
>or worse
You say that like Merriam-Webster isn't one of the definitive American English dictionaries.

>> No.1302620

Wasn't there some math formula by John Carmack that vastly improved 3D rendering times but no one can really figure out why?

>> No.1302636

>>1302620

http://en.wikipedia.org/wiki/Fast_inverse_square_root

Not discovered by Carmack, though.

>> No.1302659

>>1301283
N64 games were far far more graphically ambitious than games on PSX and Saturn.

Don't be that guy who wonders why the partially prerendered camera almost locked arena fighting game Tekken 3 has better graphics than the free roaming long draw distance adventure game that is Ocarina of Time. Gee I wonder why.

>> No.1302713

>>1301561
>Actually, he used it correctly.

He didn't. There is no magnitude difference between the power of the N64 and the PS1.

>> No.1302784

>>1302659

Tekken cheated a lot as well with static backgrounds and decreased character detail compared to the arcade version's character detail to minimise impact. Namco did get a lot of out of it and Tekken 3 was one of the very, very few games that ran at 640x480 on the PS1 (Showing it was possible, but you had to sacrifice a shit ton to do so).

>> No.1304854

>>1301441

This >>1301519

Plus you could probably add Nights into Dreams, Fighters Megamix, Radiant Silvergun and the ports of Die Hard Arcade/Dynamite Cop, Fighting Vipers, X-Men Vs Street Fighter, SF Alpha 3 and House Of The Dead.

>> No.1307223
File: 4 KB, 256x240, Swords and Serpents (U) [!]-12.png [View same] [iqdb] [saucenao] [google]
1307223

These fake 3D dungeons have always intrigued me and I still don't have a clue how they actually work.

>> No.1307231

>>1307223
Simplest way is to have a ceiling sprite, a floor sprite, a left wall sprite, a right wall sprite, and a wall in front sprite.
More elaborate is to have sprites for the walls and ceiling of the square you're in AND the squares infront of you and to your sides.

>> No.1307272

>>1295362
>If you look carefully you will realize that image only used the 8 basic colors.
This just blew my mind.

>> No.1307592

>>1302784
>Tekken 3 was one of the very, very few games that ran at 640x480 on the PS1
I vaguely remember reading in Edge that they attributed this to a tool they just referred to as "Performance Analyzer". By the sounds of things it was a fully integrated profiler that showed them the utilisation of every part of the hardware at every point in their code. So they got to see just how much time the GPU/CPU spent idle waiting for a "totally optimised" inner loop. Some code refactoring later and all of a sudden Tekken no longer needed to go flat shaded or dark fog just to keep the framerate high.

>> No.1307621

>>1307592

Wasn't the actual executable something ridiculously low like 70MB as well? Namco were geniuses at coding for the PS1 but then they based their system 11 and 12 arcade hardware on it. So it was always targeted towards Playstation

>> No.1308357

Not sure if it's a trick, but it's worth noting. Reason why some older games, NES games in particular, make knocked out enemies flicker then disappear is so that they delete the object from the screen, helping alleviate flicker and removing needless sprites. Sure you could leave sprites lying around, but they'd slow down the computer, and they'd start to flicker after a while.

On a similar note, some games like Contra seem very fond of making the player's bullets flicker, but not the enemy's. Reason for that is because it isn't "important" for you to know where your bullet is going, but the enemy bullets are a must so that you don't die from a cheap death. Bubble Bobble 1 is a big offender of this, the flicker will make EVERY object invisible or hard to see. Wouldn't be so bad if they devised a better flicker system where a random sprite is dropped, such as rotating what is invisible.

It also seems like Contra and Super C are one of the few heavy action NES titles with minimal slowdown, and reasonable flicker.

>> No.1308425

>>1308357
>>Sure you could leave sprites lying around

Not really, since there's a fixed number of sprites in hardware that can be displayed at a given time, there's no choice but to remove them to be able to show new entities. Making an enemy flicker is just an obvious indication that they were finished...

Some flickering that happens in games with hardware sprites are because only a certain number of sprites can be displayed on a given raster/horizontal line, when this is exceeded, flcikering or partial drawing occurs (some can just be totally dropped temporarily)

>> No.1310976

bump

>> No.1310984

>>1307621
>Wasn't the actual executable something ridiculously low like 70MB as well?
If by executable you mean game code only, and excluding redbook audio or FMV, then I don't see why this is so impressive.

Battle for Naboo by Factor 5 is 32MB and is a fully voiced N64 game.

>> No.1310989

>>1310984
>Dat crazy audio compression to get fully voiced N64 games.

I was always impressed by that.

>> No.1311012

>>1310989
This is one department where the N64's (much) faster CPU came in very handy. It had enough grunt to decode pretty much any 90s video/sound format.

>> No.1311085

>>1298820
>>1298835
Actually, in Mario's case the software is to blame. The NES has a rendering flag that masks the left-most hardware tile (8 pixels) of each scanline, allowing just enough room to change a column of tiles without using another nametable. The problem is that SMB3 stores it's level data in the form of 16x16 metatiles, and instead of cleanly loading them half a metatile each, the engine just writes the entire thing to vram in one go, creating the glitched column on the right side.

>> No.1311090

>>1281256
Pretty much everything Naughty Dog did to make Crash Bandicoot.

all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/

>> No.1311112

>>1311090
Only problem is that Jason Rubin (not Andy Gavin) comes off extremely arrogant in these entries.

>> No.1311138

>>1311112
Yeah, but the bare facts of what they did are still impressive.

>> No.1313285

This thread is still here? Good.

Sword Master and some levels in Battletoads have this pretty nifty parallax-effect which makes it seem like NES supports layers (which it doesn't) done by constantly updating certain tiles in PPU memory in small repeating patterns. You can see this in action by opening the game in emulator like FCEUX and looking at the PPU viewer. If you see the patterns "moving" there, it's the patterns that are modified as the screen scrolls. Also many games simply cycle through colors in certain tiles to create an illusion of moving water or lava while there actually isn't any movement at all.

>>1307231
I know I should have been more specific with this.... I know how the graphics in the 1st person view work but what I don't get is how the game "knows" which walls to draw in said 1st person view. From what I understand these games basically use 4 variables to keep track of where you are: your X-coordinate, Y-coordinate, the floor you are on, and the direction you are facing. Now how the fuck does the game know to draw the walls 2 or 3 blocks away from you in the 1st person view?

>> No.1313308

>>1313285
Because the game knows what is in front of you.
Look for some videos with Richard Garriott about designing the Ultima games.

>> No.1313332
File: 43 KB, 454x302, spyro.jpg [View same] [iqdb] [saucenao] [google]
1313332

>>1281256
This wasn't really a "trick" to overcome hardware limitations, but Insomniac's anti-piracy techniques for Spyro 3 were ingenious.

http://www.gamasutra.com/view/feature/3030/keeping_the_pirates_at_bay.php

>> No.1313356

>>1301279
Honestly, that's mostly the developers circlejerking over their jokes and going "i can't believe we got away with that"

>> No.1313363

>>1313332
In Settlers 3, the blacksmith will produce only pigs instead of steel if you play a cracked game.

>> No.1313413
File: 32 KB, 135x97, 1388756644693.png [View same] [iqdb] [saucenao] [google]
1313413

>>1283804

>> No.1313424

>>1301102
There are SO many people that abuse the term "Mode 7" that it's not even funny.

Mode 7 is the last of the 8 background modes that the Super NES has (the modes are numbered 0 through 7). Each mode defines the following:
a. The number of background (bg) layers
b. The size of each palette on a given bg layer (i.e. the number of simultaneous colors per bg tile, which is 8x8 pixels)
c. Special abilities (individual tile offsets / tile scrolling, hi-res modes, scaling / rotating)

With Mode 7, you have just ONE layer to work with. However, that layer can be scaled and/or rotated using matrix transformations. In addition, if you altered the matrix transformations on a per-scanline basis, you could create perspective effects (F-Zero, Super Mario Kart, etc.) For even more 3d effects, you could interpret the layer as a two-plane layer instead of a one-plane layer, at the expense of halving the number of colors you could use (128 instead of 256).

Because Mode 7 is a BACKGROUND mode, Sprites cannot benefit from the scaling and rotation effects. If you see a game that appears to have sprite scaling/rotation, it's typically either:
a. The sprite uses multiple frames for different sizes and rotations. (example: Super Mario Kart), OR
b. What appears to be a sprite is actually the bg layer. (examples: the bosses of Morton's Castle and Roy's Castle in Super Mario World; the stage 2 boss in Super Turrican).

>> No.1313452

>>1307223

There once was some kind of electronic magazine (similar to demoscene diskmags), from back in the BBS days, I believe, that had a tutorial on how to code this kind of game. Does anyone know what I'm talking about? I've been looking for this think on the internet with no success, and would really like to read it again.

>> No.1313457

>>1313452

This was a game development magazine, btw. I seem to remember it being called Game Developer Magazine, but I could be wrong about that.

>> No.1313485
File: 11 KB, 496x68, gdm.png [View same] [iqdb] [saucenao] [google]
1313485

>>1313457

OK, I actually found it, but programmer's heaven seems to have gone to shit, and I couldn't find a place to download it.

>> No.1313507

>>1285392
Oh man, drawing every chess piece and every way they could "interact" must have been the most boring shit ever.

>> No.1313675

>>1302636
i weep a bit when i see this code
it's beautiful

>> No.1315054

Amazing how all these software tricks had to be pulled off arbitrarily to do things people take for granted.

>> No.1315063

Encoding numbers bigger than 255 using an 8-bit computer.