Jump to content
IGNORED

Bomber Hero (WIP)


Recommended Posts

Good job! I just wanted to mention that with the 7800 160A mode there are 8 palettes for sprites instead the NES can only use 4 palettes for sprites, therefore the 7800 has double number of colors available for sprites than the NES (same goes for the tiles). Also, the 7800 features a palette of 256 colors instead the NES has a palette of only 48 colors and 6 grays. So, if you like the idea, you might have fun making a much more colorful version than the NES version.

Edited by Defender_2600
  • Like 2
Link to comment
Share on other sites

4 hours ago, Defender_2600 said:

Good job! I just wanted to mention that with the 7800 160A mode there are 8 palettes for sprites instead the NES can only use 4 palettes for sprites, therefore the 7800 has double number of colors available for sprites than the NES (same goes for the tiles). Also, the 7800 features a palette of 256 colors instead the NES has a palette of only 48 colors and 6 grays. So, if you like the idea, you might have fun making a much more colorful version than the NES version.

Thanks Defender, yeah the plan is/was to make the game somewhat of a hybrid of BM1 and BM2. Even on the NES BM2 visually looks pleasing on the eyes and the soundtrack is amazing. To start with i really just wanted to get some graphics on the screen and work on the engine. Now as the project has progressed, i have been contemplating whether to make it faithful to BM1 and keep the original graphics, or go with the hybrid concept.

 

As for pallets for the background tiles, i was always under the assumption that in 160A mode you can only use 1 of the 3+1 colour pallets per background. And to change the colours it requires changing the pallet values or use a different pallet index. AFAIK 160B would allow up to 12 colours to be used for the background tiles or sprites which uses 4 of the 8 pallets.

 

-Anthony

  • Like 1
Link to comment
Share on other sites

I think you could go pretty far with this - the original NES games didn't have big bosses like the SNES ones did, but your game could totally do that because the Atari 7800 can scroll larger graphics around the screen with a background.  

 

 

If that doesn't load to the right time, the first boss is around 8:50.  It's just a big mostly static character that floats around and occasionally uses an attack.  Not super graphically intense, doesn't require very good AI or anything.  I'd think this would be totally possible on the 7800.

  • Like 6
Link to comment
Share on other sites

On 1/16/2021 at 10:19 AM, TwentySixHundred said:

Now as the project has progressed, i have been contemplating whether to make it faithful to BM1 and keep the original graphics, or go with the hybrid concept.

Considering the depth of color you can get with the 7800 160 modes, you can also aspire to overtake Bomberman II on the NES. After your answer it made me curious to see how far you could go with the graphics, so I started looking at some 16-bit versions and did some experiments. I think you could do a very good graphic conversion of the TurboGrafx-16 (1990)... which was later also converted for Amiga (1991), Atari ST (1992), DOS (1992), and Sharp X68000 (1991).

 

On 1/16/2021 at 10:19 AM, TwentySixHundred said:

As for pallets for the background tiles, i was always under the assumption that in 160A mode you can only use 1 of the 3+1 colour pallets per background. And to change the colours it requires changing the pallet values or use a different pallet index. AFAIK 160B would allow up to 12 colours to be used for the background tiles or sprites which uses 4 of the 8 pallets.

160B mode is 4 bits per pixel therefore it consumes more resources than 160A and, in this case, using it for all the background graphics would be very expensive in terms of Maria's time. However, it would certainly be fantastic to use 160B mode for colorful sprites! 

 

As for the palettes for background tiles in 160A mode, you are not limited to using only one palette per zone if you use sprites "as tiles"... yes you can, the 7800 is a beast with sprites, this one technique was used with D2K, Arkanoid, and Millie and Molly. Besides using sprite-based tiles you can also get more ROM room for adding more graphic.

 

 

  • Like 2
Link to comment
Share on other sites

On 1/15/2021 at 4:37 AM, TwentySixHundred said:

Thankyou the sprites are looking good, i had gone with 16x16 due to the limitations of the system along with most NES sprites are 16x16. So they're basically a straight swap, however the 7800 has a tendency to stretch those sprites in 160A mode.

In fact, usually, when it is necessary to convert sprites / tiles that originally have square pixels and the box with 16 x 16 resolution into 160 mode, the best compromise is to use the 12 x 16 resolution, not only to obtain that the graphics do not look wide on real hardware but also to have a playing field with greater horizontal width (greater number of tiles), a feature that will directly affect the gameplay, as for example happens in a game like Bomberman.

 

