procedural content generation (pcg)

Created: Apr 24, 2022Published: Nov 01, 2022Last modified: Apr 05, 2023
No tags
Word count: 356Backlinks: 22

see also: Level Design

Part of game dev topics.

related:

procedural generation of characters, stories, histories

There's a (quite long) gdc talk or two about this (see resources below), but basically you can reason this out yourself if you come up with templates for everything and are willing to mix them together according to whatever logic.

So you still create the histories, but how they get assigned to your actual game's implementation is just an engineering/code/data-structure challenge.

procedural level generation

Levels generated by code (procedures), as opposed to created by hand, statically.

A big difference is that without code changing the way the levels are created, every playthrough will be the same - with level generation, players can replay and experience new things in the same game.

> mastery of game mechanics

From the Brian Walker Brogue talk below (https://www.youtube.com/watch?v=Uo9-IcHhq_w).

_static_ level design is to _memorization_ as _procedural_ level design is to _mastery_

algorithms

> perlin or open simplex noise

> wave function collapse

resources

> a reddit thread with rougelike level design resources

> cyclic dungeon generation in 'unexplored'

This one is cool! work with cycles rather than trees - trees and branches have

deadends, cycles make for more interesting levels

> related, 'unexplored' live level design on twitch

> brian bucklew - gen via wave function collapse (caves of qud)

> jason grinblat - proc history in caves of qud

> gmtk - spelunky level design

> making maps with noise functions

> lua/love2d repo for dungeon gen

> nice gif showing proc gen algo for a platformer

including this tidbit:

Hi Rico, if by "blueprint" layer you mean used cells then you can use the get_used_cells method in TileMap and check if the above tile is empty(-1) with the get_cell.

> some proc gen metroidvania gifs/ideas

> bob nystrom - rooms and mazes, proc dungeon gen


Backlinks

Playing through Majora's Mask, came upon the simple branches of the lost woods.

Each room a square, with cardinal exits. Some return you to the entrance, others take you deeper in the woods.

Could be procedurally generated. Could feature a luigi hat in a glass case.

sounds like a fun stream/mini-jam/ game-idea.

Definitely one of my favorite things in games.

A Dino game.

---

My entry for the godot wild jam #52

Sunday Funday

How to express constraints on rooms, then let the rest be fuzzy-filled in by proc-gen.

Sometimes you gotta generate some mazes.

Game jams are an excellent way to squeeze out some productivity. I'm approaching them lately as motivational tools, and trying to take odd angles to get some focused work out of them.

Jams come in varied forms - lately I'm also thinking about [[roam:prototype jams]], and what the difference between a game and prototype are.

I like to set goals for game jams as well. "if nothing else, at least accomplish

these things."

Those goals tend to be things like: 'Use at least one shader' (if you've never done so), or 'experiment with procedural level generation '.

A genre based on a portmanteau of Metroid and Castlevania.

addons are extensions/libraries for godot.

There are a few different kinds:

A Godot monorepo full of games, addons, and scripts.

A Dino addon.

---

A dino addon for working with tilesets.

Expanded to include procedural generation magic.

Trying to get a handle on larger game dev topics as I encounter and tackle them.