VOGONS


First post, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Latest version: ALPHA 0.17

UPDATE: See lower down in the thread for demo videos and more information!

Perhaps it's time for something new - maybe a real mode VGA 256 color 2D platform scrolling game engine in pure DOS?
Here it is:

Keen Game Engine 4 Beta Version 0.1 - Download here: http://www.keenengine.weebly.com (this link is not updated. Use the one below:)

UPDATE: Development releases will now be posted on this page and on the Public Commander Keen Forum thread.
PCKF Thread: http://www.pckf.com/viewtopic.php?t=3611 (read this for a LOT more information, known bugs, etc)

Download Link: https://drive.google.com/open?id=0BwrvaawQX60 … R2dnZ3VOcGsyM0U

This is a project I've been working on for a few years, but recently I rebuilt the whole thing in pure DOS from the ground up.
It's programmed in Microsoft QuickBasic (yes, I know, that's not exactly standard procedure), using the excellent DirectQB
library, modified to include Adlib support.

I called it Keen Game Engine because I originally programmed it as a clone of Commander Keen 1: Marooned on Mars, using
the original graphics. I can't think of a better name so that one stuck.

So of course I'm going to need beta testers, also people to test it on real hardware (you're really going to need at least a 486DX/50
for it to run at any reasonable speed...). And I really want to get this project off the ground, perhaps some more contributors
who aren't afraid to enter the dark domain of my code?

It's meant for making simple, Keen-like games, with the most user-friendly system possible (of course it'll never be 100% but I
want to keep making it better).

Let me know but I'm not aware of the existence of anything quite like this out there.

The Readme file is on the Sourceforge page: https://sourceforge.net/projects/keengameengine, you can read all about
it and how to use it there. Or you can just download the engine and try it out with the demo game that comes with it!

Bonus points to whoever guesses first who the character is in the demo game 😉

Let me know what you all think, what it needs to make it better, etc. And I'm also hoping that someone will make a game with it,
as a test to see how user-friendly it is to someone who didn't program it 😁

UPDATE: This has morphed more into a clone of Commander Keen 4-6 than anything else, so I think it's going to stay that way for the foreseeable future. Right now it's being judged by how well it mimics Keen 4 😀

Last edited by keenmaster486 on 2016-08-29, 17:22. Edited 6 times in total.

World's foremost 486 enjoyer.

Reply 1 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

You know, I don't really need beta testers as much as I just need people to download the engine, try it out, and tell me what they think. I need a different perspective on it since I've been immersed in it for so long that I probably couldn't see if it was really bad...

World's foremost 486 enjoyer.

Reply 2 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Just wondering: Did anyone download this thing yet and try it out? Or is this not really the sort of thing for VOGONS? Sorry if this isn't really wanted here; I'm new so I don't know what I'm doing.

World's foremost 486 enjoyer.

Reply 3 of 27, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well I gave it a try and the engine works decent enough.
But ofcourse there's not much to play and the controls feel a bit floaty, I'm also missing some sort of status bar but ofcourse limited resolution, maybe use 320x240
The character centering is a bit annoying as well with you walking too far to the edge before it scrolls so you can't see what's coming.

But is it really worth making this in dos, seems a lot of wasted effort if you don't directly work with some backend that allows porting to different platforms.
Unless you really make an effort and have it work on on a 386 using vga/modex scrolling I don't see much point in making it purely for DOS since you can get a framebuffer on all kinds of platforms with enough cpu power to copy some sprites around.

Reply 4 of 27, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

The game(engine) with music works on my rig: MS-DOS 7.10, JEMM386, Athlon 1333MHz, MSI KT133A board, ESS1938 PCI soundcard.

It's possible to fall through the floor when the screen is scrolled up and the player is falling. The game will hardlock and spit out this message: Subscript out of range in module ENGINE at adress 1378:5388 - Hit any key to return to system

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 5 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t
Harekiet wrote:

But ofcourse there's not much to play and the controls feel a bit floaty, I'm also missing some sort of status bar but ofcourse limited resolution, maybe use 320x240

Yeah. It's really just the bare bones right now, embellishments will come later. The basic framework is there. And for the resolution - well, I really can't go much past Mode 13 due to limitations of the library I'm using (otherwise I would go to 320x240, but oh well). And there's a certain philosophy to this thing, which goes: "limited resolution is better because it forces you to be really creative with the graphics" or something like that. Plus it kind of adds to the "retro" feel 😀

Harekiet wrote:

But is it really worth making this in dos, seems a lot of wasted effort if you don't directly work with some backend that allows porting to different platforms.

I wrote it in DOS more out of principle than anything else; I wanted it to be as if someone from 1991 had sat down and written a universal 2d scroller engine (which, as far as I know, no one did). As for porting, I consoled myself with the fact that DOSBox runs on just about anything. Plus there is a way to port it to Windows, using QB64; I just haven't tried it yet... 🤐

