jochenjagers / DerClou

A burglary simulation game originally created by neo Software Produktions GmbH
3 stars 1 forks source link

Is da Silva Costas port considered? (includes history of earlier ports) #1

Open qwertfisch opened 1 year ago

qwertfisch commented 1 year ago

The history of ports of „Der Clou“ is a bit complicated. Apart from the not really anymore available Win32 port (which also did not publish the source, or at least I could not find any) and the COSP, there was also a port from Vasco Alexandre da Silva Costa around 2006 or 2007, which he published in source and uploaded on Github long ago.

The Win32 port (just for reference, downloads are not working, but I have a personal backup) was initiated by Thomas Trummer who also fixed and rewrote the music/sound output.

The commit history of da Silva Costa’s version is lost (he had a hard disk failure), just the latest snapshot (version 2.6) is available, and then later some minor changes and a port to SDL2, which can be traced on the Github repo. The reason he started his own port was that the the Win32 port did not compile under Linux and development looked stalled. I quote from his e-mails:

[Thomas] contributed the music sequencer code I used in my port. His port was the first with working music. The work I did was cleanup, making the code cross platform, porting DOS x86 assembly routines to C, support for the animated intro (which none of the other ports supported back then), plus some bugfixes. (…) My code is based on the original NEO code. The music sequencer in sound/hsc.{c,h} is based on the Antares Design win32 code used with permission from Thomas. The sound/fmopl.{c,h} sound chip emulation code is from MAME. list/list.h comes from COSP IIRC. Other than that any changes should be my own work.

COSP’s version seems to be based on the original source code release from Neo Software. They also imported Trummer’s music sequencer code but then development stopped with 0.1d for more than ten years. They resumed work in 2014 up until some years ago.

Summarized, the Win32 edition, COSP 0.1d and da Silva Costa’s code have a lot in common. My question is, did you take a look at the latter and maybe even compared his 2.6 version with later changes of COSP? Maybe some things are fixed by da Silva Costa but not here, as I understand that this repository is a fork of COSP 0.8.

Also I could provide you with the original source code if needed.

jochenjagers commented 1 year ago

Hi qwertfisch, thanks for your message. I was not expecting to get some feedback so fast. Thanks for that. Yes this repository is a fork of COSP 0.8. I also included the older versions of COSP in the git history of this project to preserve them. I know about @vcosta version but I did not compare to COSP yet. I only had a look on the commit history to search for critical bugs. It is good to know that there are more changes than are visible in the commit history. I will check them in the future.

I started from COSP 0.8 because the last changes were more recent and it has a nice support for the voice output (and all the audio tracks cut to wav files, at least for the German version). My first changes were mainly about the Linux build, modernization, cleanup and bug fixes (especially the graphics bugs in COSP 0.8). I use this also to learn more about github workflows and integration with static code analysis tools. So the next step is to create build artifacts for windows automatically.

How is your relation to the game? Looks like you have quite a long history with it.

qwertfisch commented 1 year ago

Thanks for the reply. I was surprised to see another project of porting / bugfixing this game, based on the COSP version, which seems to be stalled in development. I did not search actively, but just a few days ago I was playing some DOS games again, cleaned up my historical archives and just for fun did a Google search and found you project.

To be honest I think that Github is a better place for collaborative working on these projects than Sourceforge (at least since several years). It’s great that you try to continue the work, fix more bugs and maybe later integrate earlier work and bugfixes, so that all the effort is not spread out in two or more projects pursuing the same goal: a native and bug-free version of a very good old DOS game.

I played “Der Clou” around mid-90s for the first time. My computer wasn’t the fastest but enough for this. The music and atmosphere (because of the tragic story) was something only some adventure games were offering at that time. The planning part is nice because you have all time in the world, but executing is one shot only and you cannot interfere (or at least it won’t help much).

Over the years I played it several time, first native, then on DOSbox, the Windows version had too many bugs and COSPs version (0.1) was even worse. Ten years ago I found the version from @vcosta and I learned about the published source code and the history of porting this game, as described. I had the idea of doing a port by myself, but not fixing the C version, more like rewriting the game with SDL in some erm more modern language. I just wanted the source code for reference. But there was never enough time or dedication … If one wants to do it right, at least the sound/music part seems to be a working module to just import.

I cannot help here much in form of developing C code (at least it’s not x86/DOS code anymore), but I would very much like to test the game, look for bugs and such things. I even have an old list of bug from ten years ago (might be from the Windows port, I cannot remember if I testplayed this or Costas version).

Again, thanks for your motivation, dedication and {re}start of this project. The game might be almost 30 years old, but it’s still fun to play. Mostly like a good movie to watch every couple of years. What about your relation and history to it?