Skip to content

OCC is an unofficial open source engine reimplementation of the game trilogy Crystal Caves

License

Notifications You must be signed in to change notification settings

gurka/OpenCrystalCaves

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C/C++ CI #CrystalCaves on Mastodon Download at itch.io

OpenCrystalCaves

OCC is an unofficial open source engine reimplementation of the game trilogy Crystal Caves.

Download binaries and project info at itch.io

This repository includes the shareware version of Crystal Caves. To play the full, retail version, you can copy over the data files or purchase them at Steam or GoG.

Current state of OCC:

Animation

Screenshot 3

Currently the engine can:

  • Load sprite, item and level data.
  • Main level and entering levels.
  • Render items that, both behind and in front of the player, as well as animated items.
  • Move the player around, jumping, colliding with solid items and moving platforms.

Features that are missing:

  • Loading and saving games.
  • Exiting levels.
  • Items.
  • Enemies.
  • (and much more).

Differences with Crystal Caves

OCC aims to be a better, modern remake of Crystal Caves while preserving the same gameplay experience. Therefore there are some changes and improvements made where they make sense. Below is a list of differences:

Feature Crystal Caves OpenCrystalCaves
BBS menu item "Call our BBS" menu item which shows BBS phone numbers "Visit our Website" which opens the browser to the OCC game page
Earth and moon orbits Earth and Moon move at constant speed Earth and Moon move in a circular arc
Head bump momentum Horizontal momentum is lost when player bumps their head Horizontal momentum is preserved when player bumps their head
Instructions Sequential, text-only instructions Added inline icons showing what game objects look like
Moving platform animation Animation is the same regardless of direction Animation reverses so that monitor follows background
Laser position Laser is fired slightly below the muzzle Laser is aligned with the muzzle
Transitions Fade by palette color Fade to black
Question mark spin animation Animation repeats and skips some frames Animation shows fully rotating question mark
Quit To OS menu label Quit to DOS Quit to OS depending on build

Compiling OCC

OCC is built using C++17 and requires external libraries: SDL 2.0, SDL_image and SDL_mixer and . SDL2 must be installed and available in /usr/include/SDL2. Additionally the build system cmake must be installed.

Steps to compile (Linux, macOS):

git clone --recursive https://github.com/gurka/OpenCrystalCaves.git
cd OpenCrystalCaves
mkdir debug
cmake -Bdebug -DCMAKE_BUILD_TYPE=debug occ
cd debug
make

The binary will be available at OpenCrystalCaves/build/occ

Or in Windows (with vcpkg):

# In vcpkg dir
./vcpkg install --triplet x64-windows sdl2 --recurse
# In your projects dir
git clone --recursive https://github.com/gurka/OpenCrystalCaves.git
cd OpenCrystalCaves
cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake occ -A x64

The Visual Studio project will be available at OpenCrystalCaves/build

Running OCC

OCC requires data files from the original Crystal Caves (any episode). Either install it via Steam or GoG, or copy the game data to the media folder in the occ package (such as CC1.GFX).

About

OCC is an unofficial open source engine reimplementation of the game trilogy Crystal Caves

Resources

License

Stars

Watchers

Forks

Packages

No packages published