Live data from Hacker News

Omnispeak – A Commander Keen Reimplementation

davidgow.net

51–57 of 57 posts

Re: Omnispeak – A Commander Keen Reimplementation

#51
post #49

Earlier quoted context omitted.

I'll take a native implementation over an emulated one any day.

Being intentionally obtuse here, that raises a simple question. Why not dual-boot into FreeDOS and play from there?

Then I can't be on discord and yell at my friends how cool this native re-implementation of Keen is.

Re: Omnispeak – A Commander Keen Reimplementation

#52

Earlier quoted context omitted.

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: ^_ ^H^C¥XÛrÛ8^R}¶¾¢ ^OñLE"}M%^N­]¯¥x í©­ÔÖÖ^Vdb$Ê$Á^E@Ë ù ýÂý = r7; 3µ~ %^BÝèËéÓ="" Æ? &ç· ? )we1ìÅü Oddly, there was random entified data in there:  ^V[^P¿8û0þpöé&<

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.

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

Re: Omnispeak – A Commander Keen Reimplementation

#53
post #48

Earlier quoted context omitted.

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,…

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.

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.

Re: Omnispeak – A Commander Keen Reimplementation

#54

> 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…

> But why OpenGL 2.0?

Good news! After looking at the code for a bit, there's an SDL1.2 backend (disabled by default) that allows for software rendering. The game runs wonderfully on the Beaglebone Black sitting next to me.

Re: Omnispeak – A Commander Keen Reimplementation

#55
post #22
post #18

Earlier quoted context omitted.

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.

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.

Go into the Makefile. Set "WITH_SDL2=1" to 0. It'll compile with the software-based SDL1.2 backend instead. Runs perfectly on my BBB (actually, I don't have sound plugged in, and I keep seeing ALSA buffer underrun messages, so the audio's probably "blech", but the game itself feels great.

Granted, I think the ZZ2's CPU is like 1/4 the speed. On the other hand, the BBB doesn't seem well-suited to anything graphical.

Re: Omnispeak – A Commander Keen Reimplementation

#56

It looks very cool! How does it compare to Commander Genius? http://clonekeenplus.sourceforge.net

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.

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.

Re: Omnispeak – A Commander Keen Reimplementation

#57
post #18

> 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…

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.

It just strikes me as weird because it doesn't really need anything more than OpenGL 1.1 (assuming you want to use the GPU). When i see games require versions of OpenGL greater than 1.x but do not have any fancy functionality, it is usually because they want to use OpenGL Core. This isn't the case here, so i wondered why.
Post reply on HN