GOPHERSPACE.DE - P H O X Y
gophering on hngopher.com
HN Gopher Feed (2017-10-12) - page 2 of 10
 
___________________________________________________________________
Digging for treasure in Aladdin's source code
221 points by j_s
https://gamehistory.org/aladdin-source-code/
___________________________________________________________________
 
ggambetta - 7 hours ago
I wish source code for more old games was available. For a long
time I was trying to trace the source of Dark Sun: Shattered Lands
and Dark Sun: Wake of the Ravager, as I'd love to port them to run
in modern systems (without emulators, and with the idea to fix bugs
and/or improve the art - making a "remastered edition", if you
will). Same for other games I loved back in the day - the Twinsen
series, Twilight:2000, and a few others.There's the hybrid
emulation approach (http://gabrielgambetta.com/remakes.html -
disclaimer, I wrote that) but I haven't gotten around to doing it
for these games.
 
  russellsprouts - 6 hours ago
  You might want to look into N64 emulators like Project64. They do
  something similar, though closer to emulation than remake. They
  allow you to render the 3D objects at a higher resolution and
  replace the textures with arbitrary bitmap images.
 
    ggambetta - 6 hours ago
    Yep, very similar idea! Key difference is that DOS games didn't
    use a standard 3D API so you can't just intercept that and
    replace higher quality textures - you'd have to intercept and
    rewrite the renderer itself.
 
  [deleted]
 
  shakna - 6 hours ago
  Since Data East's fall, tracking the source down seems hard,
  especially as many game companies of that era failed to preserve
  the source for many of their games.Might be interesting to see
  how GOG got their Dark Sun bundle [0] running. It's backed by
  DOSBox, but the midi driver seems different, and some of
  Ravager's frequent bugs have disappeared.Maybe a partial remake
  like you suggest in your article?[0]
  https://www.gog.com/game/dungeons_dragons_dark_sun_series
 
    ggambetta - 6 hours ago
    Oooh, that's super interesting! If it's backed by DOSBox I
    doubt it's recompiled from source, but I could ask :)
 
      kbenson - 5 hours ago
      Theoretically they could be binary patching.  By using a
      disassembler and a debugger to understand what's going on, in
      many cases bugs might be fixable inline, or by replacing old
      functions with a redirect to where it's been redefined (if
      there wasn't sufficient space to fix inline).
 
  johnhenry - 7 hours ago
  I agree -- it's too bad that some of these older gems weren't
  designed to stand the test of time. Cool approach to hybrid
  emulation.Also, what are your other two wishes?
 
  ehaliewicz2 - 4 hours ago
  I think this is roughly similar to what the xlengine guy
  (http://xlengine.com/) is doing.
 
  PeachPlum - 3 hours ago
  While remakes do sound good, you can still buy LBA & LBA2https://
  www.gog.com/game/little_big_adventurehttps://www.gog.com/game/lit
  tle_big_adventure_2
 
    viraptor - 2 hours ago
    LBA even has a pretty good Android port. Very playable.
 
  sotojuan - 6 hours ago
  In the 90s a lot of companies (including big ones like Square
  Enix) simply deleted the source code once the game launched. They
  truly thought they had no need for it any more.
 
    johansch - 5 hours ago
    I'm pretty sure at least some of the individual developers kept
    private backup copies that they then "forgot" to erase.
 
    BearGoesChirp - 2 hours ago
    While I support YAGNI, I only support it when there is a copy
    somewhere in the source control history.  I don't understand
    why they would permanently delete it even if they weren't
    planning on ever using it again?  Was space that limited?  Or
    was this a middle management kind of thing?
 
    itwy - 6 hours ago
    That's not true. They needed the work for other games.
 
      sotojuan - 4 hours ago
      If the game is part of a series or potential series, they
      would not delete them. If it's a one off, they definitely
      deleted a lot of assets. A lot of backgrounds, models, and
      assets from PSOne Final Fantasy games do not exist anymore,
      for example. This is why a lot of companies that remaster
      games for HD actually "reverse engineer" the game disc.
 
        crankybear1337 - 2 hours ago
        Yeah, they do this for PC games as well.A good example is
        the Steam release of Final Fantasy VII - it actually ships
        the original binaries from the 90's PC version mostly
        intact. Code for things like the Direct3D 6 and software
        renderers, and MIDI sound is still there in the binary,
        just unused. All the new features like cloud saves,
        achievements, and original music are implemented using a
        separate DLL that hooks a lot of stuff in the game, like
        the graphics and audio subsystems. It's a pretty
        fascinating thing to reverse engineer.That must've been an
        interesting job :)
 
  gp2000 - 2 hours ago
  This hybrid approach was used for a series of arcade games on
  XArcade for the Xbox 360.  Frogger, Gauntlet, Joust, Gyruss and a
  bunch of others.  I think we referred to it as
  "reskinning".Mostly it was applying higher-resolution tiles and
  sprites but some had particle effects added.  For instance, some
  exhaust smoke on the cars in Frogger.My favorite was Gyruss which
  is somewhat like Space Invaders of Galaxian but with a 3rd person
  view from behind the player's ship so you see enemies come toward
  you in pseudo-3D.  We found that the game internally used polar
  coordinates and had a fair bit of code that converted those 2D
  and chose the right sized sprites.  Replaced all that with 3D
  models rendered at the same spot in space.I view these techniques
  along a continuum where you're essentially changing the porting
  layer.  An emulation puts that layer at the hardware.  A hybrid
  approach pushes it some ways into the game.  A source code port
  is above the binary but some ways into the code.  A remake is at
  the "game design" level.
 
  megaman22 - 6 hours ago
  Definitely.  My favorite game as a kid was Civil War Generals 2,
  by Impressions Games/Sierra, and I've been hoping that it would
  turn up on GOG for years now, like some of their other titles do,
  but it really does not like to run on modern versions of Windows.
  I've been keeping a Windows 98 VM around just to scratch that
  itch from time to time.
 
    shakna - 5 hours ago
    Old Games say they have a version that'll run on Windows 10
    [0], but I've got no idea how legal that is, what with
    copyright age, and companies disappearing.[0] http://www.old-
    games.com/download/5142/civil-war-generals-2 ("Easy setup")
 
    ashark - 5 hours ago
    > Civil War Generals 2Oh, wow, another fan of that! Great,
    great game. Huge improvement over the first one, in every way.
    Still haven't seen anything quite like it. Closest I've played
    in feel (if not interface or actual play) is Ultimate General:
    Gettysburg. There's an Ultimate General: Civil War out now that
    I haven't tried yet but assume includes a ton more content. Not
    as stat-crunchy and no equipment purchasing though, at least
    not in Gettysburg. :-(
 
mr-ron - 7 hours ago
If you like this you would love
https://tcrf.net/The_Cutting_Room_Floor which has hundreds of these
types of articles showing lost content and logic etc.My favorite
being https://tcrf.net/Super_Mario_Bros._3
 
  corysama - 4 hours ago
  A lot of 'lost content' and 'off camera' videos are posted to
  https://www.reddit.com/r/videogamescience/  There's also
  https://www.reddit.com/r/TheMakingOfGames/ for 'behind the
  scenes' videos.
 
    spondyl - 1 hours ago
    Oh heck, just from a quick glance, /r/videogamescience may be
    my new favourite subreddit, or website rather since I hardly
    use Reddit.I love this sorta stuff but I'd never heard a
    searchable term for it like "video game science" before.Thanks!
 
[deleted]
 
AdmiralAsshat - 6 hours ago
It's a pity. If you were a Nintendo fan back in the day (because if
you were a gamer in the 16-bit days and did not have high
discretionary income, you likely only had a SNES or a Genesis, not
both), you played an interesting, albeit completely different
Aladdin game, made by Capcom instead:https://en.wikipedia.org/wiki/
Disney%27s_Aladdin_(Capcom_vid...Interesting in its own regard for
being one of the early projects of Shinji Mikami, the Capcom
designer who masterminded Resident Evil, Devil May Cry, and others.
 
  wnevets - 5 hours ago
  IIRC the sega version was the superior one, is that true?
 
    debaserab2 - 4 hours ago
    It was one of the rare games where the Genesis version bested
    the SNES one. I had a genesis and always felt the sting of
    having the lesser-than version of everything and could only
    jealously read about the better SNES versions in gaming
    magazines.I played the hell out of my genesis Aladdin cartridge
    though. Fantastic gameplay.
 
    vlunkr - 4 hours ago
    I think it's debatable. Most people I know say it's the other
    way around.
 
    abritinthebay - 5 hours ago
    Absolutely true.
 
    b3b0p - 4 hours ago
    I think it's arguable. Laser Time did a video with them playing
    both side by side. It's a fun watch:
    https://youtu.be/_GpBHA5_bd0
 
    mikebenfield - 3 hours ago
    People say this, sometimes to the point of asserting that the
    SNES version is just a bad game.It's not. They're both really
    good games.
 
  d--b - 6 hours ago
  I remember finishing the SNES game something like 2 hours after
  buying it... It wasn't great...
 
    ghostbrainalpha - 6 hours ago
    You remember how long it took you to play through a game 23
    years ago???I wish I had a memory that sharp. When I look at
    these retro games, I'll sometimes recognize the box art and
    remember having a fondness for the game, but that's it.I'm 34
    years old for reference.
 
      d--b - 55 minutes ago
      35 yo here. yeah I was quite disappointed by the fact I'd
      finish it so quickly.  And yeah I have a strange memory, I
      tend to remember few stuff but very detailed
 
      pwython - 5 hours ago
      Also 34, and wouldn't even be able to tell you what games I
      finished back then, let alone the time it took. Except for
      Link to the Past... I remember being quite happy beating
      that.
 
      abritinthebay - 5 hours ago
      37 here.It took me 2hrs and 37 minutes to beat Sonic 2 on
      release day. So that?s like... 1992.Was a little annoyed but
      it was an incredibly fun ride (and it?s not like I got all
      the chaos emeralds or anything).That doesn?t strike me as
      that sharp of a memory just a factoid that?s stayed around. I
      couldn?t tell you what I did in school that week for example.
 
        mantis369 - 3 hours ago
        I'm impressed that you got past that no-rings end boss
        gauntlet on the first try.
 
          abritinthebay - 1 hours ago
          Well I didn't do it without losing a life! It was a
          little more luck than judgement though. I beat him on my
          last life (and I had quite a few at that point).I still
          remember the music from that scene having this awfully
          jarring "DURRR-DUNNN" tone siren in it that was rather
          disturbing. Not... Sonic drowning music disturbing, but
          close
 
      awj - 5 hours ago
      Personally, I don't remember all of those experiences, but
      Aladdin was one that stood out. Mostly because of the
      crushing disappointment of playing the Genesis version at a
      friend's house then begging to get the SNES version ... which
      I'd assumed would be the same.
 
        cdelsolar - 5 hours ago
        Described my exact experience to a T. I've always wanted to
        play the Genesis version of this game.
 
      AaronM - 5 hours ago
      Probably remembers it because he spent so little time on it.
      If he paid full price for it, that was probably a big
      disappointment.
 
gavanwoolery - 6 hours ago
The (S)NES classic editions have demonstrated the clear appeal of
these older platforms.I think Nintendo/Sega/etc could rake in a lot
of cash if they designed new games for these old systems.  I would
love to see a new Super Mario World-esque game that operated within
the confines of the classic SNES.
 
  sleepybrett - 3 hours ago
  Nintendo effectively did this for mario games with mariomaker.
  Sadly still not out on the switch yet.
 
  carc1n0gen - 6 hours ago
  Have you ever tried out a "rom hack"?  People often alter ROMs
  code to make entirely new worlds/levels. Pair them with something
  like an ever drive and you get to play them on the real hardware.
 
    KGIII - 3 hours ago
    People are making new games for the old systems. It's quite an
    active community. They make and sell cartridges that have brand
    new games on them.I dug out a link, but it's just the tip of
    the iceberg:https://www.theverge.com/2017/5/9/15584416/new-
    games-retro-c...
 
      BearGoesChirp - 2 hours ago
      Just a word of caution for anyone looking to buy rom hack
      cartridges, many rom hacks were never intended to be put on
      cartridges and the original rom hack developers do not
      support nor benefit from doing so.  It's also possible the
      rom hack on the cartridge isn't the final version.
 
    gavanwoolery - 5 hours ago
    I once tried to create a legitimate ROM for the Gameboy Advance
    but it was obviously pretty involved. For those interested,
    plenty of resources such as:
    http://www.loirak.com/gameboy/gbatutor.php
 
      eropple - 5 hours ago
      Yeah - GBA homebrew is hard. Mostly because it's a modern
      processor (it's an ARM7TDMI) with some really nutty RAM and
      graphical limitations. But any 8-bit or most 16-bit systems
      (except the Genesis, which is something of a kludge) are
      pretty straightforward.I do streaming charity events on
      occasion and an idea I've had is collaboratively writing an
      NES game over the course of a weekend, on-camera.
 
        planteen - 2 hours ago
        Most 8-bit systems perform poorly with C compilers so you
        are looking at writing in ASM. Additionally, there are all
        kinds of messy things like "mappers" on NES and GB to
        handle bank switching of the severely limited address
        space.GBA lets you use C without bank switching. I'd say it
        is far easier than the older generations.
 
          eropple - 2 hours ago
          If you want to write C, that's an absolutely fair cop. I
          would much rather write assembly for this stuff--as I
          mentioned in a sibling, it sorta feels right?--so that
          wasn't something I was thinking about. Rather, the
          profusion of features that are kinda tricky (mentioned in
          that sibling) along with the ARM/Thumb mess.
 
        hrydgard - 3 hours ago
        What? GBA is clearly easier than NES. Just set up a single
        tile layer in mode 0, and you got what's practically a NES
        with more colors, sprites and a much more powerful CPU that
        you can program in C++ if you like.
 
          eropple - 2 hours ago
          Sure, if you sit in mode 0 it's pretty simple. But if
          you're writing code for the GBA, you're probably gonna
          want to do stuff with the GBA's feature set, yeah? The
          bitmap modes, affine sprites and layers, sound, etc. get
          a little bit complicated. It's all stuff you can learn,
          don't get me wrong, and it's not like it's not so weird
          that knowledge you'd acquire from using other systems
          isn't applicable--but I find that there's a lot more that
          I had to have in my head when playing around with it than
          the NES (or systems I lean towards more, like the C64).
          It's a great platform to mess around with, but it is more
          complex. But if you're not going to use that complexity,
          for homebrew--I dunno, I'd just go grab a NES
          emulator.GNU C++ had gremlins for the GBA last time I was
          writing homebrew for it, so I can't speak to that. I
          kinda enjoy writing assembly when messing around with
          this stuff, though, so, eh. For anything else, I love me
          some (Modern!) C++, but it kind of feels like I should be
          writing assembly for that stuff, it's more fun to me.Do
          me a favor and chew on something for a sec, though: what
          does your "What?" do except add a hostile and combative
          edge to the conversation? Maybe don't do that. Thanks.
 
  BearGoesChirp - 2 hours ago
  I'm not sure what would be earned for developing such a game
  verses developing one on a modern system that looks like it could
  have been from that era.  It would likely cost less to develop
  and would be easier for the average consumer to use.  I've played
  a number of 16-bit games since that time, and some manage to pull
  of a similar feeling.
 
    gavanwoolery - 2 hours ago
    That's true, although I guess there is some sort of value for
    people using "authentic" stuff instead of emulators, etc (even
    though the SNES classic likely runs on an emulator, it still
    feels more like the old device).Primarily, I am interested in
    seeing another effective 2D Mario with the same charm and style
    as the SNES games - I do not care so much if it is running on a
    modern system. :)
 
  chrisballinger - 5 hours ago
  I had a lot of fun with the NES-style Mega Man 9, which was
  released in 2008.https://en.wikipedia.org/wiki/Mega_Man_9
 
g051051 - 5 hours ago
Is this archive publicly available?  I'd love to dig through it.
 
  mwrouse - 1 hours ago
  I searched the website and didn't find anything. Is it really an
  archive if it is private? Sure, museums and stuff have a lot more
  in archive than is what is on display, but at least some of it on
  display.
 
[deleted]
 
neonnoodle - 7 hours ago
This is my favorite game of all time. What an amazing breakdown of
its contents! Still inspiring in 2017. I'm glad to see other finely
animated side scrollers like Cuphead are being made.
 
Answerawake - 4 hours ago
The PC shareware version of this game was the very first thing I
ever downloaded from the internet back in 1995. I never got the
audio to work. With my Sound Blaster 16 card it would always
produce the "data noise" that you would hear if you were to play
back a data track in a CD player.This is one of those unanswered
questions in my computing career. Did anyone else play the PC
version and if so, did you also have problems getting the sound to
work in the shareware demo? Does anyone have any ideas as to what
could have caused this problem? Was it just not tested?If I never
do get an answer, one day when I have time, I hope to set up a test
environment, find that old shareware demo and try to reverse that
part of the code to see what it is doing.
 
barbs - 1 hours ago
I recently found a channel on YouTube ran by an old Telltale Games
developer talking about some of his development tricks, mostly for
SEGA Genesis games. Really well done.https://www.youtube.com/channe
l/UCfVFSjHQ57zyxajhhRc7i0g/vid...