I made a little game called Dog Park that is mostly in Roc, but also has JS and zig.
Most of the world configuration is in Roc: https://github.com/showell/dog-park/blob/main/roc/World.roc
The basic physics scheme is in Roc as well: https://github.com/showell/dog-park/blob/main/roc/Walk.roc
Without spoiling the game, once you leash a dog, all the nearby critters react to the dog based on their local environment (some critters attract, others repel) and paced by the lead dog's motion.
Play it here: https://dogpark.lynrummy.com/dogpark
![]()
There's a game server that mostly just validates moves and persists your last game with a cookie. All the real action happens in the browser, so the Roc is compiled to wasm, as is the zig, and then there is a really light JS layer for the buttons and pointer capture.
I like the messages on invalid moves.
Is the game concept original or some adaptation?
notramo said:
Is the game concept original or some adaptation?
The game concept came out of my head. I lived across the road from a cow pasture last summer, so it's hard to call it original. :)
Dog Park now runs on roc-ray as well:
See also #show and tell > browser canvas apps (and roc-ray). I've got the pattern down for supporting canvas and native. At least for silly little games. :slight_smile: :service_dog: :cow:
https://github.com/showell/dog-park/blob/main/roc/native.roc
Last updated: Nov 04 2026 at 18:54 UTC