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?)!StanVanman wrote: ↑Sun May 05, 2024 11:32 pm Well, it wouldn't be arcade perfect if it was called "Galaxians"
Pacman RX WIP
-
- Manic Miner
- Posts: 552
- Joined: Thu Feb 03, 2022 11:05 pm
Re: Pacman RX WIP
Re: Pacman RX WIP
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.
-
- Manic Miner
- Posts: 272
- Joined: Wed Dec 15, 2021 9:15 pm
Re: Pacman RX WIP
The Speccy definitely needs a better Galaxian. And pretty much any kind of Galaga.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.
- Lee Bee
- Dynamite Dan
- Posts: 1403
- Joined: Sat Nov 16, 2019 11:01 pm
- Location: Devon, England
- Contact:
Re: Pacman RX WIP
Re: Pacman RX WIP
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!
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
Re: Pacman RX WIP
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.
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
EDIT: Also the screen clear was nice how it did a horizontal wipe over a few frames.
Re: Pacman RX WIP
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.
Re: Pacman RX WIP
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
Re: Pacman RX WIP
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
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
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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).
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).
Re: Pacman RX WIP
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.
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.
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
Re: Pacman RX WIP
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.
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
-
- Manic Miner
- Posts: 552
- Joined: Thu Feb 03, 2022 11:05 pm
Re: Pacman RX WIP
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
https://spectrumcomputing.co.uk/entry/1 ... /Galaxians
EDIT: I assume they called it Galaxians so as not to attract attention from Namco's legal department lol
EDIT: I assume they called it Galaxians so as not to attract attention from Namco's legal department lol
Re: Pacman RX WIP
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.
- ParadigmShifter
- Manic Miner
- Posts: 829
- Joined: Sat Sep 09, 2023 4:55 am
Re: Pacman RX WIP
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.
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.
Re: Pacman RX WIP
Interestingly, Moon Cresta was actually the first officially licensed arcade conversion for the Spectrum.