Revisiting Puzzle Layout

One aspect of my current game is little platformer puzzles. They usually involve jumping and climbing some things, burrowing in tunnels, and crossing ziplines. My original puzzles had been blocked out and were functional but I decided it was time to go back and fix them up. This meant several things: Removing parts that seemed too clunky. Fixing up some mechanics based on what I’ve learned this last year. [Read More]

Showing Interiors Clearly With SceneCapture Tricks

I recently had a problem using Unreal Engine 4 where I wanted to give the player a clear view of the walls and objects of an interior space. This meant I had to find a way to fade out the other objects blocking the view: terrain, trees, rocks, etc. which were outside. There are several methods of doing this, but I settled on one that uses a second renderer to render only the inside and combines that with the default view using a postprocess step. I’ll go over the process here.

A dark underground bunker
[Read More]

Serializing Monsters for Saving and Loading

At this point I have a bunch of data for monsters, resources, and plants. Now I need a way to dump all that into a file and read it in later so that the player can save and load their game. This is using the Unreal Engine, which has a class decriptively labeled “SaveGame”. So I just have to create a new SaveGame object and fill it with the stuff I need to save right?

Well, I mean there are some complications. This post points out the problem and solution for saving Actors and Objects in Unreal Engine. The solution was described already on Epic’s own AnswerHub, but here I bring attention to it since it was kind of buried and took a while for me to find.

[Read More]

Durable Monsters: Retaining State Between Levels In UE4

Now that I have some big monsters running around, I need to keep them around. Normally all the information about a monster (size, position, plants on it, etc.) vanishes when the player leaves the level or quits the game. But I want to reproduce that monster later on! So I need to store the monster data somewhere that persists between level changes AND can be saved to disk for later use. This post goes over what data I needed to save and also discusses the hacks to get around some odd Unreal Engine 4 behavior regarding saving and loading.

[Read More]

Three Kaiju Prototypes

About a year ago I thought it would be cool to create giant monsters that the player could climb up. The previous article talked about the climbing mechanics initial robot/IK algorithms that are required to drive the giant monsters. Since then I’ve prototyped several monster “types” and picked three that worked well. They are:

  • A quadruped (turtle)
  • An inchworm/snake
  • A blob/ooze
quadruped ground view

Let’s look at each and see how they’re put together.

[Read More]

Physics Based Climbing for Characters in UE4

In the previous post I talked about modifying the standard Unreal Engine 4 Character component so that it could climb walls. It worked great for the static platforms and columns I had placed. I figured it would cool to climb up a swinging pendulum. Should be easy, right?


I just make a pile of blocks, make them physics objects hooked together with hinges, and I should be able to grab and climb them.

Well, not really.

[Read More]

Making UE4 Characters Climb Convex Hulls

Recently I tried updating the Unreal Character so that it could freely climb on blocks. Many modern video games allow for climbing along specific ledges or handholds, but I wanted the character to climb along walls and blocks placed in various (some might say absurd) positions. I also wanted the character to do stuff in a reasonable way: climbing around corners, going over ledges, etc.


I fiddled with several methods to find and “attach” to nearby climbing walls but most of them were unreliable and/or kind of twitchy. When I found one that works pretty well I thought I would write it up here as a summary/reminder.

[Read More]

Procjam entry: generating mazes with Penrose tiles

For procedural generation jam 2015 I build a maze generator that uses Penrose tiles instead of the typical squares or hexagon tiles. I’ve written many maze generators over the years. For example both Six Spells and Chartreuse Warden generate mazes using hexagons. I’ve always wanted to try some non-standard structures as a basis for a maze, however. Penrose tiles are interesting because they are aperiodic. Different parts of the tile pattern are very similar but never repeat. [Read More]