
Omnispeak – A Commander Keen Reimplementation - rocky1138
https://davidgow.net/keen/omnispeak.html
======
techtalsky
Even though the second Keen trilogy had richer graphics, I really loved the
first Keen trilogy for the gameplay. The jumps and movement felt so much more
physical. Keen would make this tiny pause as if winding up for a jump each
time he jumped. The later Keen just did big floaty isometric jumps that didn't
have the same snap. That said, I loved and played every single one of those
games.

~~~
djsumdog
They were super cute. Boy genius builds a space ship powered by a car battery,
fuelled by your parents wine and .. yea I forgot all the other things you had
to collect in the first one.

They were all good, but I think one of my favourites was Keen Dreams with the
giant potato monster at the end.

~~~
jff
The Bean-with-Bacon Megarocket was fueled by Dad's Everclear, as I recall, and
propelled with the vacuum cleaner.

~~~
endgame
Yep, and you needed the car battery and the joystick.

------
giobox
Oh man, I loved the keen games. As a young lad in the UK, it always frustrated
me how hard buying the full version of shareware software was - the buy
screens always had US address/phone numbers for purchasing, and back in the
early 90s convincing one's parents of the legitimacy of such a weird foreign
transaction was no easy task.

I think I eventually managed to get floppies with the full versions of most of
Apogee's catalog through various friends/acquaintances.

~~~
teekert
Ha, True! The strangest thing was that you could often buy games on floppies
at the stores but they were almost always shareware, with just a single level
to play. Never did we get original games, at least, not in the stores.
Floppies were traded like crazy, legal games just didn't seem to be available
back then. (At least here in the Netherlands, in the early 90's)

------
fapjacks
Holy smokes!! Commander Keen takes me back to when I first discovered hacking,
clear back in the early/mid 90s. I actually met a good hacker friend of mine
on a completely different continent on a train. He was playing Commander Keen
on a laptop and playing the music super loud. I recognized it and introduced
myself. That was almost fifteen years ago and we still work on projects
together!

------
Endy
I'm sorry if I seem a little obtuse here, but... why? If you need the files
from the actual game, and the actual game comes with the tools to run it (i.e.
DOSBox), what is the benefit, or in fact the real purpose, of this project as-
is?

~~~
khedoros1
Dosbox is slow; you need a relatively powerful computer to run most things.
That also means it's not really something that you want to run on battery for
a long time.

Even if that weren't true, I find value in documenting the old file formats
and having readable implementations of the games that used them. From the
point of view of the developer, it can be incredibly satisfying to see the
functionality come together, and to get a picture of how things were done 25
years ago.

~~~
Endy
Thank you for putting it this way. I think the documentation's been done and
released by the Apogee/Id guys, though - but I can understand someone else
just wanting to be able to mess around with it. But I will say that I've never
had any problems with DOSBox, personally speaking; even in terms of battery
life.

~~~
khedoros1
Implementing the game is a good proof of the documentation ;-)

I'm obviously biased in favor of efforts like this. Part of the reason is that
I'm going through another DOS game with a disassembler and trying to
understand, document, and reimplement the game engine (it's going glacially;
I'm no reverse-engineering expert, and I don't have much experience in
assembly). To me, it's a fun subject for a hobby. And I don't like that a game
that would run on a 25MHz 386 natively won't run at full speed in Dosbox in a
computer built 10 years after the game's release (or on my various ARM
machines, a modded game console, etc). Something feels "wrong" about that. I
have the same feeling about the game being unmodifiable. I've seen how much
came out from the open-sourcing of various id engines, and it would be great
to see modifications, enhancements, and remixes of the other classics, too.

------
djsumdog
Is there a word for that deep realization of your mortality and existence;
almost pain, that comes nostalgia?

