BombJack, maybe won't be a game though!

developing/porting a new game or gaming framework? post in here!
Post Reply
User avatar
tricky
Posts: 7713
Joined: Tue Jun 21, 2011 9:25 am
Contact:

BombJack, maybe won't be a game though!

Post by tricky »

I've been looking at more sprite routines and games that they might work for and have settled on BombJack for a MODE 2 game.
I don't usually like mode 2 games as I can't use the arcade pixels but usually with a reduced palette and movement is too fast or 25fps.
BombJack in the arcades moves horizontally 1 pixel one one frame and then 2 on the next meaning that it isn't very smooth anyway!
This would be 1*30 + 2*0 = 90 native pixels per second, on the beeb MODE 2 moving one double pixel every frame would be the equivalent of 2*50 = 100, so very close.
The other sprites move at fractional rates anyway, so will never by 50/60Hz smooth.
The other thing with MODE 2 is that one option is to draw the "background" using four colours and the "sprites" using three colours which allows sprites to be ORed on and the screen to be ANDed with either #&F0 or #&0F (your choice) to remove sprites (2nd fastest general sprite clear routine after just storing background colour).
So, with near 1 50fps MODE 2 pixel per frame of the main character and a background image needing to be kept, this is a good choice for a MODE 2 sprite demo that could be made into a game.
The second advantage of MODE 2 after having more colours is that you only need two copies of the gfx to cover all horizontal positions which means 1/2 the memory required than MODE if your store the shifted copies.

With 5 large backgrounds to store and quite a lot of sprites and animation, it isn't going to fit on a 32K beeb, so first thing required is to support a bank of SWRAM, which is simple if you don't use the OS as once you have control, you can swap it in and just run with 48K, although the screen has to go in the lower 32K of that, but it can be anywhere in that lower 32K.

So far, I have compressed the backgrounds by converting them to four colour (inc red) images, tiling them and compressing the tile maps but not the tiles (because they are too big to decompress on the fly when needed).

The backgrounds take up about 13+K, but borrowing a trick from Sarah, as they only need 2 bits per pixel, 4 bits per bytes, the sprites which currently are allocated 8KB go into the same memory as they only need the other bits in each byte - Yah Sarah :) The sprites could be extended to 12K as nothing else is likely to go in that memory but I haven't yet done that.

There are also 63 levels to define which use various combinations of backgrounds and bomb/platform layouts.

The sprite routines are written to draw sprites at each horizontal position, mirrored (X>=128), flipped upside down (sprite>=128) and disabled (Y=0). They are drawn in four bands down the screen, each band waits for the beam to be at the bottom of it and:
1st quarter clears any sprites wholy in it.
2nd quarter clears any sprites wholy in it and draws any sprites wholy in the 1st quarter.
3nd quarter clears any sprites wholy in it and draws any sprites wholy in the 2nd quarter.
4th quarter clears any sprites wholy in it and draws any sprites wholy in the 3nd or 4th quarter.
This allows a good balance between simple code and maximum time available to draw things without flicker.

This current demo only loops, drawing the 63 screens with their platforms and then adds the bombs in the order that they will become active. This is a quick reminder, but could be removed if it is unpopular. The SWROM is nearly full, but main memory has over 15K free and could easily be more byt removing the blank edges of the screen!
TrickycadeTileGame2.ssd
(19.25 KiB) Downloaded 45 times
If you can draw a better background, then the easiest way is to draw them in MODE 5, 104x192 pixels (top two rows+ are always background colour). I have reserved red on each screen for the bombs, but they could be different colours on each background if it looks better. They also needs to compress well, so the number of tiles in a screen needs to be no more than 256 and the total for the five screens about 1000 (each screens tiles are separate for simplicity). The colours are: background, darker, lighter, bomb (currently always red).

There are at least two other BombJack games in development, so don't be too disappointed if I don't make this into a game. One of the others in RobC's VideoNuLA version, which will be amazing when (if) finished and I'm afraid that I have forgotten the other (please post here).

As usual any feedback or questions about how I do things or how could things be done are very welcome :)
User avatar
tricky
Posts: 7713
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BombJack, maybe won't be a game though!

Post by tricky »

OK, so does bombjack need backgrounds, that is, could it be done in MODE 1?
Without them it could have recogniseable sprites although there would still need to be palette reuse to fit in four colours.
Is removing the backgrounds a step too far?
User avatar
tricky
Posts: 7713
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BombJack, maybe won't be a game though!

Post by tricky »

I didn't think that RobC had got far with BombJack, but now I've found the video "BeebJack" I see I was wrong.
https://www.youtube.com/watch?v=LDzDDncRDeY

URL:https://youtu.be/LDzDDncRDeY
Unfortunately retrosoftware seems to be down http://retrosoftware.co.uk/wiki/index.php/Beeb_Jack so I can't get the demo.
I think Rob was working on a VideoNuLA enhanced version, but I can't find that.
User avatar
BigEd
Posts: 6278
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: BombJack, maybe won't be a game though!

