Here, you can get help with anything or just chat about the original Commander Keen games.
Well not really a shovelware company, the publisher of the game in the United Kingdom (Precision Software, so anyone who ordered the game from them in 1992 or thereafter would be able to tell us the answer). As it was mainly the ordering information that was changed, the possibility of it not existing is there. Then again there were some other changes like the more interesting loading screen and I'm hopeful that id put together a 1.34 of Keen 3 that fixed some of the sloppy bugs that got through 1.31.
The CGA version doesn't scroll smoothly horizontally, it scrolls per 4 pixels.Litude wrote:The reason why no CGA version of Keen 1-3 was ever made was probably primarily because John Carmack didn't know how to do smooth scrolling on CGA setups at the time, the "trick" he had discovered only worked on EGA cards. Obviously he did figure out how to achieve this on CGA cards before the Galaxy duo of games came.KeenRush wrote:The CGA versions seem quite a mad thing to do, especially since they didn't make ones of Keen 1-3 which were even earlier games.
sourceTrixter wrote:Keen 1, Romero told me, was actually somewhat crappily-programmed: It repaints the entire screen every frame. The "trick" was that most of the memory transfers were videoram-to-videoram, as the memory didn't have to travel through the PC bus to get to the card. The only hardware scrolling was horizonal pixelpan which can offset the screen from 1 to 7 pixels, and start address which is for vertical. And split-screen for the status display. So it's a good engine, but not a great one
Keen 4 through 6 is a different engine, and much smarter, in that everything happens on a virtual screen in system RAM and only what is absolutely needed to be repainted is repainted. Meaning, when you scroll left, only the sprites are drawn/erased and only the new landscape/background coming in on the left is painted. Then the virtual screen is blasted to video ram as fast as possible.
Which is better/faster to implement? Depends on the game. If you have simple 16x16 tile backgrounds and small sprites, like Keen 1, then the first way is usually best. If you have complex layered backgrounds, the second way is best.
I talked to some guys at Quicksilver a decade ago for a project that never materialized, and Karnov was written the same way as Keen 4-6 (before Keen was written, obviously), which is why it is also playable on CGA+8088.
So Keen 1-3 uses a different engine than Keen 4-6. And I guess it was easier to adapt the engine of Keen 4-6 to display on a CGA screen, than it was to adapt the engine of Keen 1-3.
I don't know what Trixter means by split-screen for the status display.
http://www.phatcode.net/res/224/files/h ... l#Heading1Calvero wrote: I don't know what Trixter means by split-screen for the status display.
The existence of this on EGA and not on CGA is why the Keen 4-6 status display (the one you get when you press Enter) slides into the screen from the top on EGA Keen, and is just an ordinary boring box on CGA Keen.