Dev log of Diablillos in GIFs
This is some kind of development log for Diablillos (https://ldjam.com/events/ludum-dare/55/diablillos), my compo entry for Ludum Dare #55.
During the weekend, I took a few notes, recorded gameplay in GIFs and posted on social media, so I'll try to recreate what the development was like.
This has been my first jam after a 3-year hiatus, so I've been quite rusty. However, I'm happy I got to submit a finished game, and I even could squeeze an in-game tutorial.
I used PICO-8 for development, so that meant a 128x128 display size and a 16-color palette.
You can play and rate the game here:
Saturday
I usually like to do a mind map to brainstorm game ideas, but this time I kinda "saw" the game while I was having a walk outdoors. I got back home and drew the thing:

The main mechanic would be some kind of siege/linear "tower defense" in which you would summon an army of imps and had to defeat your rival's one. My vision was this game to be strategic, but it would end up being arcade-y instead. I'll elaborate on that later.
The first thing I did was to drew an imp (diablillo in Spanish) with a simple 2-frame animation and post it on Twitter to get feedback —I really want the imp to be really cute! People loved it so I didn't change the graphic.

Then I just changed the color to create enemy imps, and made them fight each other when they got close enough.

After that I drew some towers to serve as "goal points" for the imps to reach. And of course, some juicy screenshake 😎

I went to bed feeling that I didn't achieve much —which was true—, and set a short-term goal to try to have a complete gameplay loop (and possibly upload a playable build) before Sunday lunch.
Sunday
The towers felt kinda wrong for imp summoners, so I revamped them so they felt more… warlock-y. And drew the summoners too! I also coded a button (PICO-8 doesn't have built-in UI primitives) and a "purchase" system to summon imps at will… as long as you can afford it.

I didn't get my goal of having the full gameplay loop before lunch, but I carried on nevertheless. In the afternoon, I added some health bars, along with an icon to make them more intuitive. For the icons, I had to draw a smaller version of an already small 8x8 sprite, so that was a bit of a challenge.

And at last, in the evening, I finally achieved the final implementation of the core mechanic. I had to switch the style of games for a more high-pace, arcade feeling (strategic mechanics require more time to balance and playtest). Now instead of planning what to purchase (I originally wanted the player to summon different kinds of creatures), the gameplay revolved around collecting souls (the "coins" to purchase imps) and spawning minions as fast as possible.

It was a bit after 7pm (CEST), I wanted to go to sleep before midnight, and there was a lot of polish to add.
I started by adding a start screen, which was almost identical to the gameplay screen, but with a title, which I drew in gothic characters and added a palette roll effect to it.

Then I created the victory and game over screens (which are identical but with the text copy changed), and coded the win and lose conditions.

It was 11pm and I still had a lot of polish to do. However, I wanted to stick to my goal of not going over midnight, so I had to choose between adding a music track or a tutorial. I opted for the tutorial, since I already included some basic SFX and it wasn't too bad, and the tutorial could explain the mechanic to players.
To implement the tutorial I used different levels, and that code logic was re-usable to make different levels as well. So I put a cap of 5 levels (tutorial included), with increasing difficulty (basically the higher the level, the more imps the enemy can spawn).

And that was a wrap! If you got this far, thanks for reading! :) I hope this post was entertaining or inspiring.