~~~
MattRix
[https://en.wikipedia.org/wiki/Saudade](https://en.wikipedia.org/wiki/Saudade)

~~~
i336_
Nice!

------
albertzeyer
It looks very cool! How does it compare to Commander Genius?
[http://clonekeenplus.sourceforge.net](http://clonekeenplus.sourceforge.net)

~~~
khedoros1
I kept running into bugs while using Commander Genius (even before entering
the first level, I managed to get Billy stuck "behind" the map. This one feels
exactly like I remember.

~~~
gerstrong
Pretty funny that you mention that. You should know that a lot of Omnispeak
Code is in Commander Genius. Not sure what version you tested, but you should
take another look. Also the developers were part of the CG team.

------
badsectoracula
> Omnispeak requires a computer with OpenGL 2.0 support

That is the strangest requirement. I could see requiring OpenGL 3.1+ Core for
someone who _really_ wants to use a GPU (despite how unnecessary that would
be) and thinks that glBegin is Teh Devil. I could see requiring OpenGL 1.1 for
someone who still wants to use the GPU but doesn't want to bother with GLSL or
any of the later more complex APIs.

But why OpenGL 2.0? I could see it if the games needed some special effects or
something through GLSL, but all Keen games do is basically blitting pixels
around (and from a quick glance at github, all the pixel shader code in the
source does is to draw the bound texture, nothing else), so they don't need
that (nor the code does anything more than that).

~~~
jononor
OpenGL 2.0 was released over 10 years ago. Why is this requirement a problem?

Anything that is supposed to work should be tested, I can see why people don't
want to test against more-than-10-years old APIs.

~~~
dTal
Because it's unnecessary, and precludes it from running on fun platforms
otherwise fully capable of it - like the Zipit Z2 I am currently hacking on
(which come to think of it is probably even fast enough to run the original
inside Dosbox).

It's just less fun.

~~~
throwanem
I think I still have one of those with an Emacs 23 install.

Watch out you don't leave it on the charger too long with a battery in it. The
charge limiter is lacking or nonexistent, and the battery will overheat and
swell.

------
bobbybroadcast
Wow, takes me back to the BBS days of 28.8. Good times.

------
eon1
This link leads to an HTML full of garbage data that automatically downloads
for me. What am I missing?

~~~
NTripleOne
This is old so I guess it was probably a momentary problem for me, but it
works fine in Vivaldi 1.8.770.25 on Windows for me.

~~~
khedoros1
Yep, it worked fine when I got home, a few hours later. There was a while
where it was "wonky".

The header looked fine, the body started like this:
<body>^_<8b>^H^C¥XÛrÛ8^R}¶¾¢<87>^OñLE"}M%^N­]¯¥x<q¢<94>í©­ÔÖÖ^Vdb$Ê$Á^E@Ë<9a><9a><87>ù<88>ýÂý<92>=
r7;<89>3µ~<90>%^BÝèËéÓ="" Æ?<8c>&ç·<9f>?<8d>)we1ìÅü<

Oddly, there was random entified data in there: &nbsp;^V[^P¿8û0þpöé&amp;&lt;

~~~
NTripleOne
That's... absolutely bizarre, I've never seen anything like that before.
Garbled characters, but the hex in chevrons I've never seen, that combined
with an intact body and html entities too...

I guess the server sharted and that was the result? Haha.

~~~
khedoros1
The hex is just the way that the editor chose to display it. I think it's just
random-seeming binary data.

------
xupybd
How does the copyright work with a Re-implementation?

~~~
djsumdog
The dev is just re-implementing the game engine. I think the Ep4 game files
only included because it was a shareware release.

Still, I'm not entirely sure what the legal ground for the engine here is. It
goes back to the whole issue with formats like mp3s/H264 (If you write a
decoder entirely from scratch; do you still have to pay party x?)

~~~
allenu
I think the answer to the mp3/h.264 question today is yes, you do have to pay
party X. The payment is for the license of the spec, I believe, and not the
implementation.

~~~
chii
for the patent you mean? if you didn't read it use the spec, but did a black
box reverse engineering of the format, you'd still have to pay for the patent.

------
death667b
amazing

