Hi,
i think the Commodore VIC20: Software Sprite Stack library is the best address for this.
We have no in game scrolling, except when the level changes and I can do that in Assembler.
Or see the book "Programing the VIC" from Compute! on page 390 and 400.
I found a comparison video from BB on YouTube. If the other 6502 systems can do it, then our VIC-20 can do it too!
https://www.youtube.com/watch?v=UgynBsgwSyI
WIP: Bubble Bobble
Moderator: Moderators
- MrSterlingBS
- Vic 20 Enthusiast
- Posts: 183
- Joined: Tue Jan 31, 2023 2:56 am
- Location: Germany,Braunschweig
Re: WIP: Bubble Bobble
Hi, nice link. Thanks MrSterlingBS! There are, indeed, several strategies adopted to bypass the limits of some of those systems, which could be replicated on our Vic20.MrSterlingBS wrote: ↑Fri Apr 26, 2024 1:02 am Hi,
i think the Commodore VIC20: Software Sprite Stack library is the best address for this.
We have no in game scrolling, except when the level changes and I can do that in Assembler.
Or see the book "Programing the VIC" from Compute! on page 390 and 400.
I found a comparison video from BB on YouTube. If the other 6502 systems can do it, then our VIC-20 can do it too!
https://www.youtube.com/watch?v=UgynBsgwSyI
The worst version anyway...is the Spectrum one....!!! While the minimum reachable version could be the AppleII one, which looks quite bad, but it's just as a minimum target.. I like the ideas in the BBC version which sounds reasonable. Also the number of monsters could be reduced, such as the platforms, if needed..
Re: WIP: Bubble Bobble
Yes, I think that would be a good fit, Popeye and Pooyan also both used that (Popeye in heavily modified form to allow 3x2 character sprites). Also, TRSE maybe another candidate.MrSterlingBS wrote: ↑Fri Apr 26, 2024 1:02 am Hi,
i think the Commodore VIC20: Software Sprite Stack library is the best address for this.
https://www.youtube.com/watch?v=UgynBsgwSyI
Re: WIP: Bubble Bobble
Yes, that is what you should be aiming for although the beeb runs at twice the speed of the Vic. If you went for Multicolor mode that helps as your objects move a minimum of two pixels at a time.
I might be able to do the music and sound effects if someone wants to take it on.
- pixel
- Vic 20 Scientist
- Posts: 1374
- Joined: Fri Feb 28, 2014 3:56 am
- Website: http://hugbox.org/
- Location: Berlin, Germany
- Occupation: Pan–galactic shaman
Re: WIP: Bubble Bobble
Those two sprites seem to have sparked some motivation. How about some more?
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
https://github.com/SvenMichaelKlose
- AndyH
- Vic 20 Afficionado
- Posts: 369
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: WIP: Bubble Bobble
I found a nice piano note key (A, C, etc) listing for it which made converting it really easy.Hewco UK, who for sure is reading this now .... also made a nice video with the soundtrack, few years ago.
https://www.youtube.com/watch?v=myEIysrkwsA
I did consider making this game myself, having done many remakes of old favourite games on Windows back in the 2000's, but these days it is a bit of a minefield to work on remakes as they are once again popular and have some value for the owners.
I also didn't know how I'd solve the problem of drawing and moving so many bubbles around at the time while keeping in one screen refresh (50 fps) or at worst two (25 fps). With more experience, I know how to better deal with that if I were to attempt it today. My advice is to go the full screen bitmap route for something like this and use XOR drawing for the bubbles and the players / monsters, so you can limit redrawing and moving to alternate frames. You can also use tricks like Jetpac uses and erase & draw lines in the sprite characters from bottom up in one operation to reduce the effect of raster refresh collision problems.
With some exceptional recent remakes on the Vic such as Prince of Persia, HERO and Arkanoid (amongst others), it would be great to see Bubble Bobble join that list so good luck and will be watching with interest.
- Mike
- Herr VC
- Posts: 4850
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: WIP: Bubble Bobble
On the C64, only Bub, Bob and the enemies are done with sprites, at full frame rate. The bubbles are not animated with anything near full framerate, and actually are part of the background graphics.AndyH wrote:I also didn't know how I'd solve the problem of drawing and moving so many bubbles around at the time while keeping in one screen refresh (50 fps) or at worst two (25 fps).
On the VIC-20, that'd imply having two 'layers' of soft-sprites: the top layer for Bub+Bob+enemies which gets updated more often, and the bottom one which contains the bubbles, again as part of the background. Collisions of the enemies with the bubbles can be handled by checking co-ordinates.
- AndyH
- Vic 20 Afficionado
- Posts: 369
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: WIP: Bubble Bobble
Yea, it's a shame its not speed efficient to have layers, but with some trade-offs the XOR drawing and erasing allows you to achieve the end result. There would be more compromises for multicolour, but you can spread updating the bubbles over several frames while moving other things such as Bub and Bob more frequently.On the VIC-20, that'd imply having two 'layers' of soft-sprites: the top layer for Bub+Bob+enemies which gets updated more often, and the bottom one which contains the bubbles, again as part of the background. Collisions of the enemies with the bubbles can be handled by checking co-ordinates.
In this uncompleted game, which is using smaller hires objects, the player is always moving and the baddies moving less often. Collisions are rough distance checks. It looks like everything is moving at a good speed but its all an illusion. Just the colour clashing that is evident from time to time but you notice it less while playing and your focus is on blasting everything.
https://youtu.be/SFPE9BT7Dh4?si=fNoV6UrzUqIRR093&t=31