More than you will ever edit

This week in Jaakan news, more level editor love!

Interviewer: Tell us everything!

@fasterthanlime Let’s start small. One thing I’ve wanted for a while is notifications in the level editor. It’s not quite Twitter integration yet, but it does unclutter the save workflow a bit:

@bigsylvain That’s better than a ‘confirm’ dialog we used to have!

@fasterthanlime Indeed :)

@bigsylvain What else, what else?

@fasterthanlime Well, remember last week’s church? I got annoyed at how easy it was to mess up something with a misclick, and so…

@bigsylvain You made an undo system?

@fasterthanlime Yup! It’s really basic (full state saves), and there are a few obvious bugs, but it already saved my ass a few times.

@bigsylvain The church seemed to have quite a few layers - but there’s only room for 4 or 5 layers in the layer list. Tell me that annoyed you too?

@fasterthanlime You definitely know how to talk to programmers. I’ve redesigned the layer list a little bit to be more compact and to also show the layer tints:


@fasterthanlime I’ve also added quick toggles to the visibility of the active layer (ie. ‘mute’) by pressing ‘V’ (instead of having to click on the eye in the layer list):

@fasterthanlime And all other layers (ie. solo), by pressing ‘Shift-V’, which is useful to rapidly highlight holes in a layer, which is especially crucial for destructive layers:

@bigsylvain Coolio!

@fasterthanlime You’re not happy yet are you?

@bigsylvain Well… almost. Know how we have a ‘tile’ tool (to erase/paint an entire tile at a time), a ‘brush’ tool (which is a circle with adjustable radius), and a ‘sprinkle’ tool?

@fasterthanlime Ah yes, it does feel like editing sprinkles is a subpar experience. Let me figure something out.

@bigsylvain Oh boy, there he goes. Better listen to some music in the meantime.

@geckojsc Hey, that’s my song!

@ayoshutduff Our collab, you mean :)

@fasterthanlime I’m back! Who are all these people?

@geckojsc Sup.

@bigsylvain So, what did you come up with?

@fasterthanlime A unified brush system. I call this composition “continental breakfast”:


@bigsylvain I’m sorry what?

@fasterthanlime Well, you still have your circle with adjustable radius - and also a square now. Brushes are note mode or layer-dependant now, they’re global editor state so they follow you around when you change layers.

@bigsylvain What does that have to do with sprinkles?

@fasterthanlime Well, you can now paint sprinkles with the same brushes that you use to paint geometry. Previously a ‘tile’ could only be assigned a single sprinkleset, but now each of the 8 control points can have its own sprinkle flavor. Here’s a demo:

@geckojsc Is that how the scary skull in the cover image for this blogpost is done?

@fasterthanlime Yup, that and lack of sleep. Here’s a giant frog:


@amijlee Hmm. I get the feeling that it wants to eat my soul.

Stop interjecting! I’m the interviewer here!

@bigsylvain Bwahaha

@geckojsc In the destructible terrain weekly update you teased something about sprinkles mattering for destructible terrain. What did you mean by that?

@fasterthanlime Well, sprinkles are kind of like materials: there’s types of rock, grass, etc. Let’s assume there’s a digging ability for example, it might be able to dig through dirt but not rocks.

Since sprinkles are only visible on the edges, how do you know, when designing a level which materials are inside an area?

@fasterthanlime That’s a very good question, and it’s why I added a sprinkle visualization layer in the editor this week:


@bigsylvain Oooh

@fasterthanlime Each sprinkle type has a unique color (automatically generated from its name, so that it’s consistent) which allows one to see at a glance what type a terrain is. I might add a legend later (which color = which sprinkle type) and perhaps an eyedropper functionality to easily pick a sprinkle type from somewhere.

Any other editor features?

@fasterthanlime Yes! Cut/Copy/Paste has finally found its way to the editor, limited to tile layers and poly layers - object layers are a whole other problem.

@bigsylvain Can you only copy from a single layer to another layer, or can you copy multiple layers at the same time?

@fasterthanlime Actually, you can do both! Ctrl-X/C will cut/copy from a single layer, but Ctrl-Shift-X/C will cut/copy from all the visible layers, starting from the active layer, going down (so basically the active layer + all the layers deeper than itself).

How does pasting a multi-layer clipboard works?

@fasterthanlime That’s a weirdly specific question coming from an imaginary interviewer. The idea is basically best effort. Starting from the active layer when pasting, the editor will look for a strictly similar layer (same type, same tint, same depth, etc.) for each layer in the clipboard. If a few of them are missing, it just skips pasting them.

@bigsylvain Alright, one more question: did you touch the parallax code? I’ve seen that gif on your twitter…

@fasterthanlime Haha, yes! That was a buggy version though. Still, I like it, it’s trippy.

@bigsylvain So what you mean is I no longer have to name layers ‘parallax’ or ‘parallax-bg’ to get that effect?

@fasterthanlime Yeah, that was a temporary workaround. Now there’s a ‘depth’ property for tile and poly layers, that goes from 0 (no parallax) to 3 (deepest).

@mcfunkypants But… can you play Jaakan with a controller?

@fasterthanlime Oh hi Christer, it really is a party in there! Yes, yes you can. Have a random video of me testing a snow level with parallax, playing with a (cheap) wired controller:

@bigsylvain Well, that’s all for today, folks.

@bigsylvain Bye!