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?
@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:
@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?
@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!
@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:
@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.