#gamedev #game-engine #cross-platform #engine #framework #api #spooky

wolf_engine

A game framework with a focus on flexibility and ease of use

31 releases (breaking)

Uses new Rust 2021

0.23.1 Sep 6, 2022
0.22.1 Aug 29, 2022
0.21.0 Jul 6, 2022
0.13.1 Mar 24, 2022

#128 in Game dev

Download history 208/week @ 2022-06-03 14/week @ 2022-06-10 16/week @ 2022-06-17 33/week @ 2022-06-24 64/week @ 2022-07-01 43/week @ 2022-07-08 38/week @ 2022-07-15 105/week @ 2022-07-22 31/week @ 2022-07-29 40/week @ 2022-08-05 25/week @ 2022-08-12 59/week @ 2022-08-19 60/week @ 2022-08-26 41/week @ 2022-09-02 58/week @ 2022-09-09 20/week @ 2022-09-16

211 downloads per month
Used in wolf_engine_sdl2

MIT/Apache

105KB
1.5K SLoC

Wolf Engine

CI Crates.io Crates.io

Wolf Engine is a game framework that's designed to be flexible and easy to work with.

Project Status

Wolf Engine is in early alpha. The core API is mostly complete, and has started to stabilize somewhat, but it's still unproven alpha software. You should expect missing features, bugs, changing APIs, and other spooky stuff until release 1.0.

In addition to being in alpha, I'm still actively learning about game and engine development. A best-effort is made to ensure things work well, but I'm by no means an expert at this. I fully expect to make mistakes. Feedback and / or
contribution is absolutely welcome, so feel free to create an issue for anything you feel could be done better.

If you wish to contribute, please make sure you have read the Contribution Guidelines.

Design Goals

  • Simple: Offer sensible default options and a clean and simple API. Always remember to KISS.
  • Capable: Build anything from small prototypes and game jams to full-featured production releases.
  • Flexible: Allow users the freedom to bring their own tools and customize the engine to fit their project's needs.
  • Stable: Utilize Rust's powerful type system and good BDD / TDD practices to squash bugs before they appear.
  • Light: Every module except the core module is optional, so if it's not needed it won't be included.
  • Fast: Code should strive to run as fast as possible.
  • Cross-Platform: Run on as many platforms as possible.

Features

These are the currently planned features for Wolf Engine. Not all of them are ready yet, so this check-list is provided to show you what is and is not ready.

  • Core Engine
    • Main Loop
    • Dynamic Context Data
    • Schedulers
    • Game States
    • State Stack
    • Plugins
  • Event System
    • Event Queue
    • Custom Events
  • Input
    • Keyboard / Mouse Input
    • Touch / Pen Input
    • Gamepad Input
  • Graphics
    • BYO Graphics System
    • High-level Window System
    • High-level 2D Graphics API
    • High-level 3D Graphics API
  • High-level Audio API
  • C / C++ Bindings

Platform Support

Excellent cross-platform support is one of the main goals of Wolf Engine. Development is happening primarily on Linux and Windows, so those platforms have the best support currently. By release 1.0, all platforms listed below should be well supported.

First-class Support

  • Linux
  • Windows

Well Supported

  • MacOS

Not Tested, but May Work

  • Android
  • IOS
  • WASM

Getting Started

The documentation details some of the basic concepts of the engine, while the quick-start example and the examples folder offer practical, and more advanced usage examples.

License

Wolf Engine is licensed under either

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 additional terms or conditions.

Dependencies

~165KB