{"repo":"Henauxg/ghx_proc_gen","free":true,"listed":false,"github":"https://github.com/Henauxg/ghx_proc_gen","clone":"git clone https://github.com/Henauxg/ghx_proc_gen.git","description":"2D & 3D procedural generation with WFC/Model synthesis in Rust","language":"Rust","stars":167,"topics":["algorithms","bevy-engine","game-development","procedural-generation","wfc"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"Ghx Proc(edural) Gen(eneration) A Rust library for 2D & 3D procedural generation with Model synthesis/Wave function Collapse , also available for the Bevy engine. With Model synthesis/Wave function Collapse, adjacency constraints are provided as an input to the algorithm, and internally, a solver (AC-4 in this case), will try to generate a solution with satisfies those constraints. Altough it can be applied to do texture synthesis (mainly with bitmaps), ghx proc gen focuses more on grid-based use-cases such as terrain or structures generation with the following goals of being: - Fast. As much as possible, the core of the algorithm is implemented to be fast; if and when an API operation may hurt performances, this will be clearly visible. - Output format agnostic. Models are just numbers in the core algorithm, and how you interpret them in the generator's results is up to you (3d objects, 2d sprites, texts, colors, ...). - Ergonomic - Well documented ( #![warn(missing docs)] ) Quickstart The building pieces of a generation are called Models , and adjacency constraints are defined with Socket . Every model has one or more socket on each of his sides. Connections are defined between sockets, and allows models with connected sockets on opposite sides to be neighbours. Let's build a chessboard pattern: 1) Start by creating Rules for the algorithm: 2) Create a GridDefinition : 3) Create a Generator : 4) Get a result: By simply printing the results in a terminal we obtain: For more ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Henauxg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Henauxg/ghx_proc_gen/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}