Necklace of Skulls (Gamebook using SDL)

While learning the Simple DirectMedia Layer library, I set about adapting Necklace of Skulls gamebook (again), but with a graphical user interface composed mainly of icons and text buttons.

As of now, all the story sections (Prologue + 442) sections are already implemented as well as the adventure sheet record keeping (Life Points, Items, codewords). Loading/Saving games is also functional now. I’m targeting the Windows/OSX/Linux platform as SDL is cross-platform. It is also (I hope) keyboard/mouse/gamepad friendly. So far, I’ve tested under Windows and Ubuntu. OSX to follow soon.

Links to the project:

And some screenshots from the Linux (Ubuntu 20.04 LTS)

I hope to push a Windows 32 & 64 bit soon, as well as an AppImage package for Linux. I’m playtesting and fixing any lingering bugs but so far, I was been able to play from start to finish (good, bad endings) with several characters already.

Note, there’s a superior iOS app version made by Cubus Games already and this (mine) is nowhere near that in terms of quality and technology… so why create my own? I really really love the Virtual Reality Adventures/Critical IF gamebooks :wink:

I hope you folks enjoy this one. Feedback is most definitely welcome.


But where’s the wonderfully awful Virtual Reality Adventures 3D logo?!

1 Like

Ah. Maybe I should put it somewhere in-Game as a nod to its earlier incarnation/publishing history :slight_smile:

1 Like

I managed to compile it here under Windows/mingw64.

had to make a few changes:

CC = g++
SKULLS_SOURCE = skulls.cpp
SKULLS_OUTPUT = skulls.exe
LINKER_FLAGS = -O3 -std=c++17

SDL = v:/sw/sdl
INCLUDES = -I$(SDL)/include -I$(SDL)/bin/include/sdl2

LIBS = -L$(SDL)/bin/lib -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf -lstdc++fs

all: clean skulls


	rm -f *.exe *.o

Also my gcc v7 doesnt have filesystem so had to change code to experimental::filesystem and also.

          for (const auto &entry : fs::directory_iterator(path))
                //auto time_stamp = entry.last_write_time();

#ifdef _WIN32
                std::string file_name = entry.path().string();
                std::string file_name = entry.path();

                auto time_stamp = fs::last_write_time(file_name);

                if (file_name.substr(file_name.find_last_of(".") + 1) == "save")
                    saved_games.insert(std::make_pair(time_stamp, file_name));

Otherwise, it works!

Would like to be able to resize the main windows tho’

Good project!

1 Like

Thanks! I’ll see what can be done on a resize event. Perhaps there should be a minimum resolution so that the textboxes and other graphics don’t end up broken.

… In the meantime… while I prepare the Linux AppImages, OSX dmg files, here’s Heart of Ice given the same treatment

Some screenshots:

I’ve also changed the font to Bookman Old Style. Seems more readable (and nicer) that way. The screenshots don’t do the original art any justice so I added a zoom when you mouse over the splash image.

As usual, feedback’s most welcome. I hope you fine folks enjoy this one. :slight_smile:

1 Like

These books are public domain now? I tried looking for information on it but the names of the series (virtual reality adventures and critical IF) are so generic that they’re really difficult to search for.

awwww yeah that logo

No. They’re not public domain. I’ve asked for permission a while back to adapt it as a game with the understanding that I would take them down if they decide to make games too.


That’s really cool. :slight_smile:

I haven’t played many Virtual Reality books. Mostly just Heart of Ice and Coils of Hate, but I like them both quite a lot.

If you plan on adapting Coils of Hate, there’s actually been an updated version released that fixes the logic problems that the original had. The fix was done by Stuart Lloyd of Lloyd of Gamebooks with the permission of Mark Smith and provided for free on DriveThruRPG. I imagine you’d need to get Stuart Lloyd’s permission, but I don’t see any obvious reason why he’d decline.

Thanks! Coils of Hate and Twist of Fate were the only books in the series that I do not own. Last time I checked, COH was selling for 800 GBP on ebay… so I’ll have a go at Stuart Lloyd’s fixed version.

1 Like

The third entry has some misspells. Situtation, slections, poessessions. Is that game in the final form or is that still needs to be beta tested?
Also, the font size is rather small, so reading it is very hard for me.

Yes, am still testing it. Thanks for ths catch.