cogs-gamedev 0.8.0

Common, Obnoxious Game Stuff. Contains a bunch of useful boilerplate for writing games.
Documentation

COGS

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.

Feature List

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.

Why is the crate called cogs-gamedev?

Because someone already took the name cogs ;-;

Serde Support

By enabling the crate feature serde, most things in the crate can be (de)serialized.