A room open in the editor, with the tile grid over the backdrop

Bombozzi

An editor and an engine for 2D metroidvanias. And the game running on it, right here, now.

Bombozzi does two jobs in the same place. It is the editor you build a two dimensional metroidvania with, and it is also the engine that then runs it. You draw the rooms, you put dialogue, quests, spells and cutscenes inside them, you hit Play and you play. There is no export step in between, no second program to open, no format to convert.

Further down this page there is Surgy Boy: Il Benchmark. It is not a video and not a recording: it is the game, and it starts inside this page while you are reading it. It is called Benchmark because that is exactly what it is, a measurement. If something built with Bombozzi opens inside any website, with nothing to install, no player, no store to ask permission from, then the editor and the engine are not a style exercise: they work.

A short metroidvania about judgement, method, and the demon that looks like you. It is brief and it is built to be finished.

There is a longer game too, and it is the reason all of this exists. That one I am not showing yet.

How big it is, according to its own audit

I did not count these by hand. The editor has a panel that reads the game JSON back and counts them itself.

10
Rooms
175
Instances
40
Definitions
38
Items
14
Dialogues
9
Quests
8
Spells
26
Images

What is inside the editor

Every entry below is a real tab in the top bar. Not a promise, a tab.

Rooms on three layers

Background, Main and Foreground, with a brush for the tiles and entities placed on top. The game currently has ten rooms, and the widest is eighty four tiles by seventeen.

Layered scenery

Each room has its own stacked backdrops: an image, fog, rain, more fog in front. Each with its own parallax, blur and speed.

The ground plane

The part that cost me the most time. You say how high the ground line sits inside the PNG and how high it sits in the level, and the backdrop locks onto the floor you walk on instead of floating above it.

Dialogue, quests, items

Fourteen dialogues, nine quests, thirty eight items. There are five different kinds of syringe, from the butterfly to the blessed one.

Cutscenes and nodes

Scenes are assembled as nodes, inside the editor, and watched right away.

Camera zones

Where the camera tightens, where it opens, where it stops following you. Zoom, dead zone, look ahead and follow speed are all numbers you can turn.

Audit, editor against runtime

A check that reads the game back and hunts for broken references: doors leading nowhere, dialogue that no longer exists, items mentioned and never defined. Currently zero warnings.

Play

The green button up top. You play inside the editor, in the room you are editing, with no saving and no exporting.

The editor, in one strip

The top bar: nodes, cutscenes, audit, tileset, items, dialogue, quests, spells, music, definitions, assets, background, Gattofrigi, sound effects. And the green Play button, which is the one that matters.

Four details

The three layers of a room, with the brush on the tiles: Background, Main, Foreground.
The scenery layers stack up: fog, rain, embers, each with its own parallax.
The three ground line numbers: the height in the PNG, the height in the map and the correction. These are what keeps the backdrop attached to the floor you walk on.
The audit reads the runtime JSON back, counts everything and says whether anything points into thin air.

Gattofrigi, which sits and listens

Gattofrigi is a separate program, a sequencer with a sound effects workshop inside it. I know nothing about music, so I built myself a place where wrong notes do not exist: pick a scale, minor, harmonic minor, phrygian or dorian, and the rest follows. Then it takes MIDI in and out, and exports the WAV and the individual stems.

So far it is a toy. What ties it to the game is something else: every stem has a condition, and does not always play. It plays when something happens in the game.

Condition

Calm

Comes in when intensity is below twenty per cent.

Condition

Tension

Comes in from thirty-five per cent up.

Condition

Fury

Comes in from seventy per cent up.

Condition

Combat

Comes in when a fight starts.

So the soundtrack is not a file that just plays: it is a pile of pieces that come and go depending on how things are going. Players do not notice it, they only feel that the music knows what they are doing.

For now it lives attached to Bombozzi and has its own tab inside the editor. Sooner or later I will detach it and let it go its own way.

Gattofrigi

The sequencer grid: you switch hits on at each step, and the row on the left says which instrument.
The sound effects workshop: every sound is a waveform, two frequencies and a duration. Jump, hit, door, chest, coin. You press the little triangle and you hear it.

The game that runs on it

It is called Surgy Boy: Il Benchmark: eight rooms, a blue rubber chicken, and a sung anime opening that lasts longer than the game deserves. It is not a finished product, it is the proof that the chain holds: drawn in the editor, moved by the engine, opened inside any page with nothing to install.

It has a page of its own, where you can play it.

IT IS PLAYED OVER THERE

Surgy Boy starts inside the page, with nothing to install.

Where it stands

The editor and the engine work and I use them every day. Surgy Boy above is the proof that the whole chain holds: drawn in the editor, moved by the engine, playable inside any page with nothing to install and nobody to go through.

The long game arrives when it arrives. When I show it, I will show it like this: you press a key and it starts.

rodion home, Bombozzi, a metroidvania editor and engine