Anyway, I had some fun experimenting with the graphics and I'd like to show you what I got, in case you like it or it helps. I converted the graphics of the TurboGrafx-16 version, I used 160B mode for sprites (12 x 24) and 160A mode for sprite-based tiles (12 x 16). I am also attaching the graphics with square pixels.

 

 

 

 

1884313364_7800BombermanvsTurboGrafx16.thumb.PNG.1b48be06fe3e50c36c8aef5dde9f884a.PNG

 

 

 

808701192_7800BombermanvsNES.thumb.PNG.c1ce8864cb8ff4ba74e8be653697165a.PNG

 

 

 

406250520_7800Bombermansquarepixels.PNG.91abf92da0c0fc2b81379cf8fe4be056.PNG

 

 

  • Like 9
Link to comment
Share on other sites

9 hours ago, Defender_2600 said:

In fact, usually, when it is necessary to convert sprites / tiles that originally have square pixels and the box with 16 x 16 resolution into 160 mode, the best compromise is to use the 12 x 16 resolution, not only to obtain that the graphics do not look wide on real hardware but also to have a playing field with greater horizontal width (greater number of tiles), a feature that will directly affect the gameplay, as for example happens in a game like Bomberman.

 

Anyway, I had some fun experimenting with the graphics and I'd like to show you what I got, in case you like it or it helps. I converted the graphics of the TurboGrafx-16 version, I used 160B mode for sprites (12 x 24) and 160A mode for sprite-based tiles (12 x 16). I am also attaching the graphics with square pixels.

 

 

 

 

1884313364_7800BombermanvsTurboGrafx16.thumb.PNG.1b48be06fe3e50c36c8aef5dde9f884a.PNG

 

 

 

808701192_7800BombermanvsNES.thumb.PNG.c1ce8864cb8ff4ba74e8be653697165a.PNG

 

 

 

406250520_7800Bombermansquarepixels.PNG.91abf92da0c0fc2b81379cf8fe4be056.PNG

 

 

 

6 hours ago, RushJet1 said:

Sorry for the late replies guys, incredible work and thanks for reaching out to the project. I don't want to make a sob story but the past few days i have been in and out the hospital with my daughter. She is doing ok but was a rough few days and is why i hadn't responded yet.

 

Im honored for the help being offered and im convinced @Defender_2600 has the right idea. I will have to take a decent look tonight and im thinking this will warrants a DM/PM. That way we can make this happen as i can't express enough how incredible the conversion table looks. I will be sending a message through tonight if you're ok with that @Defender_2600.

 

@RushJet1 Im sure this new update will also be amazing like the last. Im very very interested the product you can produce. If you would like you composed BM music in the game later down the track when you're happy with it. Im more then happy to give credits to you both rush and defender for the help and hard work. Ill have a good listen tonight and see what you have ?

 

I must say this help is very much appreciated and DM/PM's will be sent if you're both happy with me adding this work to the project.

 

-Anthony

  • Like 4
Link to comment
Share on other sites

Updated again.  Yeah I'm fine with you using this track (and others I might make in the future) in this game, that was the idea!  I'll send you relevant files when I'm done (I can export to k65, mads, dasm, csv format with TIATracker).

 

Edit: So far my file is PAL; is your game going to be NTSC or PAL?

 

bomber.bin

Edited by RushJet1
  • Like 2
Link to comment
Share on other sites

8 hours ago, Defender_2600 said:

Anthony, I'm sorry to hear that your daughter has been sick and I wish her all the best for a speedy recovery. You really don't need to apologize, real life above all. I'm glad you liked the graphics and you can send me a PM whenever you want and without any rush.

 

- Marco

Thanks Defender, yeah no worries she's getting better day by day and should be back to herself soon. I will have a look into this sprite-based tiles you have mentioned as the technique used by mksmith. I thinking it's basically what character graphics is but the user has more control over the tile size and soforth rather then preset tilesizes/sprites used with character graphics.

 

This of course would probably require a rewrite of how the map is handled although im not sure until looking into exactly how it's done.

3 hours ago, RushJet1 said:

Updated again.  Yeah I'm fine with you using this track (and others I might make in the future) in this game, that was the idea!  I'll send you relevant files when I'm done (I can export to k65, mads, dasm, csv format with TIATracker).

 

