Skip to main content

A generic roguelike following the Python 3/libtcod tutorial.

Project description

GeneriCrawl

A simple roguelike made in Python with tcod as part of the 2018 r/roguelikedev Does The Complete Roguelike Tutorial event. Can you reach the bottom floor of the dungeon in one piece?

Features

  • 15 enemies, 15 weapons, 8 pieces of armor, 5 runes, and 10 dungeon levels
    • Runes can be consumed, thrown, or used for enchanting
    • Levels are divided into 3 distinct areas: the dungeon, the caves, and the labyrinth
    • Levels vary in size, with some containing over 8,000 tiles
  • A combat system with 4 stats: HP, attack, defense, and damage
    • Attack and defense determine hit chance
    • Damage is the approximate damage dealt on a hit
  • AI that will start chasing you on sight, but can be escaped by breaking line of sight for long enough
  • Multiple color schemes and input schemes that can be changed while in-game

Installation

pip install genericrawl

Usage

genericrawl

GeneriCrawl accepts no command line arguments.

Options

Game options are saved to genericrawl/options.json in your system's default config location ($XDG_CONFIG_HOME, ~/.config, or %APPDATA%). Controls and colors can be changed in-game and automatically written back to this file. However, if you want to change the screen size, you will need to manually edit this file with a text editor and set the values of screen_width and screen_height. Each tile is 10 pixels, so the values 72 and 128 would produce a 720x1280 resolution, for instance. Alternatively, you can enter fullscreen by pressing F11 in-game, which will automatically rescale the game to your screen size.

Controls

GeneriCrawl comes with multiple common roguelike control schemes, as well as a less common left-handed control scheme.

All Control Schemes

The following bindings work in all of the following control schemes.

  • -/=: Change color scheme.
  • [/]: Change input scheme.
  • 1-0: Jump to an item in the inventory. Note that these are the number row keys, not numbers on the number pad.
  • Space/.: Wait one turn.
  • Space/Enter: Select an item or location.
  • r: If you're dead, restart the game.

Also note that, for all movement schemes, you can press the center key to wait a turn.

Number Pad

Recommended for players with a number pad.

7 8 9
 \|/
4-5-6
 /|\
1 2 3
  • i: Open inventory.
  • g/,: Pick up an item that you're standing on.
  • d: While in the inventory, drop the currently selected item.
  • e: While in the inventory, use the currently selected item.
  • r: While in the inventory, combine the currently selected item with another. Select another item and press the key again.
  • t: While in the inventory, throw the currently selected item.
  • l: Navigate to a tile to see its contents and pan the view.

vi

Recommended for vi users.

Y K U
 \|/
H-.-L
 /|\
N J N
  • i: Open inventory.
  • g/,: Pick up an item that you're standing on.
  • d: While in the inventory, drop the currently selected item.
  • e: While in the inventory, use the currently selected item.
  • r: While in the inventory, combine the currently selected item with another. Select another item and press the key again.
  • t: While in the inventory, throw the currently selected item.
  • ;: Navigate to a tile to see its contents and pan the view.

Left-hand

Recommended if you don't have a number pad, aren't experienced with vi, or want to use the mouse more.

Q W E
 \|/
A-S-D
 /|\
Z X C
  • tab: Open inventory.
  • g: Pick up an item that you're standing on.
  • b: While in the inventory, drop the currently selected item.
  • r: While in the inventory, use the currently selected item.
  • f: While in the inventory, combine the currently selected item with another. Select another item and press the key again.
  • t: While in the inventory, throw the currently selected item.
  • v: Navigate to a tile to see its contents and pan the view.

Credits

GeneriCrawl was created by Aaron Friesen with the help of the tcod Roguelike Tutorial.

Contributing

GeneriCrawl is no longer in development, and I do not intend to accept patches for new features. However, GeneriCrawl is permissively licensed, so if you want to add your own features, feel free to fork the repo or just borrow parts of the code (subject to the license terms in LICENSE.txt).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genericrawl-1.2.1.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

genericrawl-1.2.1-py2.py3-none-any.whl (48.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file genericrawl-1.2.1.tar.gz.

File metadata

  • Download URL: genericrawl-1.2.1.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for genericrawl-1.2.1.tar.gz
Algorithm Hash digest
SHA256 1b94a2ab764b9cd0481541f246e40c9d8037040ecaaae688dabe847bd7d5b9c9
MD5 6fb20a778a97f1f77d4fc5236380cc08
BLAKE2b-256 e8d172466ab0c2500beb0045a2abf345da632c6037db69bf03387e287b7ada26

See more details on using hashes here.

File details

Details for the file genericrawl-1.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for genericrawl-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ba074f1c06877b89aec2ccef182d4f2771f301d3871defe06ce282fa195c8181
MD5 9896666d9ff8c82d3bfdeb6871d776bc
BLAKE2b-256 4147749f11a8dbac3f62f9e81812f29ed420bb9212f404140b400e3ebcc3942b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page