Harekiet wrote:

Unless you really make an effort and have it work on on a 386 using vga/modex scrolling I don't see much point in making it purely for DOS since you can get a framebuffer on all kinds of platforms with enough cpu power to copy some sprites around.

Yes. Right now the scrolling is relatively inefficient; I'm working on some kind of adaptive tile refresh so hopefully it'll even work on a 286 (with EMS of course). The long and the short of it is, this isn't meant to be a very high-profile project; it's just supposed to be a simple game for the sake of being simple. So even kids can make games with it, which is also partly why I started the project: eventually there's going to be a new generation of people who grew up in the "tablet" age and look upon retro computers with scorn (shudder).

World's foremost 486 enjoyer.

Reply 6 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t
Kamerat wrote:

The game(engine) with music works on my rig: MS-DOS 7.10, JEMM386, Athlon 1333MHz, MSI KT133A board, ESS1938 PCI soundcard.

Awesome. It's great to know it works with soundcards other than true Sound Blaster.

Kamerat wrote:

It's possible to fall through the floor when the screen is scrolled up and the player is falling. The game will hardlock and spit out this message: Subscript out of range in module ENGINE at adress 1378:5388 - Hit any key to return to system

Ooh! That one was tricky - it's fixed now, just give me a while to upload the latest version...

World's foremost 486 enjoyer.

Reply 7 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

OK - bug is fixed, new version uploaded to Sourceforge. (with a couple other changes, check the Readme...)

World's foremost 486 enjoyer.

Reply 8 of 27, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

OK - bug is fixed, new version uploaded to Sourceforge. (with a couple other changes, check the Readme...)

Found another way to get the character out of the picture and clip through walls and floors. While holding down and jump to a higher level you can get out of the picture.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 9 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Thanks, I'll fix that...

UPDATE: I've done quite a lot of work on this, and have decided to increase the capabilities of the engine somewhat by having it load the original Commander Keen 4 graphics. So now it's a clone of Keen 4, albeit a very slow clone (you have to crank DOSBox up to 55000 cycles to make it work) but it works. Check the OP for the new download link!

World's foremost 486 enjoyer.

Reply 10 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Sorry for necroposting but I've finally done a whole bunch of work on this engine. It feels a lot more like Keen 4 now, and works WAY better. You have to crank DOSBox to about 30000 cycles for it to run at the required 24fps.

Download link for the newest version: https://drive.google.com/open?id=0BwrvaawQX60 … eWdqTDlDQ0poWGs

Read this thread at the PCKF for the whole scoop: http://www.pckf.com/viewtopic.php?t=3611

And here's a demo video (sorry, compression artifiacts): https://youtu.be/_eqRrTDYkfA

World's foremost 486 enjoyer.

Reply 11 of 27, by clueless1

User metadata
Rank l33t
Rank
l33t

Replying to remind me to download it tomorrow. Thanks!

The more I learn, the more I realize how much I don't know.
OPL3 FM vs. Roland MT-32 vs. General MIDI DOS Game Comparison
Let's benchmark our systems with cache disabled
DOS PCI Graphics Card Benchmarks

Reply 13 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

And here's another update, probably the last for a while since I'm headed off to college and won't have much time for this sort of thing. A lot of stuff was implemented in this version, so it's easier now to list the things that aren't implemented yet.

Features that aren't yet implemented:

-World map
-Enemies (sprites are all there, just have to do behaviors)
-Elevators
-Gates
-misc stuff like conveyor belts, checkpoints, etc.

Download link: https://drive.google.com/open?id=0BwrvaawQX60 … YVRWdWpkZGpBbXM

Demo video (compression artifacts again, bad this time! 😵 ): https://youtu.be/bVpLcyYYAPI

