cogs-gamedev

Crates.iocogs-gamedev
lib.rscogs-gamedev
version0.8.0
sourcesrc
created_at2020-11-27 22:56:44.743493
updated_at2021-07-20 15:55:09.42079
descriptionCommon, Obnoxious Game Stuff. Contains a bunch of useful boilerplate for writing games.
homepage
repositoryhttps://github.com/gamma-delta/cogs
max_upload_size
id317237
size51,341
petrak@ (gamma-delta)

documentation

README

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.

Commit count: 32

cargo fmt