VOGONS


First post, by jvdw007

User metadata
Rank Newbie
Rank
Newbie

Hi there guys,

So, I'm not a assembler or c/c++ guru in the slightest, but I was keen to make a DOS game. After searching high and low for a tool that would meet my needs, I found an API called LoveDOS https://github.com/rxi/lovedos/tree/master which is a limited API based on Love2d. Now, I've never used Lua/Love2d before, so this is my first game using it and because I was learning as I went, I did hit some limitations with the API and my understanding of how things work, as well as keeping it playable on a real 486 (which I have).

You can download the game from https://blackjet.itch.io/crimbo.
I have included a Dosbox icon to run the game that way, but for those who have real hardware, the game "should" work reasonably well from 386dx40's up to Pentium 4's.

There are two caveats though with the game:
1. Since I didn't/couldn't implement a tile-based display, the levels are actually full-screen images and uses pixel detection on the platforms, therefore there are times where you might get a little "stuck" on a platform side or something. It's not game-breaking, but might annoy some. Others might use it as an exploit to complete a level 😀 Sorry about this, but my next game will not have this issue.
2. The API ONLY supports SB16 sound cards. In Dosbox you should hear the sound no problem, but on my real 486, I've had no luck getting sound to work. If anyone with a real DOS pc tests this and has SB16 card, please let me know here if you get sound! The API was abandoned and some 3rd party chap did apparently compile the API with SB sound support in, but I'm unable to test that with my hardware.

Despite the limitations of the LoveDOS API, it has opened the doors for me to make games for DOS and utilize modern programming methods which I'm more familiar with. I have a few more games I'd like to "demake" for DOS using this API, so I will announce them or create dev threads if anyone's interested when appropriate.

If this post or game upsets someone, I'm truly sorry for having inconvenienced you.

Thanks for your time!
Regards,
Jaco

Last edited by jvdw007 on 2023-11-25, 23:32. Edited 3 times in total.

Reply 1 of 11, by konc

User metadata
Rank l33t
Rank
l33t

I guess Christmas season has officially started! Well done and thanks, new games for old systems are always welcome.

Reply 2 of 11, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Very nice! 👍

However, I wasn't able to get the sound working thru the AWE64 which is 100% compatible with the SB16. I'm guessing that is a DMA-related problem and seems that the API developers weren't able to test the sound code on real hardware (yay DOSBox!).

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 3 of 11, by jvdw007

User metadata
Rank Newbie
Rank
Newbie
konc wrote on 2023-11-01, 06:55:

I guess Christmas season has officially started! Well done and thanks, new games for old systems are always welcome.

Thanks for the positive comment!

Gmlb256 wrote on 2023-11-01, 12:56:

Very nice! 👍

However, I wasn't able to get the sound working thru the AWE64 which is 100% compatible with the SB16. I'm guessing that is a DMA-related problem and seems that the API developers weren't able to test the sound code on real hardware (yay DOSBox!).

Thanks so much for testing/checking on your real hardware! It's a pity the sound doesn't work. I've tried 3 different sound cards and a multitude of settings on my 486 and wasn't able to make any combination work! If I was a DOS and C guru (maybe one day, 🤣), I could add/fix the audio issue, as the API is really bloody amazing considering it gives you a VGA screen with almost unlimited RAM environment (due to using cwsdpmi) and a modern decent programming language that actually runs quite a bit faster than QBasic does!

Thought I'd add some images for those that are curious:

The attachment crimboDOS2.png is no longer available
The attachment crimboDOS1.png is no longer available

Controls are A/left arrow, D/right arrow to move and space to jump, p to pause, esc to go to menu, q to quite game altogether.

Thanks!

Reply 4 of 11, by zyzzle

User metadata
Rank Member
Rank
Member

Congrats. Thanks for releasing this. Your work is appreciated. Also had a great time browsing your site.

Wondering if you'd be able to port some of the other games you made to DOS, paticularly Xmas Mayhem?

Every new game (or program) which comes out for DOS in 2023 is like a special Xmas gift to me...

Reply 5 of 11, by jvdw007

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2023-11-02, 22:10:

Congrats. Thanks for releasing this. Your work is appreciated. Also had a great time browsing your site.

Wondering if you'd be able to port some of the other games you made to DOS, paticularly Xmas Mayhem?

Every new game (or program) which comes out for DOS in 2023 is like a special Xmas gift to me...

Ha! Thanks for your comments! Porting existing games we've made to DOS isn't high on my list right now, tbh. I'm more interested in working on "demaking" modern games for DOS.
Two games I'm particularly interested in, would play fairly well in DOS I think and I love playing them, so getting remakes of them on DOS would be a treat for me. This doesn't mean I'll be taking any code or graphics or anything from these games as they are not my games, but they will be a re-imagining for DOS.
I'll be starting a YT series on the development soon on our channel https://www.youtube.com/@SenseiGameDev/videos

Reply 6 of 11, by zyzzle

User metadata
Rank Member
Rank
Member

Demakes will be great additions to DOS as well! Getting games out in DOS, especially "re-imagined" will be wonderful. I'll be watching your YT series with interest.

