Pacman RX WIP

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
worcestersource
Manic Miner
Posts: 552
Joined: Thu Feb 03, 2022 11:05 pm

Re: Pacman RX WIP

Post by worcestersource »

StanVanman wrote: Sun May 05, 2024 11:32 pm Well, it wouldn't be arcade perfect if it was called "Galaxians" :lol:
Ha. I guess not. I think I’ve become my mother by adding an ‘s’ to things. Still, it’s funny winding my son up by misnaming bands (‘The One Directions’ anyone?)!
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

it's funny you should mention Galaxian - it's certainly something I've considered, because even though the official conversion is pretty good, it could be a bit smoother and faster, especially if it has AY sound effects. That being said, I have a pretty long 'to do' list, so it probably won't be for a while.
StanVanman
Manic Miner
Posts: 272
Joined: Wed Dec 15, 2021 9:15 pm

Re: Pacman RX WIP

Post by StanVanman »

highrise wrote: Tue May 07, 2024 10:59 pm it's funny you should mention Galaxian - it's certainly something I've considered, because even though the official conversion is pretty good, it could be a bit smoother and faster, especially if it has AY sound effects. That being said, I have a pretty long 'to do' list, so it probably won't be for a while.
The Speccy definitely needs a better Galaxian. And pretty much any kind of Galaga.
User avatar
Lee Bee
Dynamite Dan
Posts: 1403
Joined: Sat Nov 16, 2019 11:01 pm
Location: Devon, England
Contact:

Re: Pacman RX WIP

Post by Lee Bee »

If you ever fancy having a go at Pac-Land (a huge undertaking), I've already done arcade-accurate sprites, music and logo. I was hoping they could be added to Ralf's mod but it never happened.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

Pac-Land is a fun game, the PC-Engine version is great, but on the Spectrum I really prefer the golden age single screen games because I know it's possible to really do them justice. You can certainly expect more of them from me!
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

Nice (bit juddery though maybe that's youtube or the music uses a lot of frame time in which case probs limit the frame rate to make it smooth).

There's at least 1 other cutscene but not many people get to see it where the ghost snags its sheet on a nail IIRC.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

yes, the judder is almost entirely due to the way the video is recorded. I don't allow any of the unholy trinity of jerk, flicker or tear :)

There are three cutscenes in total, all of which I will include.
Last edited by highrise on Sun May 12, 2024 1:46 am, edited 1 time in total.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

Also, are you simulating the gameplay at the arcade resolution/speed of movement and then adjusting the output positions to fit the speccy screen or are you doing all the movement and collision in the native speccy resolution?

EDIT: Also the screen clear was nice how it did a horizontal wipe over a few frames.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

Let's say I'm cooking it on a Spectrum with an arcade recipe, adjusting wherever appropriate for optimal results really. It's running at 50hz which means it is a bit slower than the arcade, though the way the maze is built might make up for that a bit. There's a full set of dev videos with commentary if you're curious.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

re the wipe, I first used it in Lunar Rescue, since both games are supposed to be on a vertical monitor I wrote a wipe routine that just gives it that extra arcade feel. Always makes me happy when someone notices it.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

I watched a couple of them, they are good.

I was thinking it probably would be a good idea to implement the movement at the arcade res and have lookup tables for row/column to output the sprites, you probably only need a lookup table for the row and the column transform unless I'm missing some complication which would mean you'd need a mapping from every cell. EDIT: That's how I'd go about it anyway in order to be as arcade accurate as poss but it's your game and it looks excellent, will probably be the best pacman variant when released.

50Hz is fine obvs since you can't run at 60Hz on a UK Speccy and frame compensating for that would probably be noticeable.

I wrote some pretty fast 8x8 sprite rendering routines but those don't preshift the sprites I assume you probably preshift since there aren't many sprites.

I might update it to have a preshift version for better speed (probably use less memory than the memory hog unroll a load of loops to do the shifting as fast as poss I did anyway lol). With no preshifting I will probably be able to support a lot more 8x8 sprites in the long run though compared to memory usage of code to make it fast.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

Galaxian obviously has too much going on at once to run at 50fps on a Speccy unless you can cheat and only update a few alien positions per frame (maybe it does that not seen a video of it recently, not sure if Galaxian had sprite hardware or not? I know it also used a Z80 though). I was going to try doing a Robotron style game where I only update a couple of enemies per frame at one point but then that sort of fizzled out (when I realised how crap the graphics looked lol).

EDIT: Seems to update a lot of stuff maybe every other alien per frame, which is still a lot lol



EDIT2: Can probably draw an entire column of aliens at once though if they 12x8 using the stack to blit and offsetting the column by 1 when they cross an 8 wide boundary hmm. You can probably flag aliens as alive/dead and when they move to swoop formation mark them as dead/inactive and put them in a swoop list. Gah too many ideas not enough time lol ;) Drawing a column at a time is helped by the fact they don't seem to bob up and down (except via the animation changing)

EDIT3: Nah that's gonna work and flipping the monitor 90 degrees so you draw left to right not top to bottom definitely makes drawing easier as well.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

regarding Pacman, yes, all sprites are preshifted and also stored in pages so that shifting is done by simply reading the X offset and adding it to the source. Overall this uses about 2k. I have a full screen buffer at $C000 to allow quick testing, so that's another 7k. Pacman sprite is handled individually, ghost sprites in a 128 byte table with each one having 16 attributes. Including within this are 16-bit speed and co-ordinates to allow sub pixel calculations, and storing the draw address. This allows all sprites to be cleared and then redrawn before the raster beam hits the maze, hence no flicker or tearing.

