Crates.io | cogs-gamedev |
lib.rs | cogs-gamedev |
version | 0.8.0 |
source | src |
created_at | 2020-11-27 22:56:44.743493 |
updated_at | 2021-07-20 15:55:09.42079 |
description | Common, Obnoxious Game Stuff. Contains a bunch of useful boilerplate for writing games. |
homepage | |
repository | https://github.com/gamma-delta/cogs |
max_upload_size | |
id | 317237 |
size | 51,341 |
common, obnoxious game stuff
I find myself re-typing all sorts of stuff when making games in Rust. When I get too frusturated of typing something, I stick it in this crate.
To that end, this crate is a grab-bag of game utilities. It's designed to be engine-agnostic.
This crate is broken down into lots of modules, each of which has a loosely thematically connected set of stuff in it.
They are:
chance
currently only has WeightedPicker<T>
, which lets you do weighted averages.controls
handles player input & controls.
It works both with polling-style (like ggez) and event-style (like macroquad) input handling.
You can query for both state and transitions (aka, detect when the player has just pressed a button.)ease
has a suite of easing and interpolation helpers.grids
has helper types for grid-based games: stuff like coordinates, directions, and rectangles.hash
lets you do quick-and-dirty hashing for things like variagated tilesets.cogs-gamedev
?Because someone already took the name cogs
;-;
By enabling the crate feature serde
, most things in the crate can be (de)serialized.