I'm enjoying Crimbo. Great early Xmas gift this year. Not many collision bugs, but OK.
BTW: I was able to "optimize" (recompress losslessly) some of your PNG files for the game of sprites, etc and I eliminated one audio track (xmas.wav), re-tarred the archive at the end of the CRIMBO.EXE file sandwiched after the LoveDOS engine, UPX'ed the resulting .EXE and got the file size reduced down from 1709kb to ~600 kb. Runs with sound for me with SBEMU. Thanks again.

Reply 7 of 11, by jvdw007

User metadata
Rank Newbie
Rank
Newbie

Zyzzle mate! Please could you DM me about those details! You might be providing me with a solution to the LoveDOS limitations!!!
Many thanks

Reply 8 of 11, by Gmlb256

User metadata
Rank l33t
Rank
l33t
zyzzle wrote on 2023-11-05, 10:06:

Runs with sound for me with SBEMU.

Just out of curiosity, I ran with SBEMU (since the SBLive! is also installed in my old computer) and the sound worked perfectly! 😁

Still, I would have preferred if it worked with proper ISA sound cards.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 9 of 11, by jvdw007

User metadata
Rank Newbie
Rank
Newbie

Ok now that I've had time to have a proper look at SBEMU, I see it's a little out of my comfort zone as it seems to require you do some C building/linking/compiling/whatever you call it. (I have now found the releases .zip file)
It also only seems to support a few sound cards, none of which I can see on that list that I own. What confuses me is why the sound will work under SBEMU and DOSBox but not on a real SB16 card. Oh well.
I was hoping I could somehow use it to get my games recompiled for audio to work, but it seems beyond my abilities.
Thanks for making me aware of this information regardless though guys!
@zzyzle, the xmas.wav is the music that plays while you're in the game, so by removing that file, you're removing the music from the game. Also, if you could send me your recompiled .exe file, I would greatly appreciate it as I'd like to test it on my machines.

I'm in the process of putting together my video script for the episodes to let watchers develop the game alongside me, for my next DOS game. Hopefully some find it fun and interesting.

Take care.

Reply 10 of 11, by zyzzle

User metadata
Rank Member
Rank
Member
jvdw007 wrote on 2023-11-05, 22:24:

Ok now that I've had time to have a proper look at SBEMU, I see it's a little out of my comfort zone as it seems to require you do some C building/linking/compiling/whatever you call it. (I have now found the releases .zip file)
It also only seems to support a few sound cards, none of which I can see on that list that I own. What confuses me is why the sound will work under SBEMU and DOSBox but not on a real SB16 card. Oh well.

SBEMU is an "emulator" for newer PCI-based soundchips in new systems (from ~2005-2020) which don't already have an ISA-based SB16 installed. For your SB16, you shouldn't need to use SBEMU at all. You should only need to set the SET-BLASTER=A220 I5 D1 or similar DOS variable to enable the sound.

BTW: I sent you a PM with my "packed" version of CRIMBO.EXE and technical explanation of how you achieve it.
BTW2: A similar "packed" (UPX'ed) .exe can be created even if you don't delete Xmas.wav. It will be about 1,150,000 bytes.

Reply 11 of 11, by jvdw007

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2023-11-07, 00:02:
SBEMU is an "emulator" for newer PCI-based soundchips in new systems (from ~2005-2020) which don't already have an ISA-based SB1 […]
Show full quote
jvdw007 wrote on 2023-11-05, 22:24:

Ok now that I've had time to have a proper look at SBEMU, I see it's a little out of my comfort zone as it seems to require you do some C building/linking/compiling/whatever you call it. (I have now found the releases .zip file)
It also only seems to support a few sound cards, none of which I can see on that list that I own. What confuses me is why the sound will work under SBEMU and DOSBox but not on a real SB16 card. Oh well.

SBEMU is an "emulator" for newer PCI-based soundchips in new systems (from ~2005-2020) which don't already have an ISA-based SB16 installed. For your SB16, you shouldn't need to use SBEMU at all. You should only need to set the SET-BLASTER=A220 I5 D1 or similar DOS variable to enable the sound.

BTW: I sent you a PM with my "packed" version of CRIMBO.EXE and technical explanation of how you achieve it.
BTW2: A similar "packed" (UPX'ed) .exe can be created even if you don't delete Xmas.wav. It will be about 1,150,000 bytes.

Thanks for the detailed info on the DM, @zyzzle. I tried it on my HP Windows XP laptop and my AST Windows 95 laptop and the sound didn't work for either. Doesn't look like the audio on those are on the SBEMU list though 🙁
Re setting my SET-BLASTER settings, believe me, I did MANY different settings, on 4 different sound cards, all SB16 or SB16 compatible, and none worked. Well, one played garbage no matter the sound, yet played fine in any other game/program. This is how I concluded it's LoveDOS that's the issue. @Glmb256 also couldn't get it to work outside of SBEMU.
I wish I could find somebody that's well versed with C and the DOS platform enough to fix or improve the LoveDOS audio implementation. I would even be willing to pay for it to be done.