Alright! Obviously the announcement of Baba was the BIG THING today, but as it turns out I also had the opportunity to stream a bit. Working out how I want the map system to work & accounting for various oddities the users might end up doing with the level editor is fairly tedious but I think I got a good chunk of that handled today. Getting this whole part of Baba’s development behind me is going to be great, although I’m already feeling that the current system is too hacky/rigid so some refactoring might need to take place between now and the game’s eventual release. Eugh. Still, progress!!
People were wondering when I’d return to ESA 2, and while I’m pretty happy to be able to say that it’s officially on a hiatus (mainly in order to avoid extra stress from having to worry about keeping it worked on while concentrating so heavily on Baba) I want not to disappoint those who originally got interested in my works via ESA. So I think I’ll stream some ESA2 dev sometime soon, even if the actual hiatus won’t end until next March or so. Sorry. At least people have seemed understanding, which is very kind & nice.
Woop! It’s here! I’ve now decided that Baba Is You will be released in Summer, 2018, and the game also has an official website and Steam page now; go wishlist it, you!!
Today’s stream was slightly aimless & quiet, but I feel that I still got a whole lot done.
I started work on custom object sprites; the idea is that in the finished game the player can make levels with custom objects, and part of this system is the ability to change their spriting. This feature makes also my own work easier, because with it I can make themed levels without having to hard-code every object.
The other big thing tonight was the implementation of “paths”, i.e. routes that connect levels together, seen in the gif above. I’ve always really liked Super Mario World/3 maps and hopefully these new paths allow making more appealing and compositionally sound maps. The idea is that I’ll divide the current large map into several sub-maps, so there is well enough space for a little aesthetical polish like this.
I hadn’t slept much last night so I was extremely tired at the beginning of the stream. However I managed to persevere, and as a prize for that I got some of Baba’s map stuff actually working! There’s a lot of polish to be added and big features still missing, but I think I have a good idea of in which direction I want to go with the visual design here. I also managed to re-implement the old map in the new map system, which is good for getting a new playable build out.
What worries me somewhat is that there’s some kind of a bug in the level editor; after a while of using it the game either crashes or something stops working. My guess is that I’ve accidentally forgotten to take some tiny lua thing into account and it then accumulates until problems arise, but as with the previous “nothing-works” bug, it’s always annoying to debug something that only happens after a while of playing.
Today’s stream was spent mostly on updating Baba’s levels into a new format; I had changed the positions of the various objects in the editor’s “reference map”, so to say, so all the levels were just randomish garbage. I had planned to re-do all the levels by hand but talking about it aloud on-stream made me realize that coding a conversion tool would probably be easier. And so it was! Converting all the levels + adding their names back still took a lot of time, phew. I also started implementing the game’s map again; I’m still missing some features to make the map to my liking so for now I’ll just recreate the old map in order to make sure that I have a fully working version of the game handy when needed. I’d say I need one more stream to be at the point where I have the game fully working again, with some jank here and there. After that it’s just a matter of adding the new map features in order to make the whole system work in the way I want.
In other news, I’ve been super into markov chains again and recently revisited my old generator, this time redoing it from scratch with the generation now being done a letter-by-letter level instead of word-by-word. The results are really promising and I’ve had fun generating texts from a public domain cookbook & the script of The Two Towers:
In fact, this stuff has been so much fun that I finally started a twitter account that I can use to share generated texts I find amusing. It’s called @chaingenerator.
Oh yeah, even more editor stuff. Getting close to having all the basic functionality I need in, though! The new editor and its related systems have now fully overtaken the old map & editor screens, although there’s still a bunch of missing functionality (namely beating levels returning the player back to the map & unlocking levels). I think I have a plan for how the general map-unlocking and -traversal loop will work, so I’ll probably be implementing things related to that on the side. There’re also some quality-of-life tools that are dearly needed in the editor, especially when it comes to editing world maps, but they shouldn’t cause too much trouble once I actually get around to doing them.
I made a really funny level during today’s stream; I’ll try to sit on it until the next Screenshot Saturday! :)
Got one stream & update off my list! 2 to go. Today’s stream also concentrated on getting Baba’s level editor done, and I’d say it was also very productive! I’ve left the visuals of the UI elements pretty rough because implementing a nice look for them is going to be tedious and hopefully something that can be done later; however, the actual functionality of everything seems surprisingly robust! Lua is of enormous help here, as usual, because with it I need way less workarounds and menu-specific hacks. I’m hoping that sometime next week I’ll have the editor at a state where it can overtake the original level/map system fully.
I’ve been slowly working on Baba’s new, user-friendly editor (and missing updates; I’m behind by 3 at this point!) I started this process now in order to get certain functionality in that I’ll need for my own stuff but that’d require quite a lot of work to implement even in an ad-hoc debug-style editor. There’s one large feature missing but after that I’m about at the point where I can use this new editor for what I originally needed it for; of course after that there’s still a gigantic amount of general polish and feature creep to be done to get it to a point where I can present it to players, haha :D
During today’s stream I got those neat little preview images working as well as implementing a system for menu buttons. Also lots of smaller bugfixes to how the editor works. There’s a high temptation to do things in a hacky, just-get-it-to-work way, but at this point I’m really happy that I’ve taken the time to make things a bit more modular; saves a lot of pain.
I think I streamed last week but I guess I didn’t make a blogpost? Sorry!!
I tweeted some progress stuff on Baba’s actual level editors and those got a lot of attention and that was cool! I also made some watercolours of Baba:
I had noticed some cornercases/inconsistencies in Baba that turned out to be very much nontrivial to fix, so after some failed attempts I decided to change the way movement works so that instead of moving things having an arbitrary order in which they move, their movements are logged and then made happen simultaneously. I’m slightly worried about new cornercases, but this way of doing things is probably the most sensical one. Next up will be finally redoing the game’s map systen; currently there’s a separate map editor but I want to be able to implement ‘layers’ of maps (i.e. sub-maps and so on) and there’s no real reason why the map editor couldn’t be integrated to the level editor apart from the levels needing some more variables stored.
The image above was just something I found from the on-stream to-do lists from April. Heh, farts.