Download it and try it out! Try it on DOSBox (as before, cranked up to at least 40000 cycles), try it on real hardware (all types and eras. I need someone to test on a 486DX2/66 or a DX4/100. And could someone please try it on a 386 and see what fps they get? I'd like to see that 🤣), try it on PC emulators of all shapes and sizes!

In reality it would probably be best enjoyed on at least a Pentium/133. It would work perfectly on any Pentium II or III with an SB compatible.

Well, I hope to get a nice demo level from my sister sometime soon!

Everyone have fun with this. Over and out - *click* GZZZGGHHFTGGHZZGHKT

World's foremost 486 enjoyer.

Reply 14 of 27, by clueless1

User metadata
Rank l33t
Rank
l33t

The readme says to run KGE4.BAT, but I'm not seeing a batch file in the directory. I suppose I can just run ENGINE.EXE? Is there a switch to enable sound? Thanks!

edit: I tried downloading the previous version you posted a few posts up, but that one didn't have a batch file either.

The more I learn, the more I realize how much I don't know.
OPL3 FM vs. Roland MT-32 vs. General MIDI DOS Game Comparison
Let's benchmark our systems with cache disabled
DOS PCI Graphics Card Benchmarks

Reply 15 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Oh crap! I'm sorry, I forgot to update the readme file, so everything in that is old.

Yes, just run Engine.exe, and the sound is enabled by default (SB 2.0+ effects, Adlib music). Sorry about that 😊

World's foremost 486 enjoyer.

Reply 16 of 27, by clueless1

User metadata
Rank l33t
Rank
l33t

No worries. 😀 I had a chance to check it out on my DX2-66. Framerate seems pretty low, but it still feels very smooth. Just feels in slow motion. In other words, no jerky motion, just slow movement. Also, it seems that it is not using my SB mixer settings: audio was at full blast with lots of hiss, as if I went into the mixer settings and maxed everything out. Graphics and gameplay were spot on for Keen! Really amazing how close it looks to the real thing!

Hope this helps 😀

The more I learn, the more I realize how much I don't know.
OPL3 FM vs. Roland MT-32 vs. General MIDI DOS Game Comparison
Let's benchmark our systems with cache disabled
DOS PCI Graphics Card Benchmarks

Reply 17 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t
clueless1 wrote:

I had a chance to check it out on my DX2-66. Framerate seems pretty low, but it still feels very smooth. Just feels in slow motion. In other words, no jerky motion, just slow movement.

Yeah, that sounds about right. Lately I've been trying to figure out why the engine is so slow, and I think it's almost entirely due to QB45's crappy math routines. Wish I could get DirectQB working on QB 7.1 since 7.1's math routines are (according to various sources on the internet) about 3 times faster.
Note: Did I forget to mention this? You can press F10+D to bring up some debug information, and that will tell you the current maximum framerate somewhere.

clueless1 wrote:

Also, it seems that it is not using my SB mixer settings: audio was at full blast with lots of hiss, as if I went into the mixer settings and maxed everything out.

Yeah, it hardwires it's own mixer settings, but they're not supposed to be that loud... it sets the master volume at 15 and all the channel volumes at 8 (or was it 7? somewhere in there). So the sound effects are supposed to be just about as loud as the music. What sound card do you have there?

clueless1 wrote:

Graphics and gameplay were spot on for Keen! Really amazing how close it looks to the real thing!

Thanks!

And now it's time for an update. Remember when I said no more updates were coming for a while? Well, I lied. It's Sunday, classes don't start until tomorrow, and I have a cold. Therefore it's time to do something useful instead of just sitting in bed all day 😀

This is basically a bugfix update. List of changes:

- Animation routines are now timed independently of the framerate. In theory you can now ramp up the framerate past 24 fps, but it doesn't always work right. Things get jerky and the scrolling gets weird. Still have some work to do on that...
- Various bugfixes on clipping routines and other stuff.
- One new booooring demo level by yours truly which I whipped up in about 3 minutes.

And I got some better screen capture software, so goodbye compression artifacts! DOSBox stuttered a little though 😵

Demo video: https://youtu.be/BT2TOsgANZ8

Download link: https://drive.google.com/open?id=0BwrvaawQX60 … aHo2SXRTanNzOG8

World's foremost 486 enjoyer.

Reply 18 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

OK, another update, probably the last for a while (although the last time I said that, I was completely wrong 😜 )

New features added:

-Level conversion from Abiathar simple single-level files
-World Map
-Basic sprite/enemy routines (so far only slugs)

The sprite routines have thrown a wrench into the works since they add just that many more conditionals (which QB is horribly slow at). Even having just 8 slugs in a level such as Slug Village more than halves the framerate! 😠

So I'm really going to get cracking on moving this thing over the QB 7.1, which, apparently, is faster (I'll do some tests to be sure). Unfortunately this means significant portions of the engine will have to be rewritten, using some library other than DirectQB since it's incompatible with QB71. Oh well.

Download link: https://drive.google.com/open?id=0BwrvaawQX60 … R2dnZ3VOcGsyM0U

Demo video: https://youtu.be/a-3VlnlOCGM

Stay tuned for more updates!

World's foremost 486 enjoyer.

Reply 19 of 27, by vetz

User metadata
Rank l33t
Rank
l33t

Tried to run the latest version on my Pentium Socket 4 system. I get a "out of string space in line No line number in module Engine at address 2159:84D4" error message when I try to run ENGINE.exe. The version in the first post crashes the computer and forces a push on the reset button.

When I try it on my Slot 1 system I get a "Out of memory" error when trying to run in Windows 98 window. When running from pure DOS with clean startup, I get the same message as on my Socket 4 machine, just with another address.

3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)
3D Acceleration Comparison Episodes