Devlog 2021-04-11

  • Figure out that I’ve been drawing maps to the wrong intended scale
  • Figure out what the right scale is and how to draw them
  • Start building out the first “dungeon” map

Maps

Maps! They’re hard. I’m building them in a bit of a strange way.

Since I’m not building the final maps for the game at the moment, I am trying to develop a workflow that strikes a balance between a couple of points:

  1. It has to be relatively fast
  2. It has to be relatively easy to change
  3. It has to be something that I can give to artists and they can understand it all well enough that they can see how to improve it (and hopefully enjoy it as-is)

I would normally just make some tiles and use tilemaps. That’s something I pretty familiar with, but it turns out… I’m not actually very good at tile art. It takes me a long time and I fuss with it a lot. I could just use some coloured squares, but then I’m losing out on my third goal – it’s not clear what things are. I could FIND some tiles to use but I have a terrible problem that if I sit down to find “relatively good” tiles to work with, I end up looking for the PERFECT tiles. I also don’t want to be constrained by what someone else decided to put into their tileset (and if I let myself start drawing my own tiles then we end up back at the beginning of this paragraph.)

While I’m not a great pixel artist, I am semi-competent with a pencil. All of the art you see in the game so far (in earlier posts) has been drawn by me (I primarly use a Huion tablet and Clip Studio). So I’ve also been pencilling the maps.

This COULD lead to a lot of terrible waste. The first part of the game is set in a forest, so rather than signing myself up to spend the next ten years of my life drawing trees (though I’m sure I’d be quite good at drawing trees by the end), and to avoid having to fight with pasting things in the right order, I’m still using a “tile” engine internally. Godot’s Tilemaps, to be exact.

The other problem with pencilling something is that it is very easy to focus on one thing and ignore the larger picture. With tiles this is kind of okay (most of the time) because you’re focusing on some details in a tile and then piecing together the larger picture late. If you’re actually producing a map’s layout and its “pencils” in one go, though, this isn’t good. It’s a work in progress, but I’ve been gradually refining the process…

The Process

First, I start in Clip Studio. I’ve got a file where I am drawing the entire game (well, it WILL be the entire game eventually) in one big image, with blocky pixels. It’s drawing at roughly a one-fifth scale, and it looks kind of like this:

A colorful blocky pixelated map.

As you can see it is very light on details. I’m doing some mental planning as I work on this, and have some references within other documents (mostly in Google Drive so I can peck something into them from my phone if I come up with an idea while I’m not at my computer), but they’re quite messy. The grid is a grid overlaid by Clip Studio and it is very very roughly set at about one tile per square.

Since I have all of the maps in the one image, I can also make sure that they line up and roughly fit with each other. This is important to basically no one in the world other than me, but I like that I can do it.

When I decide to move further with a map, I make a new image that is 1:1 full size for that map, and I clip out the section I’m working on from the big “complete game” image, and blow it up to the right size. Then I start pencilling in the shape of the map over it.

The same blocky map, but faded out and with red “pencil” drawing over it.

I actually work with the rough map more transparent than in the image, but I upped the opacity so it was more obvious. I’m drawing in red because there is a psychological effect that black lines seem more “finished” (or so I’ve heard), and I want this to feel like a draft. It’s just a pencil drawing, so it’s not set in stone.

You’ll notice that there are some features drawn on the map, but I mentioned this is supposed to be a forest. There are no trees! Earlier in development, I pulled out three sizes of trees (cleverly named “small”, “medium”, and “large”), and I’ve divided them into the “below the player” and “above the player” parts. It turns out that Godot’s Tilemaps have a very loose definition of what a “tile” is. It can be any image – whether or not it’s the supposed size of the tile. This means I can just treat my two pieces of tree as tiles on two layers.

Trees placed in the map, but just the basesTrees placed in the map with the tops as well

So I import my pencilled map into Godot, and then start dropping in the reusable parts like the trees. If they are thing that should exist on the same layer as the player (e.g. a barrel that you can both walk in front of or behind) then I have a separate “entity” layer for them.

The last step to make it useful is to put in the obstructions. I use CollisionPolygon2D instances for this, which Godot has native editing support for. It makes things very colorful.

A map with obstruction collisions drawn in.

Then I run the game and wander around to see if I messed anything up! (Spoiler: I usually did.)

Going Forward

I’ve got a lot of map drawing ahead of me. I’m not really entirely sure about this process yet; I’m worried it’s not quite fast enough. This won’t necessarily make for very exciting Gruedorf posts!

But that aside, my next several weeks will probably be a bit constrained anyway. My wife and I are gearing up to move in the while, so we’re doing the whole finding-an-apartment-and-packing-everything-we-own thing. I’m going to do my best to still post on Sundays, but I probably won’t take the time to ramble nearly as much.