Edit: So far my file is PAL; is your game going to be NTSC or PAL?

 

bomber.bin 4 kB · 2 downloads

Sounds amazing and hard to believe this is composed only using the TIA. Brilliant work RushJet1! The attention to detail is spot on and is my favorite track on Bomerman2, so even better :) Yeah i always write my games in NTSC format and if i feel the need i will create a PAL version later. Thanking you very much so

Edited by TwentySixHundred
  • Like 3
Link to comment
Share on other sites

11 hours ago, TwentySixHundred said:

I will have a look into this sprite-based tiles you have mentioned as the technique used by mksmith. I thinking it's basically what character graphics is but the user has more control over the tile size and soforth rather then preset tilesizes/sprites used with character graphics.

 

This of course would probably require a rewrite of how the map is handled although im not sure until looking into exactly how it's done.

 

I understand this will require learning and a code update, with Arkanoid at some point mksmith had to rewrite the code to implement it. I forgot to mention that the recent Chase also has sprite-based tiles, maybe you can find some useful information in that discussion.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Defender_2600 said:

 

I understand this will require learning and a code update, with Arkanoid at some point mksmith had to rewrite the code to implement it. I forgot to mention that the recent Chase also has sprite-based tiles, maybe you can find some useful information in that discussion.

100% agree.

 

Sprite based tiles are very flexible if you approach it the right way. I used traditional character set-tiles E.X.O (mostly..some sprite tiles for the large decals) and it works well with the engine I've built.

 

I've got another project that I'm tinkering with as a learning project, where using sprite based tiles means I am not constrained as much as I am with regular character set-tiles. It's a bit of a learning curve, but having both in your "code bag" is tremendously useful. If I take Motos from anything more than a tinker-test, I think sprite based tiles is the way I would go. Glad to hear your daughter is on the mend too :)

 

Keep up the good work!

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Defender_2600 said:

 

I understand this will require learning and a code update, with Arkanoid at some point mksmith had to rewrite the code to implement it. I forgot to mention that the recent Chase also has sprite-based tiles, maybe you can find some useful information in that discussion.

It will definitely take some study and most likely a re-write. I would really like to go this approach as it would look amazing. Only issue im seeing here is how fast of a timely manner i can pick up the concept and put it into practice. It's looking like there is more to it then just plotting sprites around the screen. Ill have a good at the link you provided and may ask those who have used this approach for some tips and where to start ?

28 minutes ago, Muddyfunster said:

100% agree.

 

Sprite based tiles are very flexible if you approach it the right way. I used traditional character set-tiles E.X.O (mostly..some sprite tiles for the large decals) and it works well with the engine I've built.

 

I've got another project that I'm tinkering with as a learning project, where using sprite based tiles means I am not constrained as much as I am with regular character set-tiles. It's a bit of a learning curve, but having both in your "code bag" is tremendously useful. If I take Motos from anything more than a tinker-test, I think sprite based tiles is the way I would go. Glad to hear your daughter is on the mend too :)

 

Keep up the good work!

Yeah it's an interesting way to handle background tiles that's for sure. I do like the idea as it's working with the 7800's strengths and like you said the more tools to work with the better. Im assuming they're using some sort of a data_table to manage all these sprites, rather then just plotting a bunch on the screen. Also thanks for the thoughts about my daughter, she's still a bit beside herself at times but feeling much better overall ?

  • Like 3
Link to comment
Share on other sites

Hope all is well with your daughter Anthony!

 

Using a sprite based process is quite a good way to do it (Mike did a great job coming up with the process).  Millie & Molly uses (12x24pixels - but effectively 3x 12x8) and Arkanoid (12x8) tiles - Marco appears have that covered with the above and you loss that stretchiness that comes with 16 wide. 

 

So the process works like this: the background is configured by plotting the tiles (I use data tables to do that) then from there Mike's code takes over and you effectively update pointers to change tile images or palettes - nice and quick.  For Millie & Molly I overlay a sprite for the girls but everything else is done using Mike's code. Animating tiles is very easy using this process as well - effectively no different to animating a sprite now just replace the plotsprite call with a call to Mike's code. 

 

You can mix 160A and 160B for backgrounds but it can be a fair bit of work to make sure it is setup correctly and the images are in the correct gfx blocks (The Doh level in Arkanoid is does this but it was very tricky!).  I would definitely recommend 160A only for the backgrounds - your moving overlaid sprites could be 160B if required but you still have potential to run out of render time very easily even with this method.

 

