It's called "Keen Game Engine 4" because believe it or not there were 3 other versions, completely rewritten every time, before this one. You do NOT want to see KGE 1, 2, or 3.
It's little more than a demo right now, as it's lacking most of the features of the Galaxy engine, but it's kind of interesting to look at. But now I'm wondering: with the release of the Keen Dreams code and the work done by the Atroxian realm team et al, has this project and others like it become obsolete? Or is there still a legitimate reason for something like this to exist? If there is I'll keep developing it, otherwise I guess I'll move to Dreams code.
One more thing: It's written in MS QuickBasic with the DirectQB library. Yes, I know that's been done before, but I thought to myself: I can do it better! The old one loads and runs really slow. Well, I got through with it and, lo and behold, it loads and runs really slow. But not too slow. You just have to crank DOSBox up to about 55000 cycles for it to run right, and it takes about 15-20 seconds to load, which I'm going to fix sometime. Right now it just has a "quick, lazy, and dirty" type loading routine. [UPDATE: this is fixed now. It now takes about a half second to load, and requires DOSBox to be about 30000 cycles to run at twice the fps of the first iteration

Download link: https://drive.google.com/open?id=0Bwrva ... DlDQ0poWGs
List of features currently implemented:
-320x200 resolution at 256 colors (VGA mode 13h)
-Converts and loads Keen 4 tilesets and sprites
-Basic TED-style level editor with bare-bones features
-Mimics Keen 4 physics as well as it can
-Comes with graphics editor "KeenSprite" to edit sprites in its graphics format
-Runs in pure DOS
-Loads all graphics into EMS memory to leave a lot of base memory open
-Basic tile info routines, but it doesn't import anything from Keen so you have to manually set everything the first time you use a tile
-Bare-bones animation routines, set a tile to "animated" and it animates with the next three tiles
-Music: kvee's IMFPLAY, loads IMF type 0 files
-Digital sound effects (requires SB 2.0+)
-Neural stunner: basic bare-bones implementation
UPDATES:
-Adaptive tile refresh! Now it's 300% faster

-Doors (portals)
-Sloped (slightly jerky but they work)
-Item animations
-Good animation routines
-Horizontal platforms and switches
List of features yet to be implemented:
-Ledge-grabbing
-Gates
-Elevators
Issues:
Music: Right now it loads s3m files. There seems to be no converter to convert DRO or IMF files to S3M, though, so unless somebody feels like writing one I'm going to have to implement an IMF player or something. On a side note, it would be great if we could have a QB45 DRO player, so it would have OPL3 support too (we could make tunes in AT2 that way). [UPDATE: it now has IMFPLAY from kvee built in, so the music problem is pretty much solved.]
Timing: There's no timing in the program at all. You have to set DOSBox at 55000 cycles or thereabouts otherwise it will be too fast or too slow. This also means it speeds up when there are less tiles to draw. The reason I don't have timing routines is that the TIMER function in QB is totally messed up, and slows the program way down. When I try to use DQB's excellent DQBsetFrameRate and DQBframeReady functions, it messes the music up big time since it changes the PC timer 0. I really need either A) a new music routine that doesn't get messed up by DQBsetFrameRate, or B) a new QB timing routine that doesn't change the PC timer. [UPDATE: The timing works now! It automatically throttles the engine at 24 fps, no issues, and works with the music too]
Keen behavior: There are various issues with Keen's physics and behavior, such as that he can move around and jump while he's looking up or down. The impossible pogo trick is even more impossible. These are just bugs I have to fix. [UPDATE: I've fixed the physics a little. Feels much more like actual Keen now.]
Code: The code is not very well organized or commented. I just have to sit down and do some serious organizing and commenting!


The music files come from the demo S3M files that came with the QB s3m player, since I don't have a way to convert imf to s3m right now (I tried Camoto, it gave me a tempo incompatibility error - ?)
DISCLAIMER: This is a VERY "alpha", "demo", "unfinished", etc. release. It's not meant to be good, or even a real game engine YET.
So maybe this is not really necessary, but here it is: my first contribution to the Keen community, a completely useless and superfluous game engine. Hope you like it!