Post by BigEd »

> Unfortunately retrosoftware seems to be down

Perhaps see
https://web.archive.org/web/20150630035 ... /Beeb_Jack
(which has images)
and/or
https://github.com/simondotm/stardot-wi ... /Beeb-Jack
(which has an ssd in a zip)
RobC
Posts: 3816
Joined: Sat Sep 01, 2007 10:41 pm
Contact:

Re: BombJack, maybe won't be a game though!

Post by RobC »

tricky wrote: Wed Sep 07, 2022 9:01 pm I didn't think that RobC had got far with BombJack, but now I've found the video "BeebJack" I see I was wrong.
https://www.youtube.com/watch?v=LDzDDncRDeY

URL:https://youtu.be/LDzDDncRDeY
Unfortunately retrosoftware seems to be down http://retrosoftware.co.uk/wiki/index.php/Beeb_Jack so I can't get the demo.
I think Rob was working on a VideoNuLA enhanced version, but I can't find that.
That's quite an old version - the graphics have been reworked since then (by Dethmunk/John Blyhte) and I have some of the enemies making an appearance. I haven't given up on it and do still work on it from time to time but there are long gaps between short bursts of activity :oops:

I haven't done much on the VideoNuLA version - I did play with some of the colours but I decided to devote the little time I spend on it to getting the game running first.
User avatar
tricky
Posts: 7713
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BombJack, maybe won't be a game though!

Post by tricky »

RobC wrote: Thu Sep 08, 2022 8:57 am That's quite an old version - the graphics have been reworked since then (by Dethmunk/John Blyhte) and I have some of the enemies making an appearance. I haven't given up on it and do still work on it from time to time but there are long gaps between short bursts of activity :oops:
...
That's great news Rob.

I did have one last play with hexwab's dithertron to see what MODE 1 versions would look like and even using red as one palette entry, they are in my opinion many times better than my MODE 2 attempts. They would require the background including the bombs and platforms to be redrawn, but that still allows probably enough sprites if it drops to 25fps (game would not slow down) when necessary.

I have also attached the source for the main part of the "game" in case anyone was curious.
Attachments
game.zip
(9.31 KiB) Downloaded 36 times
egypt-bbcmicro.mode1.png
egypt-bbcmicro.mode1.png (5.83 KiB) Viewed 3248 times
california-bbcmicro.mode1.png
california-bbcmicro.mode1.png (8.83 KiB) Viewed 3248 times
rome-bbcmicro.mode1.png
rome-bbcmicro.mode1.png (6.42 KiB) Viewed 3248 times
new_york-bbcmicro.mode1.png
new_york-bbcmicro.mode1.png (3.75 KiB) Viewed 3248 times
germany-bbcmicro.mode1.png
germany-bbcmicro.mode1.png (8.86 KiB) Viewed 3248 times
User avatar
ChrisB
Posts: 551
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: BombJack, maybe won't be a game though!

Post by ChrisB »

So I thought I'd have a quick play around for 10 minutes. Some time later I'm not sure what I've achieved..... I think my source images may be a different size as well....
The "right" answer is probably to have someone with some artistic talent redraw them. The Mode 1 images do look pretty good though. I didn't like the black background for Greece (Rome :? ) so I've played with the colours and contrast.
mode1greece.png
mode1greece.png (7.4 KiB) Viewed 3192 times
I also tried a bit of contrast adjustment for Egypt
mode1egypt.png
mode1egypt.png (14.49 KiB) Viewed 3192 times
And similar for Germany with a couple of alternatives to try and bring out the detail.
mode1germany.png
mode1germany.png (14.62 KiB) Viewed 3192 times
mode1germany2.png
mode1germany2.png (13.01 KiB) Viewed 3192 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Beebson
Posts: 149
Joined: Tue Jan 18, 2022 2:24 pm
Contact:

Re: BombJack, maybe won't be a game though!

Post by Beebson »

tricky wrote: Wed Sep 07, 2022 8:49 pm OK, so does bombjack need backgrounds, that is, could it be done in MODE 1?
Without them it could have recogniseable sprites although there would still need to be palette reuse to fit in four colours.
Is removing the backgrounds a step too far?
Bombjack will work fine without the backgrounds, playability-wise, that is. But it won´t be the same. ;)
User avatar
fwibbler
Posts: 763
Joined: Thu Jan 13, 2005 10:37 pm
Location: Essex
Contact:

Re: BombJack, maybe won't be a game though!

Post by fwibbler »

I know this is an old thread, but have a look at this WIP port of Bombjack for the Amstrad CPC.
It also uses MODE 1 (4 colour graphics)
https://www.indieretronews.com/2023/07/ ... .html#more
Post Reply

Return to “new projects in development: games”