Published April 2026 ยท By Team Sinigang
Every studio has a project that nearly kills them. Lapu-Lapu: Defender of Mactan was ours. Not because it was too big โ by browser game standards, it's still modest. But because we cared about it in a way that made every decision harder than it needed to be.
April 27, 1521. The Battle of Mactan. A small force of Visayan warriors under the leadership of Datu Lapu-Lapu defeated Spanish conquistadors โ and in doing so, dealt Ferdinand Magellan his fatal defeat. Magellan died on that beach. Lapu-Lapu did not.
This is not a minor footnote. It's the first recorded defeat of European colonizers in what would become the Philippines. Lapu-Lapu is a national hero โ his face is on the one-centavo coin, his statue stands at Mactan, and his name is on everything from barangays to the bangus (milkfish) named after him. He matters.
We felt that weight when we decided to make a game about him. We didn't want a caricature. We didn't want to reduce a real historical figure and a real historical event to mindless clicking. We wanted something that felt worthy of the story โ even if we were making it in a browser with JavaScript.
The battle itself presents a design challenge. It was a defensive action โ Lapu-Lapu's forces were holding the beach, not attacking an open field. The Spanish had firearms and armor but were fighting in shallow water and on unfamiliar ground. The Visayans had local advantage, numbers in the shallows, and the will to defend their home.
So how do you make that into a game that's fun rather than just historically accurate? Our first prototypes were too slow. They tried to simulate the actual battle โ waves of Spanish soldiers, retreat mechanics, defending the village. They felt like homework.
The breakthrough was deciding to prioritize feel over simulation. We kept the defensive framing (you're protecting Mactan, not storming anything), but compressed the time, added escalating pressure mechanics, and gave Lapu-Lapu's forces increasingly powerful coordinated strikes as your defense held. The history becomes the context, not the constraint.
The boss fight. Magellan as the final encounter needed to feel genuinely threatening โ not just a bigger version of a regular Spanish soldier. We went through eight different versions of the Magellan encounter before landing on the one that shipped. Some felt disrespectful. Some were just bad game design. Some were both.
The final version treats it as what it actually was: a leader who had underestimated his opponents and whose armor โ which was supposed to be invulnerable โ was being systematically exploited by fighters who knew how to find the gaps. That's history. That's the game. We're happy with it.
Build the boring version first. Every instinct said to start with the cool parts โ the Magellan boss, the visual effects, the battle cry that plays when you successfully repel a wave. But the games that work are the ones where the basic moment-to-moment interaction is solid before anything else gets added. We spent two weeks just making the core defend-the-beach mechanic feel right before we touched anything else. Worth it.
And: caring too much about something is both the best and worst thing that can happen to a project. It made Lapu-Lapu better than anything else we've shipped. It also made it take three times as long as we expected. We'd do it the same way again.
Play Lapu-Lapu: Defender of Mactan โ
โ Team Sinigang