Scary Monsters and Nice Clouds

Nice Clouds

I got sick of my old pixelated skybox powered by Google Images and decided to make a real one. I used Spacescape to generate a sufficiently trippy outer space skybox, chopped up some cloud photos in Gimp, fought with my code for a couple hours, and wha-la:

Scary Monsters

What’s that glowy green thing you say? It’s the new monster I just added, creatively named “the vine”. See that string of dark blocks coming out of it? It snakes its way to you and basically tries to constrict you to death. Here’s another screenshot of its handiwork after running for a minute or two.

It uses a dumbed-down version of A* to find its way to the player. For performance reasons, if it doesn’t find a path within a few hundred iterations, it just gives up and uses its best guess. It’s not perfect, but it actually makes it a little more interesting, it behaves more like a living creature than an infallible machine. It can also burrow through blocks, which could be useful if the player decides to lure it somewhere. Like the tower enemies, it can only be defeated by destroying the infected green blocks at the base.

More Voxel Performance Improvements

I keep wanting to expand the levels larger, and I keep hitting limitations in my engine. Luckily, so far I’ve been able to remove every major limitation. This week I made a ton of improvements in preparation for making the largest levels I’ve ever crafted:

  • The entire level, even parts way beyond the field of vision, was being blasted in from the map file upon loading. Now it does a somewhat better job of loading it in as you explore.
  • Adjacency info was also recalculated at load time, which slowed things down a lot. I now cache it in the map file. The downsides are larger map files and slower save times.
  • Voxels, lights, and everything else are now put in a state of “suspension” when you leave the area, freeing up processor time for other work.
  • Real-time voxel modifications are now partially multi-threaded. This helps a lot with framerate stutters.

That’s it for this week. I have a few more minor engine updates to make, and hopefully next week I’ll start knocking out more of these enemies I have floating around in my head.


Christ follower and indie game developer. Running, music, programming, games, art.

Tagged with: , , , ,
Posted in Coding, Lemma

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Evan Todd. Christ follower and indie game developer. Running, music, programming, games, art.

My games

  • Lemma - TBA - first-person parkour
  • grepr - 2014 - 7DFPS game where you are the bullet
  • Snakes in a Tower - 2012 - silly 48 hour Global Game Jam project
  • A3P - 2010 - horrible third-person multiplayer

Other things I've worked on

  • Unannounced iOS/Android game - 2014 - top-down 3D shooter
  • Unannounced mobile VR title - 2014 - theater app
  • Skyward Slots - 2013 - server-based F2P iOS slot game