More information about this process is here:

7800basic, under the hood - Atari 7800 Programming - AtariAge Forums

Doing larger data tables:

7800basic Tips, tricks and examples - Page 2 - Atari 7800 Programming - AtariAge Forums

 

I'm more than happy to help in anyway if you need a hand to setup this process to see how it goes ?

 

 

 

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, mksmith said:

Hope all is well with your daughter Anthony!

 

Using a sprite based process is quite a good way to do it (Mike did a great job coming up with the process).  Millie & Molly uses (12x24pixels - but effectively 3x 12x8) and Arkanoid (12x8) tiles - Marco appears have that covered with the above and you loss that stretchiness that comes with 16 wide. 

 

So the process works like this: the background is configured by plotting the tiles (I use data tables to do that) then from there Mike's code takes over and you effectively update pointers to change tile images or palettes - nice and quick.  For Millie & Molly I overlay a sprite for the girls but everything else is done using Mike's code. Animating tiles is very easy using this process as well - effectively no different to animating a sprite now just replace the plotsprite call with a call to Mike's code. 

 

You can mix 160A and 160B for backgrounds but it can be a fair bit of work to make sure it is setup correctly and the images are in the correct gfx blocks (The Doh level in Arkanoid is does this but it was very tricky!).  I would definitely recommend 160A only for the backgrounds - your moving overlaid sprites could be 160B if required but you still have potential to run out of render time very easily even with this method.

 

More information about this process is here:

7800basic, under the hood - Atari 7800 Programming - AtariAge Forums

Doing larger data tables:

7800basic Tips, tricks and examples - Page 2 - Atari 7800 Programming - AtariAge Forums

 

I'm more than happy to help in anyway if you need a hand to setup this process to see how it goes ?

 

 

 

 

Thanks for the well wishes for my daughter Matt.

 

Also thanks for chiming in and offering some help with sprite-based tiles. I will have a look into the links you have listed, to be honest "under the hood" is probably one of very RevEng few examples i hadn't looked into yet. And as i suspected going from your other link data tables were used to manage the sprite-based tiles. Im actually more then happy to stick with 160A mode as much as possible where i can. 160B im just not very familiar with yet and can see myself probably running out of render time. Anyway i may very well need some help to get me started with the new concept. Once i have a clear understand of what's happening, will be off and racing ?

6 hours ago, Defender_2600 said:

 

I'm also assuming you already know mksmith's precious Atari Dev Studio...

 

 

 

 

Thanks Defender, yeah i couldn't live without ADS. It's brilliant and a very comfortable environment to work in. It's exactly the IDE extension that the 7800 needed and Matt did a great job of it ?

  • Like 3
Link to comment
Share on other sites

Ok so thanks to Matt's links and having a look at your example code i have managed to decipher some of the code so i can get an understanding. From there i have taken snippets, created a bankswitched ROM and started breaking down the code.

 

So the 'for' loop is kinda throwing me for a loop (pun intended) as i haven't a full understanding yet. Also im yet to work out exactly how the pallets work as it's not getting the results im after at this moment.

 

Anyway i will keep at it tomorrow as im running out of time tonight but there is some small progress :)

 

I started with this as obviously i will be using a smaller table as the sprites are 12x16 supplied by Defender

2.thumb.png.2b75fa9b648b062ef2c5077e8f6afac3.png

 

I now have this as im thinking i will need to set the zone height to 16 rather then 8

3.thumb.png.e1e47fa0a707254ad36fc41d771e0520.png

 

May not look like much but i have something on the screen, even if the colours are all wrong and the tiles are a garbled mess haha. All in all it shows i haven't a full understanding yet.

Edited by TwentySixHundred
  • Like 2
Link to comment
Share on other sites

Well well well, would you look at that... im absolutely ecstatic :D Couldn't help myself it was bugging me i hadn't made enough progress for the night and boom! Still got to figure out pallets and some more tweaks to the code to get things just right. There is alot to re-write and fit around what i had as the whole concept has changed - im assuming my whole collision detection code will need a re-write too. However im over the moon as this is starting to look more like it.

 

1.thumb.png.3570cf42657b3b2ddcb75af77315b917.png

  • Like 5
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...