Author Topic: Alien 3 and parallax backgrounds  (Read 56733 times)

0 Members and 2 Guests are viewing this topic.

Offline Master Bait

  • Newbie
  • *
  • Posts: 22
Alien 3 and parallax backgrounds
« on: July 06, 2010, 09:47:00 am »
I started working on Alien 3 for the SNES. There's a cheat code making all gameplay trivial, which I'm thankful for. Also the screen scrolls nicely, revealing all corners without having to walk back and forth 100 times to reach that last row of pixels. All conditions are great except for one thing. The parallax background.

I tried making a search here to find out how to best deal with it but couldn't find any real sollution. So I will create this post and try to be as specific as possible.

I'm using the 'snes9x 1.51 win32' emulator, so I can easily just remove that layer, it will be replaced with plain black. Sadly there's alot of back in the foreground layer preventing me to just use the magic wand tool in Paint.NET to remove all black and slide the background in beneath.

I realize this is a common problem but what is the best sollution?

My ideas are these:
  • Just leave the background black. (Worst sollution. Think I rather don't map the game then)
  • If there was a way to tweak the emulator (or if there's another emulator that can already do it) to either freeze a layer (doesn't even sound likely to me) or
  • make the emulator display an obscure color, like pink (or even better, transparent for the output image), as its background rather than black.

To me the last one seems like the best pick and it also sounds realistic to me  :P

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Alien 3 and parallax backgrounds
« Reply #1 on: July 06, 2010, 11:37:08 am »
Welcome to the most annoying thing regarding SNES mapping! Sadly, there are no magic solution so far regarding this particular problem.

The problem lies with what I think is called the "overscan" color, which should be the first color entry in the background color palette. In very simple terms and as far as I understand, it's basically what appears by default if there's nothing actively displayed.

We've been lucky enough in recent years to see several emulators feature an option to change this color:

-FCEUX for the NES:
You have to open the config file and search for "gNoBGFillColor", then change the number following it to something else, like 100 for a bright pink background.

-Gens with Maxim's Kmod modifications for the Genesis/Sega CD/32X
Go in the following menus: CPU -> Debug -> Layers and you'll get the option to disable individual layers as well as change the background color.

I also just checked Gens Rerecording and Kega Fusion, and neither allows you to do that.

-VBA-M for the GBA/GB/GBC
I remember getting one of the coders to add the option to change the background color 0 over a year ago. You simply go to the following menus: Tools -> Palette Viewer, then click the "Change backdrop color" button.

As for the SNES, the only option I've found so far is to use vSNES, a utility which allows you to edit your savestates to view pretty much any information it contains, including the various graphical layers of the screen with any background color you might want. Unfortunately, it only shows the screen that was visible when you saved and a bit more beyond the edges, but that's it. You'd need to save constantly to get everything, making mapping a bit of a chore.

I'll try and look around tonight to see if new tools or emulators came around during the last year to change this sorry state of things. Nope, haven't found anything yet.
« Last Edit: July 06, 2010, 07:43:15 pm by TerraEsperZ »
Current project:
Mega Man: Powered Up (PSP)

Offline Will

  • Hero Member
  • *****
  • Posts: 602
Re: Alien 3 and parallax backgrounds
« Reply #2 on: July 06, 2010, 01:38:23 pm »
I'm not sure, but might get a cheat code that can freeze layers. Trop once gave me one that froze the watery wavy screen in the Underwater Grotto of Demon's Crest. Perhaps you should contact him. He'll probably provide you one, whether it works on Zsnes or Snes9x.

Offline RT 55J

  • Sr. Member
  • ****
  • Posts: 450
Re: Alien 3 and parallax backgrounds
« Reply #3 on: July 07, 2010, 12:27:46 am »
Provided the background doesn't share any colors with the foreground, just leave the background enabled in all your screenshots. You can then individually replace all of the colors in the background with some sort of "magic pink".


Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
Re: Alien 3 and parallax backgrounds
« Reply #4 on: July 07, 2010, 02:51:34 am »
It ought to be possible to hack the ROM to change the backdrop colour. If you have the necessary tools, dump the relevant palette and then search the ROM for those values, and edit the one in question.

(My SNES hacking experience is zero but that's how it's likely to work on almost any system.)

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Alien 3 and parallax backgrounds
« Reply #5 on: July 07, 2010, 05:25:49 am »
Being able to pop open the Memory viewer and change the background color (or any of the tile colors) is the only reason I haven't given up on mapping YTT, since they sometimes use background colors in use by the tiles of the same palette. (Why? :() My favorite color to set it to is F0 F0.


I really wish there was a SNES emulator with the same features as VBA.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline Master Bait

  • Newbie
  • *
  • Posts: 22
Re: Alien 3 and parallax backgrounds
« Reply #6 on: July 07, 2010, 05:56:28 am »
I checked out the vSNES tool but I couldn't get much out of it. First of all it seemed only compatible with the saves zsnes creates and I'm not friends with zsnes. I gave it (zsnes) a try though. First game I tried didn't even start. Second one starts but no sound (not that it matters but hey, it should work). Manage to save and load. Restart the emulator and load but then all colors get screwed up. Curse zsnes. Finally I manage to open the save in vSnes but I guess I'm many tutorials away from getting anything out of it.

tl;dr - I don't like zsnes and vSnes is complicated.

That said, I'd need alot of tutoring before I could perform any hack on anything  :-[



To turn it around and leaving the background layer on like RT is saying might be possible in some areas. Gonna try it out right now. Will also see if I can reach Trop about that code Will.


Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Alien 3 and parallax backgrounds
« Reply #7 on: July 07, 2010, 09:01:10 am »
I already saw this thread and poked around Alien 3 to see what I could do but I couldn't find any wavy backgrounds to freeze.  Which levels are they part of?

A thing about wavy backgrounds; even when frozen they can still move sometimes.  Using DKC2 as an example, if you play a sunken ship level with bg freeze code on to stop wavy movement you'll still get movement as you move.  This means you have space you screen captures at exact intervals to get everything lined up right and it's a pain.

When push comes to shove and you can't freeze a background at all check out the "BgMapper" program here: http://www.pikensoft.com/programs.html
The wave and any other fancy effects will be gone but at least you'll have your background.

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Alien 3 and parallax backgrounds
« Reply #8 on: July 07, 2010, 09:35:34 am »
BgMapper is a DOS application however, and still requires ZSNES savestates, which is why I suggested vSNES because it has more options and it works in Windows.

I know ZSNES development has been pretty much frozen in terms of release for several years, and apparently Snes9x has been too for about a year, so there's little chance of getting a coder to include an option to change the overscan color for either. Are there any other SNES emulator out there with similar accuracy still being actively worked on?
Current project:
Mega Man: Powered Up (PSP)

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Alien 3 and parallax backgrounds
« Reply #9 on: July 07, 2010, 10:04:10 am »
I gave it (zsnes) a try though. First game I tried didn't even start. Second one starts but no sound (not that it matters but hey, it should work). Manage to save and load. Restart the emulator and load but then all colors get screwed up. Curse zsnes. Finally I manage to open the save in vSnes but I guess I'm many tutorials away from getting anything out of it.

tl;dr - I don't like zsnes and vSnes is complicated.
Wow, that's weird. I've used ZSNES since day one and have never had any of those problems. What version do you use? I put my trust in v1.36.


I couldn't figure out how to work BGMapper until I realized I could set it as the default program for savestate files, making it a simple matter of doubleclicking. Now I use it for all my YI mapping. Once I have it open, I just resave the savestate and use Reload Scene. There are still things it can't do, however, like change the bgcolor.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Alien 3 and parallax backgrounds
« Reply #10 on: July 07, 2010, 11:41:57 am »
vSNES is a bit more elaborate, so it takes a bit more time to browse the layers, but you *can* change the background color, so it can be a life saver.
Current project:
Mega Man: Powered Up (PSP)

Offline Master Bait

  • Newbie
  • *
  • Posts: 22
Re: Alien 3 and parallax backgrounds
« Reply #11 on: July 07, 2010, 05:14:35 pm »
Guys, thanks alot. Seems like we actually found the sollution to this.

I changed my zsnes to version 1.51 and it now works as expected. I still prefer Snes9x and there was something about it's compatibility with vSnes on the vSnes webpage but I will settle with the combination zsnes + vSnes for now.

I simply open the savestate in vSnes, pick SceneViewer, go straight to the 'layers' tab, and here its already set on 'regular backgrounds' so all I did was picking 'costum' in the 'transparency' box to the right then picked a pigpink color.

We can't consider the case closed just yet tho. I was playing around with it a little and I'm a little puzzled with what is displayed in the 'layers' tab. It's NOT exactly what you see under the 'screen' tab. It's alot more. Hopefully this won't cause any troubles and might even be useful.
It's getting late here and I will put this method into use tomorrow and then get back here for the final verdict.

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Alien 3 and parallax backgrounds
« Reply #12 on: July 07, 2010, 06:03:31 pm »
There's a lot of information available there, not all of which I understand. Basically, vSNES allows you to see pretty much everything your savestate contains. Among other things, the SceneViewer allows you to see everything that was in the video memory when you saved. That's why you can see tiles, sprites, whole sections of the various layers including parts that were off-screen, etc. The fun/challenge is in actually using all those to reconstruct and/or complete what you capture while playing.
Current project:
Mega Man: Powered Up (PSP)

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Alien 3 and parallax backgrounds
« Reply #13 on: July 07, 2010, 07:09:03 pm »
What the savestate gives you is what the game has loaded into memory. The size of these really depends on the game, as some will load more than others. This is exactly what you get when you use VBA's map viewer, though the layers are separated out and not merged. Games will load anywhere from 256x256 to 512x512, or even more if it's something like Mode7 stuff. Too bad VBA doesn't have something to view the sprite arrangements in the same way.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Alien 3 and parallax backgrounds
« Reply #14 on: July 07, 2010, 07:23:44 pm »
Nevertheless, all emulators should include the same tools (if possible) as VisualBoyAdvance :).
Current project:
Mega Man: Powered Up (PSP)