falling-turnip
sand.js
Our great sponsors
falling-turnip | sand.js | |
---|---|---|
2 | 1 | |
66 | 35 | |
- | - | |
0.0 | 10.0 | |
almost 11 years ago | about 5 years ago | |
Haskell | JavaScript | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
falling-turnip
-
Show HN: Making a Falling Sand Simulator
If you want more performance, falling sand simulators can further be made parallel by implementing them using Margolus Neighbourhoods, as in Falling Turnip: https://github.com/tranma/falling-turnip
The idea is that a single iteration divides the world into 2x2 squares and then applies effects sequentially within each square, but not between the squares. This means each square can be processed independently. In the next iteration, the division into squares shifts right and down by one cell each direction. This does mean you need more steps than in a sequential implementation, but I found it to be quite a principled approach to parallelizing cellular automata when I first read about it. One interesting side effect of this design is that falling particles end up being separated by blank space, as shown here: https://futhark-lang.org/static/falling-sand-2016.12.04.webm I wonder if that is fixable.
-
How To Make A Falling Sand Simulation?
and here is a github project of a falling sand game written in Haskell https://github.com/tranma/falling-turnip
sand.js
-
Show HN: Making a Falling Sand Simulator
Another way to do this (albeit without simple support for fluids) is to use the Moore neighborhood and use a left and right "bias" to decide which direction a grain should fall towards if it can't fall straight down. This works pretty well as a shader, and has the same side effect with the horizontal lines.
https://github.com/ericleong/sand.js
What are some alternatives?
tateti-tateti - Meta tic-tac-toe ncurses game.
Allure - Allure of the Stars is a near-future Sci-Fi roguelike and tactical squad combat game written in Haskell; please offer feedback, e.g., after trying out the web frontend version at
aeson-tiled - Aeson instances for Tiled map editor types
general-games - Haskell package with helpful structures for a variety of games
LambdaHack - Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at
FunGEn - A lightweight, cross-platform, OpenGL-based 2D game engine in Haskell
rattletrap - :car: Parse and generate Rocket League replays.
SFML - Low level Haskell bindings for SFML 2.x
haskanoid - A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support.
Monadius - 2-D arcade scroller
Tic-Tac-Toe - :x: :o: TicTacToe in Haskell.
Hipmunk - Haskell binding for Chipmunk, 2D physics engine.