Author Topic: Bomboy level layout weirdness  (Read 2556 times)

codeman38

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 881
    • View Profile
Bomboy level layout weirdness
« on: June 16, 2015, 01:05:28 AM »
So thanks to this post from Lunatic Obscurity, I discovered something really weird about Gamtec's Bomboy-- or at least the dump that's currently circulating around the internet, anyway (md5sum = c5816740d93932870c5c466ea2931a4f).

Specifically-- through some quirk of programming that I'm not fluent enough in Mega Drive assembly to even begin to comprehend, the level layouts are completely different depending on which emulator is used. And even weirder, none of these match the introductory demo, which is consistent across emulators.

Attaching some screenshots to show what exactly is going on, because this is definitely interesting.

Edited to add: Versions used: RetroArch "stable" cores (v1.0.0.2), though I checked the latest nightlies and they produce the same result; Kega Fusion 3.63i; Genesis Plus 1.3.0 (all under Mac OS X).

Edit #2: Naturally, none of these emulated versions-- including the demo!-- match the layout shown on actual hardware (via Nusutto's footage).

Attachments:
« Last Edit: June 16, 2015, 01:39:06 AM by codeman38 »

taizou

  • Administrator
  • Sr. Member
  • *****
  • Posts: 2257
    • View Profile
    • http://fuji.drillspirits.net
Bomboy level layout weirdness
« Reply #1 on: June 16, 2015, 03:37:24 PM »
that is really weird! just as a wild guess, maybe it's something to do with the way memory is initialised when the system is powered on, causing it to load level layouts from a different location? or it may have even been down to some kind of copy protection or weird cartridge hardware Gamtec was using..

codeman38

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 881
    • View Profile
Bomboy level layout weirdness
« Reply #2 on: June 16, 2015, 09:07:03 PM »
Memory initialization was definitely one of my theories.

Another thing I'm thinking it might be is differences in memory addressing-- like the thing where some of Gamtec's games would only play music when the ROM was concatenated to itself, due to memory mirroring that occurs on real hardware but not on emulators. (Hm, I should try doing that with Bomboy to see if it has the same result on the level layouts...)
Nope, concatenating two copies of the ROM together didn't change things. (Hey, it was worth a shot.)

As for memory initialization-- one of the things I was noticing was that in several of the emulators, the layout will be diagonally offset by a different amount depending on when you actually press start on the title screen. It's as if the memory register that's used as a pointer to the level data is one that's also being altered while the title screen is running (?!?).
« Last Edit: June 16, 2015, 09:17:42 PM by codeman38 »

taizou

  • Administrator
  • Sr. Member
  • *****
  • Posts: 2257
    • View Profile
    • http://fuji.drillspirits.net
Bomboy level layout weirdness
« Reply #3 on: June 18, 2015, 01:49:26 PM »
codeman38
Jun 16 2015, 09:07:03 PM
Memory initialization was definitely one of my theories.

Another thing I'm thinking it might be is differences in memory addressing-- like the thing where some of Gamtec's games would only play music when the ROM was concatenated to itself, due to memory mirroring that occurs on real hardware but not on emulators. (Hm, I should try doing that with Bomboy to see if it has the same result on the level layouts...)
Nope, concatenating two copies of the ROM together didn't change things. (Hey, it was worth a shot.)
[/quote]tbh I tried the same thing! Bomboy is actually one of the games with that music issue, too - the released ROM (at least the copy I have) is 512k but actually consists of the same 256k repeated twice. and if you chop it in half, the music doesn't play.

Quote:
 
As for memory initialization-- one of the things I was noticing was that in several of the emulators, the layout will be diagonally offset by a different amount depending on when you actually press start on the title screen. It's as if the memory register that's used as a pointer to the level data is one that's also being altered while the title screen is running (?!?).[/quote]
hmm that's super weird. I wonder if that same behaviour is exhibited on real hardware? it might be intentional, like it's using some pseudo-random number generator to pick a different layout each time..

fergzilla

  • Newbie
  • *
  • Posts: 33
    • View Profile
Bomboy level layout weirdness
« Reply #4 on: June 25, 2015, 11:47:32 AM »
Yeah, I noticed that when I loaded up Bomboy on my AtGames Sega Genesis 80-in-1 Portable, which I thought was strange seeing as it loaded up "diagonal levels" on Fusion, while the AtGames portable didn't. Then I looked at that blog post about complaining about those "diagonal levels" and got even more suspicious. Now it turns out it wasn't just my mind playing tricks on me or the spotty emulation on AtGames' emulator's part.

