Dinopirates

Devblog 02

June 30, 2025

Two full years

First of all, do you remember that my game MUST had a shooting mini game, well, not anymore, but now has a dance fighting mini game, yeah I also didn’t saw that one coming, oh by the way, I’ve been living in Japan for the last year and a half and learning Japanese, while I’m doing not just one game, but two games, and let me tell you its damn hard, and still not rewarding, but it’s hard.

So let’s start from the beginning shall we? I promise all the Japan thing will be short, and gonna explain more about the game, in future posts for each feature.

日本語ははるかに難しい

2023 I came to Japan, if you know me I love to travel and most of my travels were looking for a place where I felt comfortable and part of the society, plot twist, that place doesn’t exist, but Japan is the closest place where you can do or be pretty much whoever you want and no one will judge you, or at least the wont do it in your face, also its a safe country, clean, delicious food and a lot of gaming industry, if its necessary I’ll elaborate my reasons in another post, but this one is about games.

Playdate updates

updated
My little creation its growing so fast.

Since my last update I build and integrate several systems and tools into the game, I’ll proceed to list them in that way in my next post I can talk deeply about how was the process or the main take aways from each improvement:

  • Integrated Noble Engine for the scene management.
  • Created a dynamic rendering of scenes, from a Lua table where all the information of the level is stored.
  • Created a shadow and light system so the main character has a lamp that need to recharge to move faster and see whats on the room.
  • A secret (not anymore) sanity system.
  • A custom pause menu with a map of the ship and a list of items that you have recovered.
  • Different enemies that follow you with different moving patterns, actually it’s pretty basic.
  • An event system, where you can trigger dialogues in certain parts of the game.
  • A dialog system, with different types of dialogs and a Functional UI that displays different characters.
  • A better light system where your torch now has direction.
  • Tested the game on device and had to rethink all the shadow system to improve performance, also redo all the scene loading system to improve performance.

At this point I was mostly coding everything by myself with a little help of AI just to “improve” my terrible if statements and logic pasta sauce, but after the performance improvements I was trapped…

I am my worst enemy

Have to be honest, I’m really proud of the scene and levels stored in tables logic, was a big “look imma dev” moment for me, been struggling with imposter syndrome for years, but I also trapped myself in a really complex way to create levels, I have to write, E V E R Y T H I N G, that means for each chair or pro item I need to write the X coordinates, Y coordinates, Z index, make sure wasn’t colliding with any other element, and of course LEVEL DESIGN, so I try several solutions for this self created trouble.

Figma

My first plan was creating the levels in Figma and copy-paste the x and y positions, not really a solution but at least gave me the visual key to create the levels NOT FEASIBLE.

LDTK

LDTK is an amazing tool for creating 2D levels, and the amazing Playdate community already created a library to integrate the levels made in LDTK, the issue, for me I needed to learn to use the tool and rebuild all the scene system and that was also a lot of effort, especially cuz wasn’t sure it would work as I wanted.

Create your own tool

Yes, I did the most overkill solution, I coded a completely separate app, in another completely different language, just to create the levels, and you must be thinking, “ahh he always talks about css and html, for sure was a web tool” wrong my little internet friend, I went full bananas and used Swift and created a macOS & iPadOS tool. OK I vibe coded the app, took me literally a weekend to make it. Is it a good app? Sure no. Is it bulletproof? Hell no. Is its UI and UX a chef’s kiss? Damn no. It’s ugly as Freddy Krueger eating lemons — but it’s functional. I can create levels in minutes, and even dialogues, so all the BETA DEV of my game is way easier. Was so proud of the app that I presented it in the Swift Kansai meet-up.

More improvements

Sure, with this tool the scope of my development went from 1 week to create a room, to 20 minutes to create a room full of dialogues, items, and enemies, which let me make more improvements:

  • Implemented Panels for comic cutscenes.
  • New title screen.
  • A dancing fight scene where you need to dance to fight the enemies.
  • Achievements! (thanks to the Playdate community).
  • FULL JAPANESE SUPPORT (thanks to ChatGPT).
  • Custom scene transitions.
  • New items like the antigravity boots and holes in the ground.
  • Enemies now bounce and don’t get stuck against the props.
  • Enemies now can grow power and EAT the props.

Stop

At this point I just stopped and decided to create a little demo, like a real demo. Nowadays the game is like a demo but at the end, you just end in a room where there’s nothing. It would be good to have a message saying “thank you” and giving people more information about the game or the development of the game.

To be honest there was a huge leap in speed and improvements since I embraced AI, and let them modify my code or “improve this, and improve that”, but at the same time it’s a luck game. A few times the code generated by AI won’t work or changes a simple if statement for a super complex table pointer dynamic if-else-do-while statement super bulletproof for the future.

Well, that’s kinda the update and summary of these 2 years of development of the game and my life. This was more about the game than my life, so see you in the next one. Happy hunting!