Skip to content

Commit 85d20c9

Browse files
committed
demo
1 parent 0d611df commit 85d20c9

File tree

9 files changed

+49
-35
lines changed

9 files changed

+49
-35
lines changed

content/posts/tech/3d-autotiling/_index.md

+35-35
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,24 @@
22
title: 3D Autotiling
33
---
44

5-
## Preface
6-
7-
It took a few attempts to figure out how to organize this. At first it was
8-
written in the order of the things I tried out. I started with a very complex
9-
thing that led me to learn some more basic approaches. I will build from those
10-
foundational concepts up to the current state of my project.
11-
12-
A while back I picked up a book on 3D modeling. It made me think I could make 3D
13-
games. Turns out there's a lot to it. And I got frustrated at my first attempt
14-
to kitbash some modular castle set into something decent. It didn't feel fun
15-
rotating and aligning everything properly.
16-
17-
I got sidetracked for months learning a bit about procedural generation because
18-
I wanted a more interactive workflow. I implemented Marching Cubes in compute
19-
shaders, Heightmaps using compute and vertex shaders and my favorite thing: Wave
20-
Function Collapse with a simplified Marching Cubes. 3D autotiling was the sweet
21-
spot I was looking for.
22-
23-
This project has exposed me to a bunch of areas in the graphics and asset
24-
creation pipeline. I'm pretty happy with where it is right now and I'm hoping I
25-
can polish it off as a solid tool for making small and big games. The ultimate
26-
goal is a level of polish that can be exposed to end users to create their own
27-
levels. I don't think I would have become interested in shooters if it weren't
28-
for Halo 3's forge mode. I probably logged 1000 hours in Minecraft when I was a
29-
kid (and learned Java because of it!). Games that let you make stuff are the
30-
best.
5+
<video src="demo.mp4" autoplay muted loop></video>
6+
7+
I picked up a book on 3D modeling and then tried to start making a game.
8+
Building a castle felt a bit tedious to me, even with a modular kit. In 2D and
9+
3D, I hate rotating and aligning tiles to fit.
10+
11+
My impatience led me down a months-long rabbit hole learning about procedural
12+
generation. I've come up with what a pretty decent Wave Function Collapse
13+
implementation, including Blender tools to help with asset creation. I
14+
implemented the core algorithm 4 times. First in Blender/Python intending to
15+
export to Unity/C#. Unity was annoying so I tried Bevy/Rust. Turns out an
16+
editor is a valuable debugging tool and I finally have a solid working version
17+
in Godot. The ultimate goal is a grade of polish with which end users can
18+
create in-game or in-engine levels.
19+
20+
I don't think I would have become interested in shooters if it weren't for Halo
21+
3's forge mode. I probably logged 1000 hours in Minecraft when I was a kid (and
22+
learned Java because of it!). Games that let you make stuff are the best.
3123

3224
---
3325

@@ -41,17 +33,25 @@ the gaps if I explained things well enough.
4133
{{< cards >}}
4234
{{< card
4335
link="01-marching-squares"
44-
title="Part 1: 2D Autotling with Marching Squares"
36+
title="Part 1: 2D Marching Squares"
37+
>}}
38+
{{< card
39+
link="02-basic-wfc"
40+
title="Part 2: Basic Overview of WFC"
41+
>}}
42+
{{< card
43+
link="03-driven-wfc"
44+
title="Part 3: User Driven WFC"
45+
>}}
46+
{{< card
47+
link="04-generating-tiles"
48+
title="Part 4: Generating a Tileset"
49+
>}}
50+
{{< card
51+
link="05-sockets"
52+
title="Part 5: Simpler Adjacency"
4553
>}}
4654
{{</ cards >}}
4755

48-
## First Drafts
4956

50-
The following are brain dumps that will be rewritten.
5157

52-
{{< cards >}}
53-
{{< card
54-
link="01-marching-squares"
55-
title="Part 1: 2D Autotling with Marching Squares"
56-
>}}
57-
{{</ cards >}}
539 KB
Binary file not shown.

noop

Whitespace-only changes.

static/favicon-dark.svg

+7
Loading

static/favicon.ico

-25 KB
Binary file not shown.

static/favicon.png

5.3 KB
Loading

static/favicon.svg

+7
Loading

static/images/logo.png

-30.8 KB
Loading

static/images/share.png

-25.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)