Welcome back to a due update! I have been a busy bee in the past two months with jams and finally have some time to lean back and write something! I have been using the Usagi (Game Engine) exclusievly for these jams, so let me gather my thoughts and give you a little rundown on my feelings and those jams. Fair warning, this is one of those longer articles, so grab a cup of coffee/tea/beverage of yours and let me tell you my last two months.
Pursuing Pixels James Jam Game Gam #5
PPJJGG at this point is one of my favorite jams of the years, so when it got announced to start from the 15th of June you could bet your booty I was attending! As usual for most of my gamejams this was streamed so feel free to jump into those vods if that is your jam!
Theme this year was Protect, and while I did have a good idea and brainstorms session, I got busy quicky after that, so I had to take a harsh turn very quickly.

While the idea of DDR press directions game is cool, I had do go for something way smaller. Since I have already done small shoot’em up games, and the protect theme was prefect, I settled for a very simple Galaga shmup with waved enemies. I knew this would not be enough, so I had one thing in mind to try and elevate the whole game experience.

Simple go left to right while dodging enemy bullets and slowly reducing their numbers. But this would lead to some “number 9999” galaga like, so I wanted to use the little lore we cooked up during the brainstorm session:
An evil necromancers has to brew evil potions, but ran out of water from his cauldron. His minions cannot bring any as their well is dried up. So they set their eyes on the pond, which is noticed by our hero, the frog!
I knew quite early that I would love to implement one of those moving text boxes and little portraits to add to the atmosphere and whimsy feeling of the game. It would be a bit hard to share here, so I’m gonna link the code for you from my Codeberg Repository, but is comes down to a quite simple logic:
- Assign an array of string as the lines of the text the enemy wants to say
- Have two “indexers” that show you where you are, one for the line and one for the letters inside the lines
- Every so often increase the in-line index, so more of the text is printed.
- If one line is printed, then that line should be printed whole from now, and the next is slowly printed out.
- Once every line is printed, mark the scroller as finished.
- While all this is happening, have the assigned sprites cycle between each other, to achieve a 2 framed animation
local lich_intro = text_scroll_helper.new(
20,
20,
{"I'm an EEEVIl lich doing EEEVIL things", "I'm about to brew my EEEVIL potion", "GOONS, bring me some WATER for my","VERY EVIL DEEDS, ke-ke-ke"}, {
x = 192,
y = 128,
w = 32,
h = 96,
})
table.insert(LORE_SEGMENTS, lich_intro)
As an example definition, first two numbers are on screen positions, then the lines. The last 4 numbers basically point to the sprite sheet (x,y) and tell the scroller how wide (w) and tall (h) area it needs to draw.

This effect turned out really well and from the jam it sounds like everyone really enjoyed it! This effect was also added into several other parts of the game during gameplay to enhance when the goons steal water away. This was also implemented as instead of just going off screen and back to the top, if enemies reach the bottom they grab a bucket of water and try to run away, which you can stop with a well aimed shot.
This also added to the whimsy charm of the game and coupled with the, to me, very new style of the game created a lovely playful charm. The art I tried to make rough, kinda like first one pass brushes for enemies and every animation/text has a little offset to it to make it invoke the “boiling lines” animation technique.
I was able to finish everything with this small idea and managed to snag the 2nd place on the jam! I was super chuffed with that results. Creative burnout was chasing me for almost a year at this point, so coming back with a good result helped me to reaffirm that I can still make at least good games! You can be the judge, go ahead and try Pond Protect, only takes like 5 minutes!