regarding Galaxian, I've already made a working model that uses something similar to what you describe using the stack with 12 x 8 aliens. It easily allowed a row of aliens to be drawn. Much like Lunar Rescue, the Y value of most of these aliens is always known, so can quite easily be drawn in order, taking the beam into account - so much so that I was actually able to use a multicolour technique to split the attributes in half as well, although I doubt this would work with a background layer. In fact in general this method doesn't really play nicely with the other elements such as starfield and 'attacking' enemies, but those could likely be overcome. Something for the future I guess, slowly working my way through all the classics :)
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

I was thinking drawing each column rather than each row with a bitflag for "skip drawing this galaxian" since all columns have the same animation frame (apart from the ones at the very top which don't animate at all?) and it looks to me like they don't update every column each frame.

12x8 with 1 pixel x offset doesn't work very well with using the stack to copy them though since they can span 3 cells (unless you draw more than 1 column at once).

If you have a draw/don't draw flag you can draw any starfield when you aren't drawing a galaxian.

However I looked at the existing galaxian games (the official one and the Artic ones seem the best) and those are both pretty good really (especially the artic one considering how early it was and considering it was 16K).
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

This is a screen capture of the experiment I did about four years ago. It was possible to draw all the aliens in a single cycle, with 2 pixel colour banding, and have them animate and be shot. It pushed the whole thing to the limit though, and in the end I decided it was an interesting tech demo but not something that could become a full game.


Image

Incidentally, you actually don't need a draw / don't draw flag. if you unroll the stack calls, you can add or remove aliens by simply changing which register you pop or push via self mod (i.e one register pair holds $0000) The action of drawing itself becomes the flag, and so then you don't even need to do a check.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

Looks good with the colour banding but I think I would have them single colour if I tried it so they could be closer together (12 pixels apart in Y say, and 16 apart in the X direction), then you could get all 6 rows in without using too much vertical space (72 pixels). Swooping aliens would need to be drawn in a separate pass of course and they are like 16x16 (at least on the NES version which I have a tile rip for).

If you use a flag you can switch between drawing starfield in the gaps between the aliens though which you can't do with a fixed register is what I was thinking. You only need to update gaps if the column is not moving this frame then rather than redraw the aliens.

I might have a go at coding it that way and see how that runs at some point in the future anyway. I think something similar to what you are doing for pacman make the screen tall and narrow (also what Artic did) would work best as well.

EDIT: Also had a look at Galaga that's way more advanced the aliens bob up and down and get further away from each other instead of just moving right and left, don't think that would be doable at all.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

Well, perhaps we can compete or collaborate in the future, who knows :) You're right about the Arctic version, it was very well done for the time. Someone made a Galaxian clone quite recently which was on par with it, but I can't help thinking that a more arcade accurate version is doable.

https://spectrumcomputing.co.uk/entry/3 ... lien_Blast


regarding Galaga, never say never, i have a few ideas about how to make that work but it's all way off in the future.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

It's weird that 3 of the best arcade conversions on the speccy came out really early and were 16K... Pheenix, Orbiter and Galaxians. Orbiter was probably the worst of those 3 but it was the best defender game for a good while.

EDIT: And then we had a lot of dross like Ocean's original Kong and Hunchback.

Obviously Hyper Sports and Green Beret were the best arcade conversions I remember back in the day before my Speccy broke.
worcestersource
Manic Miner
Posts: 552
Joined: Thu Feb 03, 2022 11:05 pm

Re: Pacman RX WIP

Post by worcestersource »

Alien Blast looks good. If only the sounds were more authentic! I think that’s where Pacman RX’s attention to detail really comes through.
User avatar
Lee Bee
Dynamite Dan
Posts: 1403
Joined: Sat Nov 16, 2019 11:01 pm
Location: Devon, England
Contact:

Re: Pacman RX WIP

Post by Lee Bee »

ParadigmShifter wrote: Sun May 12, 2024 9:36 pm Pheenix, Orbiter and Galaxians
Image
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

https://spectrumcomputing.co.uk/entry/1 ... /Galaxians

Image

EDIT: I assume they called it Galaxians so as not to attract attention from Namco's legal department lol ;)
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

Hyper Sports and Green Beret are great conversions. You can usually tell when someone really knows and loves the game. Moon Cresta also deserves a mention.
User avatar
ParadigmShifter
Manic Miner
Posts: 829
Joined: Sat Sep 09, 2023 4:55 am

Re: Pacman RX WIP

Post by ParadigmShifter »

Yup Moon Cresta was excellent too but I'd put it in the later releases category than the earlier decent 16K ones.

Penetrator was an excellent Scramble clone too and also early.

I think there was a good version of Moon Patrol (or Buggy or something) the one with the craters too. (Let's face it Lunar Jetman was too hard and boring as well) :)

And I nearly forgot the Anirog Missile Command Clone too

https://spectrumcomputing.co.uk/entry/3 ... le_Defence

Oh I see that was by Keith Burkhill (Commando/Ghosts N' Goblins and others) so not surprising really ;) Moon Buggy was also an Anirog game.

EDIT: There were a few good versions of Centipede too I had a 16K one of those too which was pretty good as well.
highrise
Manic Miner
Posts: 327
Joined: Fri Mar 20, 2020 11:29 pm

Re: Pacman RX WIP

Post by highrise »

Interestingly, Moon Cresta was actually the first officially licensed arcade conversion for the Spectrum.
Post Reply