All Projects → dpc → Rustyhex

dpc / Rustyhex

Licence: mit
Simple roguelike written in Rust language.

Programming Languages

rust
11053 projects

Build Status

RustyHex

Introduction

Simple roguelike written in Rust.

It's a spinoff of rhex, but while rhex uses traditional command line display, rustyhex uses OpenGL.

It's intendent to exercise my Rust knowledge and let me play with certain mechanisms that I'd like to see in roguelike game:

  • hexagonal map
  • tactical positioning (strafing, face-direction)
  • tick system with actions having delay and duration

Note

I am not actively working on this project as I lack skill and time to develop satisfying OpenGL UI. rhex is the primary place where I work on the ideas of hexagonal roguelike.

I'm still interested in PRs or even completely handing over this project to someone. It might also get merged in rhex one day.

Overview

RustyHex screenshot

Building

See .travis.yml

Status and goals

Build Status

Report problems and ideas

How to play

Basics

  • Use hjkl or arrow keys to move.
  • Press r to toggle between running and walking.
  • Hold Shift to strafe (with Left/Right move)
  • Hold Ctrl to attack (with a move)
  • Press . to wait.

Mechanics

Game time is measured in tick. All creatures (including player) can issue actions. Every action has pre and post delay. Pre-delay is a number of ticks between issuing an and when it actually happens. Post-delay is a time after action was performed and when next action can be issued.

Running

Running is faster if the preceding action was also Running. This reflects some time that it takes to get to full speed.

Melee attack

Melee attack action has generally small pre-delay, but long post-delay.

Wait "rubber"

Any action performed after Wait action is going to have it's pre-delay reduced. This reflects the preparation time that allows for faster attack.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].