BomberKeen project revival

You can discuss anything about fan-made Commander Keen games here.
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

BomberKeen project revival

Post by DoomJedi »

Hi guys,

Today decided to go back to me "BomberKeen" project from 2013.
Based on an old simple 2 player (1 on 1) bomberman clone with open source that I've got long ago from "don't remember where", which I recompiled on Borland C++ again today.

BomberKeen pre-alpha 0.1 (to play with "max cycles" on dosbox!)
https://www.dropbox.com/scl/fi/tc52qz6f ... ytpjb&dl=0

Image

Done:
1. Converted first theme to Keen art (Keen4 Shadowlands)
2. Added random levels/themes loading (currently loading same theme under different file names, each new file can have different player characters and even bomb and powerup designs)
3. Moved levels/themes to separate sub-folder instead of main directory, to keep things clean and organized.

Next:
1. Adding sounds (struggling against ChatGPT for soundblaster dos games sound init and loading code...I'm not a good coder...)
.........maybe to go with Keen sounds for this? Do you have Keen sounds that can fit "bomberman" world in useful format?
2. Adding more themes and player characters (they were made in 2013 - just to convert to proper spritesheet)
3. Adding Title Screen.
Last edited by DoomJedi on Thu Jan 23, 2025 9:41, edited 1 time in total.
User avatar
Dave216
Vortininja
Posts: 132
Joined: Wed Jun 29, 2022 15:37
Location: Croatia

Re: BomberKeen Revival

Post by Dave216 »

Oh, this game takes me back. Dyna Blaster on DOS. Awesome game. I don't recall framerate being so low. Maybe I just got used to SNES ports.

Really neat! I love how chunky both Keen and Mort look as Bombermen. :lol
Cool crossover!
"I don’t care what model it was! No vacuum cleaner should give a human being a double polaroid!"
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Thanks :)
Dyna Blaster on DOS
Yes, DOS games were usually slower (and if you'll get to play Street Fighter II on DOS...you'll know the true power of SLOW, but art is so big and detailed there). Have Dyna Blaster itself on my retropie (lr-dosbox-pure) emulator, set it up and play just fine.
(make sure to play BomberKeen in max cycles on dosbox...I already set it up on retropie BTW and play on big TV)

Image
Cool crossover!
Thanks, worked on it till 03.00 AM yesterday (meaning today), and all day, literally since waking up and till now.
Borland C++ coding is hard. Not being too good of a coder I'm using ChatGPT and even it's quite bad in borland c++ coding and so barely helps.
This is both very frustrating and very fun.

After all day (and big struggle with code and ChatGPT) - the only thing I successfully added now (for next edition) is Title Screen.
Yes, I could add more characters and maps even now but it's too easy as it's direct art edits so leave it for later, for me the preference were the larger challenges like title screen and sounds. Because game with no sounds is much less attracting.

Do DOS/Keen coders there have a help for me to get play sounds to play in BomberKeen? Can't set Sound Blaster properly, even with ChatGPT.
Sound code compiles fine, but can't hear the sounds yet. I made sure to convert them to 8-bit WAV (8 kHz, Mono, 8-Bit PCM)..and still.

Future goals would be ability to select player characters and maybe theme, and adding new powerups, at least speed powerup and such.
Maybe ghost powerup too....
User avatar
Roobar
Vorticon Elite
Posts: 3345
Joined: Tue Jan 08, 2008 16:12
Contact:

Re: BomberKeen Revival

Post by Roobar »

Oh heck yeah! I'm so happy you've decided to return to this project! :evil :O
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Thanks pal :)

I'm struggling though with coding (even with ChatGPT and at least part due to frustrating ChatGPT), near a point of frustration.
Trying to add sounds, ending/end rounds screens...

Sounds especially - using ChatGPT at first wanted to add sound blaster support and use sound blaster for sounds. Failed.
Then tried to use ChatGPT to add Adlib or PC sounds, even asked it to syntesize proper "bomberman" sounds (instead of loading external ones).
PC speaker sound implementation sort of works, for a strange reason speeds up the player x2 after first sound play and alot of times freezes the game completely.
Adlib sounds do work (at least in some implementation) but they use "delay()" function so each pickup game "stalls" for a second or so to let the game finish playing the sound. And can't have that on fast paced game.
ChatGPT solution to play Adlib sound without using "delay" function failed so far - seven if they compile - sounds does not play...very frustrating.
I need the game to continue while Adlib is still playing.

Screens failed so far, so hard to properly load PCM 8bit fonts to screen.

