Skip to content
This repository has been archived by the owner on Aug 19, 2022. It is now read-only.

amethyst/dwarf_seeks_fortune

Repository files navigation

Build Status unsafe forbidden

⚠️ Note: Since the Amethyst game engine is discontinued, development has similarly halted on this version of Dwarf Seeks Fortune. A new version of the game is being developed using the Bevy engine.

Dwarf Seeks Fortune: Amethyst Edition

A 2D puzzle platformer made with the Amethyst game engine. This game is an homage to the 1988 classic King's Valley II.

Screenshot

Gameplay

You're a dwarf, digging through the ancient ruins of your ancestors. Each level presents a different puzzle. The aim is to collect all keys, after which the door to the next level is unlocked. Puzzle elements include one-time-use tools that must be picked up and used in a specific order at specific locations.

Screenshot

Design goals:

  • This project aims to be a helpful resource for people learning Amethyst. Code should ideally be thoroughly documented and easy to understand. It should be kept up to date with the latest stable version of Amethyst and should follow best practices.
  • This game should be accompanied by guides explaining how certain features are implemented. These guides should aim to serve as a next step after reading the pong tutorial and the basic examples.
  • There is a focus on robustness; for example, someone cloning the repository for the first time should be allowed to accidentally break one of the settings files without it crashing the whole game. Instead, log a warning and use a fallback.
  • I personally hate games that make you use the mouse more than necessary. This game must be fully accessible with a keyboard alone. Mouse input should always be optional.

Quickstart

  • Clone the repository
git clone https://github.com/amethyst/dwarf_seeks_fortune.git
cd dwarf_seeks_fortune
  • Build and run the project
cargo run

For Mac Users

Open the Cargo.toml file and change from vulkan to metal. You have now changed the renderer backend to one that works on MacOS. This step will hopefully become unnecessary in the future.

For Linux Users

You might need to install some dependencies. Please refer to this section of the Amethyst README for more details.

Features:

  • In-game level editor. Allows for rapid iteration when designing levels.
  • Derpy movement mechanics akin to those of the game this is based on. This game purposely refrains from using a full physics simulation, opting instead for predictable grid-based movements suitable for a puzzle game.
  • Multiple playable levels.
  • Sound effects and music.
  • Time rewinding mechanic to help fix mistakes when solving the puzzles. Might be removed if it proves superfluous or reductive to the experience. For now, it serves as a handy debugging tool.

Art

Sprites are placeholders at the moment, but someone is working on proper pixel art. Sound effects are placeholders as well. Music may or may not be replaced later, it depends on whether I find something more suited to the overall theme of the game.

Contributing

I'd love your contributions! Check out the contributing guidelines to get started.

Releases

No releases published

Languages