Skip to content

A grid-based, real-time river-rafting game with explosives

License

Notifications You must be signed in to change notification settings

stephengold/FuzeCreek

Repository files navigation

FuzeCreek

A grid-based rafting game with explosives, powered by the jMonkeyEngine (JME) game engine.

It contains 4 subprojects:

  1. FC2D: a (retro) 2-D version of the game
  2. FC3D: the 3-D version of the game
  3. FCCommon: shared sourcecode which implements the mechanics of the game
  4. FCConsole: a (very retro) console-based version of the game, implemented using "ASCII graphics"

Assets and complete source code (in Java) are provided under a 3-clause BSD license.

Contents of this document

How to download and run a pre-built release of FuzeCreek

(documentation not yet written)

Jump to the table of contents

How to build and run FuzeCreek from source

  1. Install a Java Development Kit (JDK), if you don't already have one.
  2. Point the JAVA_HOME environment variable to your JDK installation: (In other words, set it to the path of a directory/folder containing a "bin" that contains a Java executable. That path might look something like "C:\Program Files\Eclipse Adoptium\jdk-17.0.3.7-hotspot" or "/usr/lib/jvm/java-17-openjdk-amd64/" or "/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home" .)
  • using Bash or Zsh: export JAVA_HOME=" path to installation "
  • using Fish: set -g JAVA_HOME " path to installation "
  • using Windows Command Prompt: set JAVA_HOME=" path to installation "
  • using PowerShell: $env:JAVA_HOME = ' path to installation '
  1. Download and extract the FuzeCreek source code from GitHub:
  1. Run the Gradle wrapper:
  • using Bash or Fish or PowerShell or Zsh: ./gradlew build
  • using Windows Command Prompt: .\gradlew build

You can run the console-based version:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew :FCConsole:run
  • using Windows Command Prompt: .\gradlew :FCConsole:run

You can run the 2-D version:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew :FC2D:run
  • using Windows Command Prompt: .\gradlew :FC2D:run

You can run the 3-D version:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew :FC3D:run
  • using Windows Command Prompt: .\gradlew :FC3D:run

You can restore the project to a pristine state:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew clean
  • using Windows Command Prompt: .\gradlew clean

Jump to the table of contents

Playing FuzeCreek

The game consists of steering a raft down a river containing naval mines and exposed sharp rocks. The raft automatically advances downstream. It advances in discrete jumps, one row at a time. The objective is to maximize points while avoiding mines and rocks.

Scoring system

Points are awarded for:

  1. making downstream progress (1 point per row) and
  2. removing mines by navigating alongside them without making contact (20 points per mine)

If the raft crosses over a mine, the mine will detonate, ending the game with a deduction of 100 points.

You begin the game with 20 patches. Each time the raft crosses over a rock, you automatically expend one patch to repair damage caused by the rock. If no patches remain, the raft sinks, ending the game.

If the raft runs up against either bank (side) of the river, the game ends.

Controls

All versions are controlled entirely using the keyboard; no mouse or trackpad is required.

When run, the game opens a single window. For the controls to work, this window must be selected to receive input. Some window managers select windows based on the position of the mouse pointer. If none of the controls work, try selecting the game window by clicking on it or moving the mouse pointer into it.

General controls found in all versions of the game:

  • Esc : end the game immediately
  • A or LeftArrow : steer left
  • D or RightArrow : steer right

Additional controls found in FC2D and FC3D:

  • H or F1 : toggle the help node in the upper-right corner of the window
  • F5 : toggle the render statistics in the lower-left corner of the window
  • Prt Scr : capture a screenshot to the working directory

Additional caveats:

  • Steering is effective only when the raft advances. To steer, you must press a key and hold it down.
  • On Linux systems, the Prt Scr key might be needed by the window manager, so the Scroll Lock key is used instead.
  • The key descriptions above assume a keyboard with the "United States QWERTY" layout. On some keyboards, the keys in the A, D, and H positions are labelled differently.

Jump to the table of contents

Wish list

Some ideas for future development:

  • Sound effects
  • Visualize exploding mines
  • Health bar to visualize the remaining patches
  • Shadows in FC3D

Jump to the table of contents

History

(documentation not yet written)

Jump to the table of contents

Acknowledgments

Like most projects, FuzeCreek builds on the work of many who have gone before. I therefore acknowledge the following artists and software developers:

  • the creators of (and contributors to) the following software:

I am grateful to GitHub for providing free hosting for this project and many other open-source projects.

I'm also grateful to my dear Holly, for keeping me sane.

If I've misattributed anything or left anyone out, please let me know, so I can correct the situation: sgold@sonic.net

Jump to the table of contents