Maybe you guys here more experts on Borland C++ and DOS related coding and can help me? Here on or discord?

P.S. Midi music implementation is a bit hard for me as well currently.
User avatar
Roobar
Vorticon Elite
Posts: 3345
Joined: Tue Jan 08, 2008 16:12
Contact:

Re: BomberKeen Revival

Post by Roobar »

I dunno. Maybe try different ai language models like https://bolt.new/
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Thanks :)

Maybe I don't know to talk to ChatGPT properly coding-wise (as I go get very nice conversations about all other topics). We seem to be going in circles and with too many misunderstandings.
Adlib sounds sort of work now but ChatGPT implemented it using delays and that can't fit a game and sure fast paced one.

Yesterday after days of intense talking to ChatGPT for hours and hours and of and trial and error trying to get sounds to work and without delays - finally GPT suddenly "remembered" that there are 2 ways DOS games play sound parallel to game execution (not pausing everything for the sound to end playing):

1. DMA - direct memory access using Sound Blaster (that would allow the use of external sounds and *.wav in particular.

2. Interrupts.

So I do expect faster progress now sound-wise.

That's a very annoying thing about ChatGPT when he knew for days delays are the challenge and I'm editing a Dos game on borland C++ for DOS and tried to solve delays by other delays (different timer) and didn't offer me a different/better - interrupt approach... He seems to be very...uncreative when approaching tasks and focusing on a narrow task instead of wider view of the final goal and flexibilities to achieve it.
Wasted days for nothing.

DMA is a bit too hard to set using ChatGPT so I try interrupt approach now.
If I get sounds to work fine - I'll release next "BomberKeen" sub-version.

I do assume people here know alot about such issues from all Keen modding...so if anyone can help...or even skype with me to help me to progress faster....
Does anyone have some C++ library for Sound Blaster sound play that I can use? Maybe Keen or Keen ports derivative?
Or for Sound interrupts?
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Wow, this bolt site gives me already much much better impression than ChatGPT....big thanks for the tip!
User avatar
Dave216
Vortininja
Posts: 132
Joined: Wed Jun 29, 2022 15:37
Location: Croatia

Re: BomberKeen Revival

Post by Dave216 »

I am curious to see what you come up with. If you figure out the programming aspect of it, do you plan to add a trophy system, levels, and enemies? I am guessing that adding an actual AI Bomberman would be difficult.

Best of luck, in any case.
"I don’t care what model it was! No vacuum cleaner should give a human being a double polaroid!"
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Bolt is currently quite limited with number of free daily prompts (unless I make monthly free transcription...maybe I will, who knows, having quite fun with this)), so that will slow the dev. pace down.
But have a good impression on it so far, much better than ChatGPT.
It already now gave me code for full adlib, midi and sound blaster support, will test it in the evening.

If Bolt proves itself capable like I hope it would - I have big plans for this project.

Those are my current notes for current/next goals:

Code: Select all

0. Title Screen - added, img/btitle.pcx

1. Wav sound blaster support (need to test proposed solution)
Sounds subfolder:
======================
walk1.wav walk 2.wav
bombput.wav
bombboom.wav
powerup.wav
pdeath.wav
victory.wav
levstart.wav
destroy.wav
bombkick.wav
bombthrow.wav

2. Midi support (need to test proposed solution)
Music subfolder:
==========================
main.mid
level1.mid
level2.mid
.....
victory.mod

3. Theme and hopefully character selection screen instead of random loading (with preview?)

4. Multiple rounds of play instead of just one + round and game ending/status screens.

5. More powerups
5.2 Speed (1-time boost from 2 to 4, other safe speed values are 6, 8, 16, but might be too fast for play) , 
5.2 Bomb kick (instead of level exit), 
5.3 Wall pass, 
5.4 Place all bombs in raw once (until block).
5.6 {Maybe} bomb throw

6. Separating tileset into single pcx images with theme and character subfolders
Theme subfolder (pcx):
=============
wall.pcx
bush.pcx
grass.pcx
bushdie1.pcx bushdie2.pcx bushdie3.pcx bushdie4.pcx (if can implement trasparent use - move to sharedArt)
bombani1.pcx bombani2.pcx bombani3.pcx              (if can implement trasparent use - move to sharedArt)
boom1pic1.pcx ... boom1pic14.pcx                    (if can implement trasparent use - move to sharedArt)

