🦊 The first dev post about Blobun. This covers everything between the release of First Course to now.
🦊Note: This post has been ported over from Patreon and edited some. We were going to start posting regular dev updates to Blobun there, since we generally don't post much on social media. However, Patreon's posting is too unreliable, so now we're just doing it here on our blog. Some things have changed since this post was posted, but we're presenting it in its original context.
🦨Hey there. We're gonna be trying to post weekly updates about the development of Blobun. If you didn't see, we announced that we're gonna be working on making it a full game, and so far, it's been going really well. This post won't be a summary of just the past week, since we've been doing a bunch of stuff, but it'll serve more as a "what we've been up to with it" post.
(Internal) Stage Editor
So for Blobun First Course, we wanted to make something as fast as possible. We came up with an idea of making the stages based on images, where we'd draw black pixels for free tiles and white pixels for walls. This was good, but we kept improving on it. Eventually, First Course had a spec for wall decorations and whatnot, with the potential to expand. This was fine for getting that game out the door, as all we needed to use for level editing was Aseprite to edit the picture.
Nowadays, however, we have several different puzzle elements, and each of them has to be represented in the image. This, of course, gets kinda convoluted. It's also difficult to imagine how the player will move through the stage.
Over the span of a couple days, we made a very basic stage editor. We had been investigating other ways to handle this, such as using Tiled, but this ended up being the most straightforward. We want the game to maintain ease of editing in an image editor, and you can see how the stage is represented in that image in the top right. (If you go and download Blobun First Course and check the worldpak folder, you'll see pictures just like this.)
This puzzle editor also allows us to move through the course and edit the stage in real time. At the beginning when it was just "touch all the tiles" it was quite easy to make puzzles, since all you had to do was plot out a path. Now, we have pistons that come out of the floor and block your move every 3rd turn, blocks that change state when you touch keys, and more. It's difficult to visualize this, but now, we don't have to. We can just set up some of the puzzle, do it, and then go "Ok, now the puzzle is in this state. What should the player do now?" Overall, it should make it much easier to make more complex puzzles.
For the technically inclined, all puzzle elements are represented in the first frame of the GIF. There are 4 pixels that essentially represent RGBRGBRGBRGB, where it's either on or off. Essentially, it's 12 bits. This represents if the tile should be blank, a wall, or some puzzle element.
The second frame of the GIF represents wall decoration and ceiling tiles. This makes it easy to decorate the stage at a basic level, without being too complex with it. The red channel specifies where decorations will go, and the green channel specifies the ceiling. (Blue is currently unused here.)
We also have a way to put custom decorative tiles on the stage. This is represented by the third frame in the GIF, and uses the palette indexes for stage data (so the colors themselves do not matter.) 5 bits represent what tile it is, and 3 bits represent if it's flipped, mirrored, or rotated. This allows 32 tiles to be placed on the playfield.
Honestly, the spec we've made could be easily adapted into a user friendly stage editor for making your own puzzles. However, this is not in the current scope of the game. If it's popular when it comes out, though, maybe we'll change that.
Undoing Moves
Originally, we weren't really planning on implementing an undo function. However, when working on the stage editor and making it so we could modify the stage without resetting everything, we realized we were already halfway there.
The way this works isn't too different from save states or rollback. We have a list of tracked variables on each object and, when you complete a step, we take down all the variables we track. When you press undo, we just put them back. It seems to work, but it'll probably give us weird bugs.
As a side note, if the water here looks familiar, that's because we brought back the water shader from Shield Cat.
UI Changes And Stage Presentation
I'm sure you've noticed from the above pictures that the UI is a bit different from Blobun First Course. We are moving away from using pixel art for the UI, and instead are using hi-res art. The reason for this is because stages can be any size you like, which has caused a fair amount of issues on its own. If you wondered why the UI was large in some stages and small in others in Blobun First Course, now you know why.
We experimented with several ideas on how to handle arbitrary stage sizes, including showing the stage on a CRT, putting black bars or other decorations in the non-visible area, and more. Eventually, we've settled on just placing the puzzle in the middle of the screen and extending outward. The screen will now always be forced to 16:9, even if the puzzle is not. Ideally, the puzzle itself is 16:9, but it's not a big deal if it's not.
Now I'm gonna let you know right now: Blobun will not have any integer upscaling option. It was easier in Shield Cat and Cosmogelica because they had fixed resolutions, but Blobun does not. We've opted to smooth out when pixels don't upscale perfectly, using the same "Quality" upscaling that we used on Shield Cat and Cosmogelica. If you liked how those games upscaled when you weren't playing at exactly 720 or 1080p, you'll be fine. If you didn't, well, sorry.
Cool Puzzle Elements We Have
You probably saw them in the picture above, but here's some puzzle elements that we've already implemented. I won't go over the ones we haven't implemented yet, just in case we go to implement them and they suck actually.
- Red/Green/Blue blocks and keys: These blocks prevent you from stepping into that tile. If you get a key, it'll toggle these blocks "off," allowing you to progress. Similarly, blocks that were toggled "off" will now be toggled as "on." If you haven't touched the tiles in those parts of the stage already, you won't be able to.
- Triple Lock: There are 3 coins that you must touch to open these blocks. You'll have to find the way to touch all of them without overlapping yourself, and also in a way where you can proceed to the block.
- Floor Portals: There's 4 types of portals. They simply move you to another part of the puzzle when you touch them.
- Floor Pistons: There's 3 of them, and every 3rd move, they'll rise up and block your path. You have to figure out how to move in such a way that, when you arrive to the tile with the piston on it, it's lowered. Once you've touched that tile, the floor piston will stay retracted.
- Cracked Floor: When you step off this tile, it breaks. You can no longer go backwards over this tile. If you're touching every tile without making a mistake though, you shouldn't have a problem.
- Conveyer Belts: These will automatically move you to a new location. You can try to step back on them, but it'll push you back off. Essentially, these are one way.
- (Not pictured) Dark Rooms: At the start of the puzzle, you're shown the room. Once you start moving, the lights go out. Any tile you touch and nearby tiles will be lit up, but otherwise, you must solve the puzzle based on memory.
- (Not pictured) Multiple Screens: Instead of showing you the entire puzzle at once, you'll only be shown a little bit of the puzzle at a time. You'll have to keep track of what's on other screens to complete the puzzle.
Online Site With Test Stage Downloads
One thing we quickly realized is that, if we want to make a puzzle game, we're gonna need a lot of feedback. So, we made a small site for this. We have more info in this post about it. We haven't gotten around to adding all the features (such as rating puzzles) but, the testing pool is small enough right now that it's not an immediate concern.
That's It For Now
Thanks for checking out this post about the progress of Blobun. We'll try to make this a weekly update, so the next one won't be as packed. Blobun is not really a "secrets" game, but there are some other things we worked on that we're not ready to reveal yet.
If you like what we do and want to support us, you're already on the right site for it. We had a handful of people cancel their pledges since we canceled Cosmogelica, so we need your support now, if you're able. Game dev is tough, but with enough support, we can see Blobun through to the end.