Creating a ScummVM Engine for The Clue!

A couple of months ago, I (somehow) initiated a new project: Creating a ScummVM engine for the game ‘The Clue!’, originally released in 1994.

‘The Clue!’, originally known as ‘Der Clou!’, was developed and published by the Austrian games studio ‘neo Software Produktions GmbH’. Some sources say that the game was published by ‘Max Design’, but that’s not really certain. However, we know for sure that the UK release was published by ‘Kompart UK’.

Introduction

The game – a cross-over between an adventure and an RPG – tells the story of the young small-time criminal Matt Stuvysunt, who arrives in London in the early 1950s and tries to make a living by commiting burglaries. The player has to plan those burglaries down to the smallest detail. Even the slightest mistake might lead you straight into the arms of the police instead of the loot you are looking for.

Both the MS-DOS and the Amiga got two versions of the game. The planned ScummVM engine will cover the DOS version. Next to a ‘classic’ floppy based release, The Clue! was released on CD-ROM with a speech track. The Amiga got a release for the OCS/ECS and the AGA chipset.

The Amiga and the DOS versions have completely different soundtracks and different graphics at some points. Compared to the AGA version, the OCS/ECS is missing some audio tracks. Besides that, the graphics of the planning mode are vastly simplified. Regarding graphics, the AGA version mostly matches the DOS version.

Without going into too much detail – this game is very precious for me since it was the game that sparked my interest in retro gaming and ultimately brought me to ScummVM. It’s a great pleasure to announce that sev, Strangerke and SupSuper from the ScummVM project agreed to convert the existing source code into a proper ScummVM engine.

I’ll take a supporting role in this project. A lot of the comments in the source code are only available in German, so I’ll take care of a proper translation, so the developers can work with them. Besides that, I’ll work on testing the game since I know it pretty well and I’m able to understand the original German release.

About the source code situation

Back in the year 2000, the developers of the original game released the game assets and the source code of the DOS version to the public using a custom license. Shortly thereafter, development of a SDL based reimplemtation licensed under the GPLv2 began. This port is known under the name ‘COSP’ which stands for Clou Open Source Project. Additionally, the game got ported to SDL2 by Vasco Alexandre ‘vcosta’ da Silva Costa.

For us, it’s very fortunate that the source code is available, even though it’s partially modified. Usually, we don’t have access to original sources when developing a new ScummVM engine, so we have to examine the original binaries using reverse engineering. This process is very difficult and time consuming since we have almost no information about the inner workings of a game when we start the implementation. In this case, we even have access to two different sources.

The ScummVM engine will be based on both the COSP project and vcosta’s implementation. In some parts, both implementation take different approaches, so we can choose the code that really suits our needs.

About the current state of the engine

The game is available in German, English and Czech. Next to the game itself, there’s an add-on called ‘Profi-Diskette’ available containing several more missions and buildings. Our current plan is to support all existing language versions. We already managed to implement detection entries for all known game versions and we are able to launch all of them in ScummVM.

In conclusion, ‘The Clue!’ already runs in ScummVM. However, due to the early stage of development, the engine shouldn’t be considered as playable – you should expect glitches, bugs and crashes.

We are already aware of a couple of issues. For example, both versions have timing issues. While the COSP version is running too slow, vcosta’s version is running too fast. Some of the graphic routines contain glitches too which manifest in wrong colors and palette issues.

Parts of the audio and video output as well as input handling is already done by ScummVM components. The remaining tasks like the game’s logic and file handling are not done by the intended functions and calls in ScummVM at the moment.

Screenshots? Screenshots!

The following pictures were taken from the game running in ScummVM, so you can get a first look at the current development.

You arrive in London…
The streets of London
Home, sweet home! Your hotel room is the HQ of your… operations. Here, you…
…choose your next destination, your team members…
…in order to create the perfect plan!

As you can see, we got off to a good start.

We’ll need to do quite a lot of work until we can call this project a ‘proper’ ScummVM engine. We’ll keep you up do date right here so you can follow the development process.

Leave a Reply

Your email address will not be published. Required fields are marked *