All Projects → GDQuest → Godot Procedural Generation

GDQuest / Godot Procedural Generation

Licence: other
Procedural generation algorithms and demos for the Godot game engine

Projects that are alternatives of or similar to Godot Procedural Generation

Godot 2d Space Game
A 2D space exploration and mining game made with Godot and our AI framework
Stars: ✭ 462 (-0.65%)
Mutual labels:  procedural-generation, godot-engine
Material Maker
A procedural textures authoring and 3D model painting tool based on the Godot game engine
Stars: ✭ 880 (+89.25%)
Mutual labels:  procedural-generation, godot-engine
Godot3 procgen demos
Exploring Procedural Generation algorithms in Godot
Stars: ✭ 85 (-81.72%)
Mutual labels:  procedural-generation, godot-engine
Godello
Trello inspired kanban board made with the Godot Engine and GDScript, powered by an online real-time collaborative backend (Elixir and Phoenix Channels)
Stars: ✭ 273 (-41.29%)
Mutual labels:  godot-engine
Project Skylines
procedural retro 3d game, winner of the GitHub Gameoff 2017
Stars: ✭ 293 (-36.99%)
Mutual labels:  procedural-generation
Procedural Planets
Stars: ✭ 347 (-25.38%)
Mutual labels:  procedural-generation
Engine
Home of a voxel game engine and its tools (like a voxel editor)
Stars: ✭ 429 (-7.74%)
Mutual labels:  procedural-generation
Godot Go
Go language bindings for the Godot Engine's GDNative API.
Stars: ✭ 254 (-45.38%)
Mutual labels:  godot-engine
Texture maker
A texture maker tool for unity.
Stars: ✭ 358 (-23.01%)
Mutual labels:  procedural-generation
Dungeongenerator
A dungeon generator for Unity
Stars: ✭ 324 (-30.32%)
Mutual labels:  procedural-generation
Noise Rs
Procedural noise generation library for Rust.
Stars: ✭ 302 (-35.05%)
Mutual labels:  procedural-generation
Godot Android Admob Plugin
Android AdMob plugin for Godot Game Engine 3.2 or higher
Stars: ✭ 292 (-37.2%)
Mutual labels:  godot-engine
Godot Power Pitch
International pitch for the Godot Game Engine, made in Godot, available in 15+ languages
Stars: ✭ 348 (-25.16%)
Mutual labels:  godot-engine
Wavefunctioncollapse
Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics
Stars: ✭ 17,156 (+3589.46%)
Mutual labels:  procedural-generation
Unity Shadersketches
Sketches made with ShaderLab in Unity.
Stars: ✭ 362 (-22.15%)
Mutual labels:  procedural-generation
Bwo
An infinity procedural online game using Flutter with NodeJS and flames
Stars: ✭ 262 (-43.66%)
Mutual labels:  procedural-generation
Three.terrain
A procedural terrain generation engine for use with the Three.js 3D graphics library for the web.
Stars: ✭ 353 (-24.09%)
Mutual labels:  procedural-generation
Markovnamegenerator
✒️ Markov process-based procedural name and word generator
Stars: ✭ 300 (-35.48%)
Mutual labels:  procedural-generation
Wavefunctioncollapse
Javascript port of https://github.com/mxgmn/WaveFunctionCollapse
Stars: ✭ 297 (-36.13%)
Mutual labels:  procedural-generation
Wireframe World
An infinite wireframe world in WebGL
Stars: ✭ 347 (-25.38%)
Mutual labels:  procedural-generation

Godot Procedural Generation

project banner

Godot PCG (Procedural Content Generation) is a project to build a series of algorithms and demos to learn about procedural generation. The algorithms are from our course Godot PCG Secrets.

➡ Follow us on Twitter and YouTube for free game creation tutorials, tips, and news! Get one of our Godot game creation courses to support our work on Free Software.

Screenshot of a level generated by the Random walker algorithm

Available demos

RandomWalker

This is an algorithm as seen in Spelunky. This algorithm uses a node that walks randomly on a grid, places hand-designed level chunks, and randomizes them to generate unique levels.

Level generated by the Random walker algorithm

WorldMap

This project demonstrates a technique for generating a world map with biomes and rivers, heavily relying on shaders. It's inspired by Procedurally Generated Wrapping World Maps in Unity C# although it uses a completely different implementation.

Generated world map

BasicDungeonGenerator

A basic generator to get started with procedural content generation. Creates rectangular rooms, rooms with organic shapes, and corridors connecting the rooms.

ModularWeapons

Procedural or emergent gameplay system where you can stack movement modifiers and different emitters to generate weapons. A game that references techniques like this are Binding of Isaac or Enter the Gungeon.

Infinite worlds

In SpaceInfiniteGeneration/, you'll find four infinite world generation demos. You can travel infinitely with your ship, the world never ends. The first two demos generates worlds full asteroids using white noise and blue noise, respectively.

Asteroid field generated with blue noise

The LayeredWorldGenerator scene shows how to use layered generation to create a universe with planets, moons, trade lanes, and asteroid belts.

Screenshot of a world generated by our layered algorithm

Finally, the PersistentWorldGenerator builds upon the previous demo and adds the ability to make persistent changes to this infinite universe.

How to use

Clone the repository. Each demo is in a separate directory.

In the demos, where relevant, we use a timer to show you the content generation steps, as the final level would otherwise appear instantly. Doing so helps to visualize and debug algorithms. Remove that timer code for the algorithm to run at full speed.

Contributing

Contributors are welcome!

If you encounter a bug, please open an issue.

If you want to contribute to the project, for instance, by fixing a bug or adding a feature, check out our:

  1. Contributor guidelines.
  2. GDScript style guide

Licenses

This project is dual-licensed:

  • The source code is available under the MIT license.
  • Art assets (images, audio files) are CC-By 4.0. You can attribute them to GDQuest and contributors (https://www.gdquest.com/).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].