Character subfolder (pcx)
============================
wdown1.pcx wdown2.pcx
wup1.pcx wup2.pcx
wleft1.pcx wleft2.pcx
wright1.pcx wright2.pcx 
p1die1.pcx p1die2.pcx p1die3.pcx p1die4.pcx p1die5.pcx p1die6.pcx p1die7.pcx p1die8.pcx
p2die1.pcx p2die2.pcx p2die3.pcx p2die4.pcx p2die5.pcx p2die6.pcx p2die7.pcx p2die8.pcx

ShareArt subfolder (pcx)
============================
boom1.pcx, boom2.pcx, boom3.pcx boom4.pcx, boom5.pcx, boom6.pcx boom7.pcx
spawn1p1.pcx spawn2p1.pcx
spawn1p2.pcx spawn2p2.pcx
boostp.pcx, addbomb.pcx, kickbomb.pcx, addboom.pcx, wallpass.pcx, throwb.pcx, p1face.pcx, p2face.pcx  

Enemies subfolder (pcx)
=============================
e1move1.pcx e1move2.pcx e1move3.pcx
e1die1.pcx e1die2.pcx e1die3.pcx e1die4.pcx e1die5.pcx e1die6.pcx
e2move1.pcx e2move2.pcx e2move3.pcx
e2die1.pcx e2die2.pcx

7. Single Player mod, enemy AI.

Should I keep it a dos project or to ask bolt to convert it to windows soft? Don't know how good it is in converting from DOS to other platforms.
User avatar
Roobar
Vorticon Elite
Posts: 3345
Joined: Tue Jan 08, 2008 16:12
Contact:

Re: BomberKeen Revival

Post by Roobar »

Well, If it proves that it's that good, then why not give it a try at least.
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen Revival

Post by DoomJedi »

Currently got some PM assistance from one of the forum/community members, hope to integrate those successfully and so to set a proper sound/midi/graphic system to the game without AI support, and use AI for later/other tasks.

I'll try to make the game as moddable as I can (with external stardard resources and maybe even to make a *.cfg file with some settings) as people here like to mod stuff, add characters, themes etc.

I will also remind here (or tell newer members) I have a source (made in Built with OpenWatcom) from previous BomberKeen attempts - with character and theme selection screens etc, more advanced.
Which would give us a much better opening start.
But it's too complicated for me to advance that engine unless someone will join to help (so decided to go with simpler implementation and advance from there).

Image

Image
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen project revival

Post by DoomJedi »

Update::

Have been working daily for many hours on this, but the progress is very slow due to me limited coding talents and skills.

Since the last public alpha:
==========================================

1. Added Title Screen (and general keypress screens support).
Works fine (decompression can be optimized though).

2. Translated all code from Spanish to English - and with meaningful function and variable names. Code is MUCH more readable now, and with many of my (mostly helpful) comments.

3. With help of bolt - SORT OF added sounds/wav/midi/adlib support. Compiles fine but sadly does not work it seems.
For easier debugging - added sound init result display to the "game keys" screen. "Sound Blaster" is (or should be) successful SB init (displays only for 0x220 port as it seems), "Midi" if not, "Adlib" if not both midi nor SB. :dead
Sending the code to a skilled community member who might be able to help and kindly offered such.

4. Added randomized mix and match of themes and characters (from "chars" and "themes" subfolders) + mirror match protection (currently as a test for only 2 themes and 2 characters, but have and can easily add (and so mix and match randomly) endless numbers of each).
But this at a price (currently) of "game keys" screen loading takes (instead of immediate) about half minute (!) to minute (on dosbox max cycles!) :garg :confused
Yes, for random mix and match - I need now to sequentially load 3 pcx spritesheets (for theme, player 1 and player 2), but loading is much too slow even for triple loading time of original one spritesheet.
I might need to optimize the "while" function of mirror match protection to save time, and much optimize image loading and decompression.
Sending the code to a skilled community member who might be able to help and kindly offered such.

After all those to work - I will be able to release the first true "BomberKeen" alpha...hopefully
User avatar
AndyFox
Grunt
Posts: 26
Joined: Sat Nov 02, 2024 12:00
Location: United Union

Re: BomberKeen project revival

Post by AndyFox »

Excellent implementation, thanks a lot. Tested on Windows Millennium Edition.
:rollin
User avatar
DoomJedi
Vorticon Elite
Posts: 912
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Re: BomberKeen project revival

Post by DoomJedi »

Thanks :)
You're welcome :)

Just to be clear - only pre-alpha is in the first post, the things I posted in my last post about - are not yet released.
Post Reply