Author Topic: How'd they do that? Explaining PC Engine tricks.  (Read 2531 times)

Black Tiger

  • Hero Member
  • *****
  • Posts: 11242
How'd they do that? Explaining PC Engine tricks.
« on: September 14, 2007, 04:28:52 PM »
If you're wondering how a particular crazy effect is achieved in a PC Engine game, post it here and hopefully the resident programming experts will unravel them for us. :)


One thing I'd like explained is vertical scrolling/overlapping of background sections. In that other thread, I pointed out the third stage of Magical Chase.

Jackie Chan and Bravo Man have some simple overlapping vertical 'scrolls', but one in particular that got me thinking about this the other day is the elevator bg 5 minutes into Toneman's video.
« Last Edit: September 14, 2007, 04:30:43 PM by Black Tiger »
http://www.superpcenginegrafx.net/forum

Active and drama free PC Engine forum

malducci

  • Guest
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #1 on: September 14, 2007, 05:11:18 PM »

 Riot zone: elevator part.

 The effect is a single hsync break in the screen to divide the elevator floor and the wall. The columns that fake the see through layer are dynamic tiles (animated in this case). The game even animates, or pauses the animation, of the column tiles to be in sync with the elevator floor when it shakes or rumbles.

 Some pics:

The normal screen:


Minus Sprites:


Just sprites:


Here's a view of the PCEs memory when view in tile mode. See the single tile, halfway down the window/block and to the left (16x16 block)? That single tile is used for the whole column(s). When you animate that single tile, the whole column animates.



;)


Keranu

  • Hero Member
  • *****
  • Posts: 9054
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #2 on: September 14, 2007, 05:26:01 PM »
Excellent thread and excellent respond by malducci! I'm sure I have a bunch of questions as well, but I'll have to go back and look for them.
Quote from: Bonknuts
Adding PCE console specific layer on top of that, makes for an interesting challenge (no, not a reference to Ys II).

akamichi

  • Sr. Member
  • ****
  • Posts: 403
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #3 on: September 14, 2007, 06:01:03 PM »
I don't remember Batman being a hidden character in riot zone!  hehehehehe.  :-"

- akamichi

Keranu

  • Hero Member
  • *****
  • Posts: 9054
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #4 on: September 14, 2007, 06:22:54 PM »
Haha, that was some hack malducci made awhile back :D . At least I'm pretty sure malducci made it.

Mal you should replace the sprite with Cody from Final Fight (if possible) ;) .
Quote from: Bonknuts
Adding PCE console specific layer on top of that, makes for an interesting challenge (no, not a reference to Ys II).

Turbo D

  • Hero Member
  • *****
  • Posts: 3989
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #5 on: September 14, 2007, 06:27:43 PM »
I think he made that hack already

malducci

  • Guest
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #6 on: September 14, 2007, 06:30:00 PM »
The cody sprite is already in there (the 2 frames for punching), I just had the batman frame in as the stance frame. I lost the motivation to finish it since I got more exciting projects to work on ;)


Quote from: akamichi
I don't remember Batman being a hidden character in riot zone!  hehehehehe.  Whistle

- akamichi

Akamichi! The man  :wink:
« Last Edit: September 14, 2007, 06:31:43 PM by malducci »

Keranu

  • Hero Member
  • *****
  • Posts: 9054
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #7 on: September 14, 2007, 06:46:25 PM »
Ahh, yeah I wasn't sure if he made a hack of that or not. I'd still like to see a stage of the arcade Final Fight ported to the PCE ;) . There was some programmer who was working on a cool Strider demo for PCE (or SGX?), but I don't know what happened to it. He was working on some other way cool things too!
Quote from: Bonknuts
Adding PCE console specific layer on top of that, makes for an interesting challenge (no, not a reference to Ys II).

Arjak

  • Hero Member
  • *****
  • Posts: 777
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #8 on: September 15, 2007, 08:40:38 AM »
In the intro of Lords of Thunder, there's this moment in the intro as Landis takes off and the background has this neat rotating like effect, it looks weird, like a backdrop falling down at a play. Looks cool though. How did they do that one?
He who dings the Gunhed must PAAAAY!!! -Ninja Spirit

malducci

  • Guest
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #9 on: September 15, 2007, 09:15:03 AM »
That's an Hsync effect. Spriggan Mark 2 also does this in the intro.

 You can stretch or sine warp an image vertically by using hsync interrupts to change the BG position on every scanline. You know that cool effect in Axelay that looks sort of mode-7? It's not. It's an hsync effect just like intro to LOT. Check out Chris Covell's page as he has a demo showing this effect on the SGX (and it has some PCE versions bundled in with it). He also has some vertical warping demos on the same page.

 The effect work like this:

frame one:

 scanline 120: set BG to position 60
 scanline 121: set BG to position 60
 scanline 122: set BG to position 60
 scanline 123: set BG to position 61
 scanline 124: set BG to position 61
 scanline 125: set BG to position 61

frame two:

 scanline 120: set BG to position 60
 scanline 121: set BG to position 60
 scanline 122: set BG to position 61
 scanline 123: set BG to position 61
 scanline 124: set BG to position 62
 scanline 125: set BG to position 62

frame two:

 scanline 120: set BG to position 61
 scanline 121: set BG to position 62
 scanline 122: set BG to position 63
 scanline 123: set BG to position 64
 scanline 124: set BG to position 65
 scanline 125: set BG to position 66

That's simplifying it though, as LOT didn't stretch ever pixel to the same width but instead gave it a skewed look.


Black Tiger

  • Hero Member
  • *****
  • Posts: 11242
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #10 on: September 16, 2007, 07:52:40 AM »
Final Fantasy IV on Wonderswan color used that Axelay effect for the world map when flying the airship.

It worked pretty good and is one way that a 'warping' world map could be done in a Turbo RPG or Final Fantasy port.


Now that I know that sections of background can push over the rest, the HP bar in SFIICE and the Neo Geo ports makes sense. :)
« Last Edit: September 16, 2007, 07:56:52 AM by Black Tiger »
http://www.superpcenginegrafx.net/forum

Active and drama free PC Engine forum

Keranu

  • Hero Member
  • *****
  • Posts: 9054
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #11 on: September 16, 2007, 08:19:33 AM »
Final Fantasy IV on Wonderswan color used that Axelay effect for the world map when flying the airship.

It worked pretty good and is one way that a 'warping' world map could be done in a Turbo RPG or Final Fantasy port.
That's cool, I didn't know about that! Might be something to look into for any PCE coders out there making an RPG or something.
Quote from: Bonknuts
Adding PCE console specific layer on top of that, makes for an interesting challenge (no, not a reference to Ys II).

ParanoiaDragon

  • Hero Member
  • *****
  • Posts: 4619
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #12 on: September 17, 2007, 08:08:21 PM »
Yeah, we just gotta find some PCE coders that are working on any RPG's.....now where to find them :-"

Joe Redifer

  • Hero Member
  • *****
  • Posts: 8178
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #13 on: September 30, 2007, 12:49:06 AM »
In games like Gate of Thunder or many others where the Turbo actually shows graphic scaling, is there a scaling subroutine written in to the programming, it is it just animated tiles?

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: How'd they do that? Explaining PC Engine tricks.
« Reply #14 on: September 30, 2007, 05:31:17 AM »
The scaling of the enemy ships and the moving blocks in Stage 2, etc, are just animations.

The PCE hardware can't scale any sprites or backgrounds, but by changing the scrolling at each scanline, vertical scaling of backgrounds can be achieved -- a common trick on many game systems.