@K1n9_Duk3: As usual thanks for your hints I really appreciate the time you take for judging the project. Getting to what you wrote here:
K1n9_Duk3 wrote: ↑Mon Dec 18, 2017 22:15
Malvineous wrote: ↑Mon Dec 18, 2017 12:19If you could record a demo in the original game and play it back in CG, then the physics would have to be spot on for the demo to work, otherwise the player would likely die or get stuck very quickly. I made use of this when I ported Xargon as it was a very good way to check that everything was working at the proper speeds
I did the same thing while working on ReDuke and other projects, and I still think this is the best way to check for errors in the new implementation.
This is a good idea, but CG is not able to read demos. I wanted to create an own file format for that, but for such idea it might be better to read those demos. The data format of the demos is known if I am not mistaken.
K1n9_Duk3 wrote: ↑Mon Dec 18, 2017 22:15
But for the Keen games, there's a much easier solution at hand. If I'm not mistaken, Chocolate Keen and Omnispeak are 100% faithful recreations of Keens 1-6, and the original source code for Keen Dreams is also available. NY00123 mentioned that the demo playback was used in the recreations to check if they are accurate.
I have taken from the Chocolate Keen and Omnispeak codes with some modifications here and there. That code does not work as is, because it is meant to played at lower frame rates, still a lot is based on them. I have 70 ponder per second in the Galaxy games, the original uses 14. It is a good factor, thanks to NY00123 (I think he had the idea) but still you have to adapt things here and there. The Omnispeak code taken was from an older version. It really pushed CG to get Keen 5 playable. I might take a second look here and there. Also special thanks to Pickle for the file format of Keen 4.
K1n9_Duk3 wrote: ↑Mon Dec 18, 2017 22:15
If you want 100% authentic gameplay in Commander Genius, then you could just check out the source code of these projects and merge the game logic into Commander Genius. There's really no need to re-invent the wheel here. This is actually one of the reasons why I stopped working on ReDuke. I realized that at some point I won't be able to get even closer to a 100% accurate reimplementation unless I disassemble the original executables and recreate the original code based on that disassembly.
That is exactly the thing it worries. Many fans of CG do not care that much as you do, Billy Blaze is there you can play the games, everything fine. I still want to get a bit closer, but smooth animations, some better logic here and there is what I would prefer. I can improve the logic, but I do not want to go down into disassembly. And I don't think it is required. Every update has better physics. Every given hint is taken seriously and implemented with the best of my skills into CG.
K1n9_Duk3 wrote: ↑Mon Dec 18, 2017 22:15
You're lucky to be in a position where you don't need to deal with the disassembly yourself. Somebodey else already did all the hard work.
That is the true. My only problem is that it got hard to find more time getting the stuff into CG. Years ago there was much more help than now, especially in the hacking department. Many people outside do not see the requirement to get the physics better, it is more about more games, multiplayer, etc. I think regarding game logic we still can improve a lot. So this Forum and the Modding one really have the experts who care. But I am not such an expert for making the game as keenish as many would prefer from such perspective. There are other priorities I have to consider right now.
I also think we should move forward. The patches are nice for changing the game and so on, but I have created a python interface which I think is better for mods. I also have the vision to get rid of any EXE and Assets file dependencies, so we can finally create our own Keen game, maybe with another name on it, so no more licensing issues, maybe something like Freedoom but for Keen. So far at least, there is the mod of Nisaba called "Buried in Oblivion". Also Keen 9 uses some python code to get it running. I have been thinking about interpreting patch code segments, but I always get the sensation it limits us too much. Python is readable to say the least.
I also find a bit sad that mods like "Marooned on Mars" Galaxy Edition and Keen 9 require Keen 5 meaning you can only play it if you bought the game. That is the reason why I do not provide them for download. Yes I know there are other ways to solve this problem and provide those downloads, but it does not change the fact that you need to buy the game. Wouldn't it be cooler not to require the EXE files, have some readable (Python) code for your game logic and your own datasets? I have seen so many mods up to the points, so much creativity, but the EXE limitation and Dosbox I think hurts us a lot. Just my opinion. I respect the nostalgia you feel playing it in Dosbox and I hope to get CG to the point you would feel the same one day...
K1n9_Duk3 wrote: ↑Mon Dec 18, 2017 22:15
On the other hand, I can understand if you don't want to trash most of the code you've written for CG in the last nine years. You would probably have to re-implement many of the features that are already in CG.
Yes it was a lot of work. Nonetheless I see that a lot of stuff could have been better and still can be, but I also had to learn making the engine better. The latest commits have been bug fixes and cleanups so the Release 2.0 would be much better in many regards. After that release we might take a second look and maybe someone wants to give a helping hand making physics better. I really would like to see it, because with CG we can make mods even more popular getting them playable with more native code and less limitations.
... or maybe we should let Billy Blaze go ...