Week 28 went off from a bad start to a pretty good ending!
At the beginning of the week I had something I really wanted to do. I wanted to understand ExUtumno‘s WaveFunctionCollapse and then implement it in Pico-8. It’s a procgen algorithm that can read an input tilemap and then generate a new one based on it. The results are very impressive and as more and more people are interested in procgen these days, this could well be a very interesting asset to have.
Now I do think I understood most of it. The explanations on the GitHub page are pretty clear. But I didn’t actually manage to implement it all. The gif up there is one of the only cases where I got to fill up the entire screen without contradictions as I was only using probably a third of the whole algorithm. But no more-complicated input tilemap would give out concluent results. I tried implementing one fuller version of the algorithm and ran out of memory pretty fast. I’ll probably give it another try soon as I gather more ideas.
Meanwhile this inspired me to experiment more things with Cellular Automata and I made this little pico-8 desert island generator, based on a custom Cellular Automata algorithm!
The serious stuff now.
I have to admit I kinda lost my motivation to work on JOY. As I wrote lightly last week, the code I wrote before making Pixel Session Vol.1 isn’t great. It’s very messy. Messy as in it-didn’t-really-occur-to-me-that-I-should-actually-clean-up-the-project-at-any-point. But I also see less possibilities with the game overall as I did before starting Pixel Session Vol.1. Right now I want to try something new where I can have a good amount of freedom and going from a nice well-thought start. Also I want to try out more classical mechanics. So I started something new.
This project is also a great occasion for me to learn to use GameMaker. One big reason JOY was that messy is that I really didn’t know where I should start and how I should organize myself with this tool. Before that, TETRABLAST, which I was also making in GameMaker, was also a big mess, as I was learning the very bases of the engine. Last week I wrote that I would read some other GameMaker projects’ source code so I could figure out some good practices. I did exactly that and I’m very glad I did it too! Mostly thanks to Zack Bell’s INK’s source files (which were included in the last GameMaker Humble Bundle), I feel like I can write pretty good code with just a few simple spacing practices. And thanks to all the projects I looked at, I understood I should use asset groups a lot.
So I’ll be getting used to those good practices with this new project. Only problem is… I’m enjoying this project a lot already and I am tempted to make a big game out of it. And I might just do that. The concept of the game so far seems to work pretty well, judging by the reactions I got on Twitter, people are pretty much into it and I play a lot of action roguelites myself so I think I should be able to make some good decisions from what I know of the genre!
Here is two cellular automata Pico-8 prototypes for the generation of in-game terrain. The first one looks more impressive but I implemented the second one because it’s a lot simpler and does the job really well.
The pitch of the game for now is “You are the king. People follow you and fight for you.”. It is going to be a bullet-hell roguelite herd-leading game. There’ll be different characters who can follow you and you’ll have to choose whether to gather a bulky army or an efficient squad. And I’m still figuring out the rest of the game.
Big inspirations for the game so far are Nuclear Throne and Mount & Blade.
Be sure there will be more about this game next week! There should also be a Procjam entry coming up in the meantime as Procjam is this week!
In the end, this week was alright. I feel like I learned a lot and that’s very good. Now I have to use what I learned! And I’m feeling pretty confident about that!
Have a nice week!