Usagi didn’t feel like a stopping force on this jam. Everything worked how it should, and the only thing I did not enjoy was the fact that I had to put very big art pieces onto the sprite sheet. That is gonna be easier later as there is plan to have swappable sprite sheets, so hopefully I can separate title arts and such from actual game spritesheet. Performance was lovely without any major hiccups and the wrapper over every input device is still lovely. This was the point where I decided that I’m gonna try to use Usagi engine for the rest of the year! Which was a lovely choice as a new jam was announced:
Usagi Jam 2026
Brett, the main developer of the enigne, decided that he is gonna host a gamejam for the 1.0 release of the jam. Stars align, what a news, we surely have to attend this one as well. I was sharing news about this and my developer experiences in various developer communities and I was surprised by a sudden request in my Discord DM-s one day.
FletchMakes reached out to me for a possible collab. Now, if you are not familiar with Fletch, what is wrong with you, go follow their twitch, but they are an amazing, wholesome and lovely streamer about games and game development. His community is home to many amazing creators empowering each other it is my favorite corner of the internet. I also have to mention that Fletch was basically the reason I started streaming/gamedeving again. I did small streams before meeting him, and made small games but neither took really off so I put them aside until I met him and got motivated to try and host a similar community around game development and indie games. This is what lead me to attend and stream so many gamejams and try to cover smaller indie games on my YouTube channel (and eventually create our Discord server!)
That said I was hesitant to accept the invite. I had subpar collab experience in the past, which lead me to take the road of a solo developer. That way I’m the only one who is responsible for what is happening and what is failing. Which I really did not want to bring over Fletch (failing that is), but I though if not with his empowerment than I might not even collab ever, so I accepted. And dayum was it a good choice.
First of all, Fletch was a wholesome bean throughout the jam and wanted to make sure I feel comfortable, god bless his soul. Second, I was not prepared for the energy and planning power of his. I generally randomly do a little brainstorm tree (see above for ppjjgg) then just yolo everything after, but Fletch wrote and threw almost full PITCH DECKS for several ideas of his. With the theme being Moon I also did a few and eventually on a janky stream (which you can also watch on YouTube under the “Usagi Jam 1” series) we decided on the idea of a mice cheese mining operation on the moon, and having to shoot bouncing cheese to feed them all!
We quickly split into two different areas. I was responsible for most of the art and Fletch went hog wild with the code. Not even a day have passed and he put together a fully working gamemap, aiming and collision.

Which is even more wild to me as he decided to incorporate and try 2 new whole tools for his FIRST Usagi jam! His FIRST! This was his entry to the engine and Fletch went: “Hey let’s use LDtk and Bump.lua”. Which blew my mind and scared me at the same time. Bump is a well known lua collision library which has its quirky I’m not gonna fully dive into now, but LDtk is a whole different story.
For those who might not know, Ldtk or Level Designers Toolkit is a free, fast and open source tool made by the developer of Dead Cells for creating complex maps with everything you would ever want. It supports layers, custom entities, export functions, auto tiles the whole shebang. Neither of us knew or used the tool before and Fletch though a 2 week jam is the perfect place to learn it. He was right, tool is amazing, but is was sooo scared.

Sadly I cannot get into the tool itself much here as it is gonna take up too much space and time, so let me link you the part of the development where I started with LDtk to show what it is capable of!
Since the lore system worked really well with Pond Protect, I wanted to introduce that to this project as well. So with a little modification it was perfectly capable of handling intro cut scenes! Threw in a cool reference for others and we were set.

I cannot really share much code here as the project so far is closed source, but as soon as it is open sourced maybe we can have a cool talk about it! We decided to add portals, levers to spice up the game play experience and this a cool puzzle base was born for us to tinker and create levels.

We created a par system for every levels, so there is no hard fail state, you can just spam cheese and complete the level on your skills and time, we just threw you a bone of “hey, can you make this level in 3 shots?”. I think this system really helped with the jammers as some levels were really hard (sorry).
This jam was not ranked, but from the comments I felt like people enjoyed the game and I really enjoyed working with Fletch, and already cannot wait for the time when our duo will jam again. The duo of Optional Arson!

BUT
BUT and here is the but part of the article, we ran into a problem I heard and experienced in other Usagi Web builds. The performance. We and many others have raised this issue to Brett, and he is familiar with the issue, but at the moment for more complex games, Usagi struggles in the browser. Not fully known why yet and it is not consistent (some experience, some not), so I feel like that is the only thing that is holding Usagi back at the moment. Web is an important platform for many developers and it not being consistent is a little bit stinky, so hope Brett can figure out the root cause of the issue.
That said, Ricocheeda was I think a great success in both as a game and in both working with a good friend of mine and I’m looking forward to working with Fletch in the future and the Usagi engine on jams.

Where to Now
I had some jam ideas I wanted to attend but sadly a certain stinky technology is present in them, which I don’t want to deal with. So for the month of August, we gonna focus on the fishing game we started to learn Usagi with aaaand Playdate! I have a small project in my mind which shouldn’t take that long hopefully!

Next jam I’m really interested in is the GBJAM-14, a Gameboy inspired jam, where you can use any engine you want, but you have to follow the color, screen size (or smaller) and button number of a Gameboy. Really looking forward to this one and after that, not sure, we will have to see.
And basically that is all I have for you today, sorry for the longer one, I’ll try to get back to more frequent smaller articles.
HUGE thank you for my current supporters, Csöndi, Nerdy Teachers and Fletch! Thank you from the bottom of my heart!

If you want to support my work you can do so with a price of a coffee! It really helps me find more time to do all this, and keep my hobby afloat.
Until the next article, take care, have a nice day!