I wonder which set of levels load up on the original cartridge on real Sega Genesis (maybe it loads up different levels based on the model used, official or no, perhaps even the Dynacom Megavision, which Bomboy was once packed in with).

Yet another bootleg mystery came up thanks to someone looking at Lunatic Obscurity blogging.

EDIT: And none of the levels in the screenshots of the first post match up what shows up on my portable. Ah well, I'll take photos of that level later this weekend, as I'm at somewhere right now.
« Last Edit: June 25, 2015, 12:03:16 PM by fergzilla »

codeman38

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 881
    • View Profile
Bomboy level layout weirdness
« Reply #5 on: June 26, 2015, 10:32:59 PM »
fergzilla
Jun 25 2015, 11:47:32 AM
I wonder which set of levels load up on the original cartridge on real Sega Genesis (maybe it loads up different levels based on the model used, official or no, perhaps even the Dynacom Megavision, which Bomboy was once packed in with).[/quote]The video I linked to in the original post (https://www.youtube.com/watch?v=2jaQBO8AXp8) is from a real system - not sure which specific model, but it's one of the versions that has the TMSS license screen.

fergzilla

  • Newbie
  • *
  • Posts: 33
    • View Profile
Bomboy level layout weirdness
« Reply #6 on: June 28, 2015, 01:21:08 PM »
OK, so I got a camera and my Genesis emulator portable, and got ready to take pictures, but as it turns out, the portable generated a different level than last time I turned it on. I reset the portable, went through the main and SD card menus again, and booted up Bomboy yet again, and it generated yet another different level. Took a picture of that. Then reset, went through menus, loaded Bomboy, generated different level, and took a picture yet again. Repeat, repeat, repeat. Feel free to add these screenshots to the first post if you like.

Here are my results.

Spoiler: click to toggle


All these photos are of Level 1-1.

(keep in mind that the player always starts on the very first tile, I just moved my player character to the right on the second screenshot)

So, the AtGames Sega Genesis Ultimate Portable randomly generates a completely different level for Bomboy upon each bootup, unlike other emulators. And yes, it does that even when you input passwords for different levels. Huh. I wonder if the original intention of the programmers was to "make each playing experience different" by having randomly generated levels upon each time the Genesis is powered on. We also have to consider the back of the Bomboy box with screenshots of the same plain layouts (probably test levels), but different textures.

And yes, I checked, the demo level is still the same as the one in the screenshot.

I do have to give Bomboy credit, though, for practically making a procedurally-generated game combined with a (main mode) Bomberman experience (be it intentionally or not), which does sound like a lot of fun, really, and something that former official Bomberman owner Hudson Soft (and current owner Konami) had yet to provide (to current knowledge).

(EDIT: OK, so soft-resetting does give you different levels. Fusion still gives diagonal levels, but at least they're different diagonal levels each time. Hmmm.... could it be that Bomboy in its entirety relies on procedural generation without even any pre-made levels? And its effects are different for each emulator?)
« Last Edit: June 30, 2015, 11:17:11 PM by codeman38 »

codeman38

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 881
    • View Profile
Bomboy level layout weirdness
« Reply #7 on: June 30, 2015, 11:29:33 PM »
@fergzilla, I edited your post to add spoiler tags around the images, because they added a ridiculous horizontal scrollbar at my screen size.

The levels being different on each startup is something that I noticed in several emulators that I tried as well.

I'm still curious as to whether the procedural levels happen on an original '90s Genesis, or at least a system that's compatible at the hardware level (e.g., the Retron 3). The AtGames consoles are well known for using an ARM-based processor with imperfect emulation, so maybe there's still something weird at work-- but it's looking really likely that this may be the case even on original systems.

Edited to add: Hm, looking at some of the notes on this page on plug-n-play consoles, it may very well be that AtGames' consoles aren't ARM-based after all, despite what was once believed. (Still less perfect emulation than other hardware clones, but it's not because it's in software.) So that's a further boost to the theory that this happens on real hardware.
« Last Edit: June 30, 2015, 11:55:37 PM by codeman38 »