7 releases (breaking)

✓ Uses Rust 2018 edition

0.8.0 Nov 7, 2019
0.7.0 Sep 8, 2019
0.6.0 Jul 13, 2019
0.5.0 Jun 23, 2019
0.1.0 Mar 6, 2019

#91 in Game development

Download history 3/week @ 2019-07-24 23/week @ 2019-07-31 20/week @ 2019-08-07 1/week @ 2019-08-14 66/week @ 2019-08-21 25/week @ 2019-08-28 41/week @ 2019-09-04 10/week @ 2019-09-11 114/week @ 2019-09-18 27/week @ 2019-09-25 18/week @ 2019-10-02 29/week @ 2019-10-16 54/week @ 2019-10-23 15/week @ 2019-10-30

135 downloads per month

MIT/Apache

220KB
5K SLoC

🐶 KEESHOND Game Engine 🐶

About

Keeshond is a 2D game engine with a focus on quickly bringing ideas onscreen.

Getting started

Check out The Keeshond Book: https://cosmicchipsocket.com/keeshond_book

Project goals

  • Runs reasonably well on hardware from 2010
  • Deterministic game logic across systems, important for speedrunners
  • Implements features games need, without adding unneeded complexity
  • First-class Linux support via SDL2

Current features

  • Gameloop with fixed timestep synchronization
  • Custom-built ECS system designed for decoupled game/drawing logic
  • Basic keyboard input system
  • Fast sprite rendering (can draw close to 100k sprites at 60 FPS on a 2010 CPU and capable GPU)
  • Asset loading from the filesystem
  • Audio system via OpenAL
  • Resolution-independent viewport scaling with maintained aspect ratio
  • Optional pixel upscaling with anti dot crawl for neo-retro games
  • Optional imgui integration

Features to come

  • Gamepad and mouse input
  • Audio streaming
  • Asset loading from .pk3 files
  • Timeline framework, for choreographing animations, sequences, and more
  • Tilemaps
  • Collision engine via ncollide
  • Scene editor

Running examples

In order to get the examples to load their resources, run them from within the keeshond directory.

cd keeshond
cargo run --example doggymark

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~7–10MB
~192K SLoC