[HN Gopher] Tweaking Stunt Island's 30-year-old 3D engine
___________________________________________________________________
Tweaking Stunt Island's 30-year-old 3D engine
Author : alberto-m
Score : 162 points
Date : 2024-12-03 13:44 UTC (9 hours ago)
(HTM) web link (annali.netlify.app)
(TXT) w3m dump (annali.netlify.app)
| fabiensanglard wrote:
| This is awesome. Mickey's Revenge looks so much better with LOD
| at 800%!
|
| This game is a gem, it deserves a spot in the video-game hall of
| fame.
| amiga386 wrote:
| Mickey's Revenge: https://www.youtube.com/watch?v=AZMDm-2IIzc
|
| Having just watched it, I like that the engine has specific
| support for points, lines and filled circles, because it
| predates efficient texture-mapping and high polygon counts, so
| they use dots for stars on the US flag, a series of line
| segments to write text in 3D, and green spheres to represent
| tree leaves. These days it's all triangles (...very well lit
| and textured triangles with more computation expended _per
| pixel_ than the 1992 computer had in its entirety)
| sehugg wrote:
| The engine only copied pixels from fast main RAM to slow VGA
| RAM when they changed value, so using flat shading for most
| of the objects was a necessity for performance. IIRC all of
| the planes used Gouraud shading.
| 01HNNWZ0MV43FF wrote:
| "Slow video RAM". Wild!
| mjg59 wrote:
| Video ram is still slow if you're accessing it from the
| CPU! Doing software 3D didn't really let you make use of
| whatever (limited) acceleration video adapters had at the
| time, which were mostly aimed at accelerated lines and
| moving rectangles around (you know, things that are
| useful if you're Windows). That meant the CPU was having
| to calculate everything and then push pixels over the
| bus.
|
| This was why people were willing to use things like the
| VESA Local Bus, basically an extension of the 486 bus
| usually used to drive a graphics card and starting at a
| heady 100MB/sec. Terrible idea (it got faster as your CPU
| bus got faster, and if your card couldn't deal with that
| you'd have to underclock your CPU), but until graphics
| hardware started offering operations that matches what
| game developers wanted, the number of pixels you could
| push over that bus per second was genuinely a limiting
| factor.
| Cumpiler69 wrote:
| _> 30-year-old 3D Engine_
|
| I saw that title and thought to myself _" Wow, a 3D game engine
| from the 80's!"_ before realizing 30 years ago was 1994-95,
| during the time of Doom 2 and a year before the first Quake.
| Damn, I'm getting old fast.
| vundercind wrote:
| I'm sure everyone experiences this some, but do wonder if it's
| maybe worse for those for whom the year 2000 hit at the wrong
| point in their personal timeline. I don't think I ever quite
| got over guesstimating "X years ago" based on that marker. I've
| gotten a _little_ better at it, but still get tripped up for a
| second by times-ago longer than 20 years or so.
|
| The other day I was reading something and was surprised that
| "50 years ago" was the mid '70s, not, like, the 50s. Then they
| hit me with Guardians of the Galaxy already being ten years
| old. Ouch, right in the mortality.
| Cumpiler69 wrote:
| See this fact, GTA Vice City was set in the year 1986 and was
| released in the year 2003. That game is now older (21 years)
| than the time period it was set in when it launched (17
| years). So if they made that game today with the same time
| delta, it would be set in the year 2008 when we already had
| the second gen iPhone.
|
| I think this perceived time warp is affecting many people in
| the 30+ age group since the world(at least the west) hasn't
| changed that much in the last 10-15 years or so, so compared
| to the past when 10-15 years delta made a huge difference,
| especially in the areas of technology and entertainment, so
| it kinda feels like time just went by us while the world
| stood still.
| ghurtado wrote:
| You've put it much better than I could.
|
| Basically, the 80s feel like they happened about 100 years
| ago. Which makes us depressingly old.
| fmbb wrote:
| The further we get past the year 2000 the more clear it
| becomes that all the pre-2000 memes of 2000 being the
| future were right, and not much happened in the west in
| terms of quality of life or daily conveniences or
| productivity since 2000.
| vikingerik wrote:
| Yeah. Here's another: Space Invaders is now closer in time to
| the Gamecube than the Gamecube is to today.
|
| Similarly, Windows 95 is now closer in time to the Intel 4004
| microprocessor than to today.
| vidarh wrote:
| What really makes me feel old is realising Jurassic Park is
| as ancient to my son now as the early 1960's movies my
| parents would show me from their childhood when I was a kid.
| Negitivefrags wrote:
| The other day I made a reference to something from Jurassic
| Park at work to a fresh graduate, and got a blank stare. So
| I say "You know, from Jurassic Park". And was told "Oh,
| I've never seen it".
|
| I have never felt older than in that moment.
| robertlagrant wrote:
| How's this: if you're over 27 years old, you were born
| closer to the moon landing than the present day.
| scrapheap wrote:
| The Freescape 3D Engine was in use in the 80's (see
| https://en.wikipedia.org/wiki/Freescape ).
| ghurtado wrote:
| Good ol' Driller will always be my first 3D game. The novelty
| of 3D graphics that were more than the plain wireframes of
| Elite, was such that we put up with the 1 FPS framerate for
| hours on end.
|
| I wish I could regain some of that wonder back, but all the
| Raytracing and RTX make it very hard to find.
| pjc50 wrote:
| I suppose this is where I plug my own 30 year old 3D engine
| (caution: it's not very good)
| https://github.com/pjc50/ancient-3d-for-turboc
| gwern wrote:
| I think that a lot of people feel like this post-COVID, like
| there's a sort of 'temporal collapse' where you feel stuck in a
| Big Now where Now never changes, no matter how many days do,
| and the pounds accumulate but not the years... I wonder if
| there's something to how delayed careers and life progression,
| and the shift to streaming/recommendation heavy media, and the
| apparent 'stuckness' of culture, all contribute to this feeling
| of being unmoored in time and being unable to realize
| _intuitively_ that '30 years ago was 1994'?
|
| I've been experimenting on my website with automatically adding
| to all years or dates a little subscript like '5ya'. While I
| thought it was clunky at first, I'm finding it helpful to be
| regularly reminded that when I mention something that happened
| in '2003', that really was '21 years ago', and I feel a little
| less like Billy Pilgrim.
| bhouston wrote:
| Neat stuff!
|
| (The aliasing seems brutal now though with all that detail. Need
| to figure out how to boost the resolution / do some type of
| MSAA.)
| pjc50 wrote:
| That's probably going to involve a full decompile and replacing
| the renderer, because DOS games are basically limited to using
| one of the video modes which render into 64k of video RAM.
| justsomehnguy wrote:
| Yep.
|
| https://fabiensanglard.net/reverse_engineering_strike_comman.
| ..
| sehugg wrote:
| You could probably monitor the DOS VM to scrape camera/object
| matrices, render the static world in a huge GL (or what have
| you) display list, and then the other objects. The mesh
| formats were reverse engineered long ago.
| pixelesque wrote:
| Yes, for DOS games.
|
| However, DirectX games were much easier... I remember
| patching F-22 Total Air War (a DiD Flight Sim) to support
| higher resolutions back in 2001 or something, and it was just
| 3 bytes or so that needed changing, and worked surprisingly
| well...
|
| (Seem to remember a bit of a community doing it in various
| games on the simhq.com forums back then.)
| dividuum wrote:
| Not sure how viable that would be, but if the rotation within
| the game is high-res enough I imagine one might render the
| same scene four times each with a rotation offset equivalent
| to half a pixel. Then combine those to a whopping 640x400
| image :)
| sehugg wrote:
| It's difficult to impress how cool it was to have a open world
| flight sim / 3D movie editor in 1995. There's not much like it
| even today; GTA V's movie editor is close. A small "scene" grew
| up around it, and there were lots of mods/hacks in the 2000s:
| https://armknechted.com/sicentral/newpage/hacksi.html
| hvs wrote:
| Yeah, this was an incredibly unique game that I played hours of
| in high school. It obviously looks dated now, but was amazing
| at the time.
| thom wrote:
| Absolutely loved this game. I used to try and fly an F4 Phantom
| through the canyon at top speed. My brother created a short film
| "Attack of the Killer Christmas Trees". Endless fun.
| doug-armk wrote:
| It is an amazing game! Do you (or does he) happen to still have
| that short film somewhere? It sounds great. I collect user-made
| films, and have about 320 in the Stunt Island Archive. I'm sure
| there are thousands more than unfortunately never got
| preserved.
|
| Archive link:
| https://armknechted.com/sicentral/newpage/SIArchive.html
| thom wrote:
| That's so cool! Feels like a long shot but I'll look into it.
| CodeWriter23 wrote:
| My go-to stunt was climb to the aircraft ceiling then dive
| nearly straight toward the Golden Gate Bridge and fly under it
| and climb immediately. I was somewhat successful.
| binary132 wrote:
| Really interesting! I've been working on an idea for a dual-
| purpose compiler/decompiler and this is really useful for
| understanding the kinds of things it might need to be used for.
| pjc50 wrote:
| Those seem to be very different purposes? Also, Ghidra is
| really good these days.
| verisimi wrote:
| "Twerking stunt island's 30-year-old 3d engine?" On HN?! I'm in!
|
| ... ah
| neuronexmachina wrote:
| This is so great. I loved Stunt Island back in the day.
| k3vinw wrote:
| It's fun to look back and gain some insight into how this game
| was made. 30 years ago I was just starting middle school and I
| remember vividly seeing this game for the first time. I was
| visiting my cousins and they had all these fantastic games like
| Secret of Monkey Island, Lechuck's Revenge, Maniac Mansion, Day
| of the Tentacle. I remember spending hours playing these games.
| One of my favorites was Stunts which came with a built-in track
| editor!
|
| Feels just like yesterday. Shocking how our perception of time
| works.
| aleph_minus_one wrote:
| > One of my favorites was Stunts which came with a built-in
| track editor!
|
| In case you didn't know it: the games of the TrackMania series
| can be considered spiritual successors of Stunts:
|
| > https://en.wikipedia.org/wiki/TrackMania
|
| > https://www.trackmania.com/
___________________________________________________________________
(page generated 2024-12-03 23:00 UTC)