[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)