Piano Arena

A Piano Attack flight over a stream of partials; every partial cleared frees a cage of soldiers onto the battleground, one server-wide field of Vienna against Paris · lab 1, fifth cut · 2026-10-03

The ask

Lionel, 2026-10-02: "i have another game in mind this one is called piano-arena. this one uses the same partials engine as piano-attack ... its pianist vs pianist and they get served a steady amount of partials which are different every game that is played. now instead of killing soldiers living on the notes, instead what happens is the soldier goes from being the enemy to being on your side. then it walks out onto the arena where it goes against the enemy pianist who is presumably hitting the same soldiers as you."

"lets start with 3 cities. vienna, paris and london ... kind of like league of legends where you have towers on the borders, then inner towers, then base towers and then finally the headquarters (like eiffel tower, big ben) which have 2 towers each. now for the 1v1 map there's only 1 lane ... the soldiers come out and march towards the enemy HQ at the same speed, and they eventually settle into positions to fight each other. the pianist who plays faster and more accurately will eventually win ... because of the towers in the way which have a lot of HP, it prevents a pianist from instantly getting ahead. furthermore as time goes on every soldier gets 'level up' ... so a pianist who is winning in the beginning may not win in the end if they are not playing fast enough."

"lets use codex to generate this and figure out the 1v1 mode first. for balancing ... lets assume each round is going to be an average of 5 minutes long with an exceptionally one sided match being around 3 minutes and a very even match being about 8 minutes to avoid fatigue. this also means we need to figure out the attack speed / hit dmg / unit health & armor of each of the different types of soldiers."

On the first cut, the same evening: "ok honestly not bad. a few comments. 1) maybe teh soldiers can just sit under the staff and not block the notes for this mode. 2) if a player is playing fast they should be able to move on to the new measures more quickly. 3) we need sound effects for people fighting and shooting. 4) promotions should be based on each player's performance, so a player that's 10 measures behind should be at least 1 level behind." And: "also i still want the plane shooting animation as that has its own level of satisfaction." On the second: "we should be only able to target one point in time ... playing a wrong note usually just hits someone in the back and then your entire hit order is messed up."

On the third, the same night: "ok let's make it this way. each unit should be stronger. and instead every partial rewards a squad of units rather than each unit itself being converted for you. (let's say the squad is in a cage, so basically when you successfully complete the partial, the cage itself unlocks and the squad goes out to fight for you). also the piano plane + notes should just match the piano-attack gameplay exactly (in terms of the angles and ranges, the piano plane itself has the costs of maintenance and bullets and same grenades code). put the enemies back next to the notes." And: "the soldiers that are on the notes in piano attack, are ENEMIES. the soldiers in the crate are your ALLIES that you need to 'free' by defeating the enemies ... harder partials house more units/higher level units".

On the fourth, the cut this page is: "we need more bullets, run out too quickly in arena mode. but here's the more important thing. instead of per instance arenas, what we need instead is a LARGE server-wide persistent battleground ... vienna vs paris ... every hour, a new round starts ... there are 5 computer pianists playing per side ... you can jump in at minute 15 and play until minute 30 ... your soldiers are slightly larger & more powerful ... at the end of the hour the score is calculated, the side with the higher total health of all structures wins ... where the arena is now in the piano-arena game, instead should be this. it should be a hovering camera view of the battleground that focuses on the largest concentration of your own units ... you can pause and press 'view battleground' ... entry points A-G (just like the white keys of a piano)." The field itself, its rules and its measures are on the battleground lab.

2sides, Vienna and Paris; London's livery stands by
5soldiers, one for each length of note; a cage of them for every partial
425partials a stream is drawn from, Piano Attack's own
13frames from Codex, first roll, $0

The rules, as built

  1. You fly for Vienna or Paris, over a stream of partials drawn fresh for every flight from the catalogue at and below one level of it, at that level's tempo. When the stream is flown, another is dealt over the same field.
  2. The flight is Piano Attack's, exactly. An enemy soldier stands beside every note in the other city's coat. A key is a bullet at the nearest soldier of that key in reach, whole inside the hit zone and weaker past it; a wrong key is a bullet in the dirt; a held key sprays a shielded soldier (a long note) down as his note ends, for three bullets at most. The magazine is twenty bullets, twice Piano Attack's, and the boxes on the notes are the only supply, placed for a pianist who spends two bullets a soldier; grenades, the launcher, the autopilot and a repair come in boxes too, by Piano Attack's own code. A soldier who reaches the red zone shoots back; ten hits and the plane is down for ten seconds, then back with a new hull.
  3. Every partial has a cage of your allies over it, with the squad behind the bars. Shoot every soldier of the partial down before any gets his shot off and the cage opens: the squad runs for the gate and is on the field a moment later, at the entry point you chose, a fifth stronger than a bot's. One soldier of the partial getting a shot off and the cage is lost. Harder partials hold more and stronger men: a man for every four notes and one more for every forty levels, each worth the partial's worth (level 51 twice, level 101 three times) in soldiers of his class.
  4. The battleground is one field for everyone, an hour a round: Vienna's edge at the top, Paris's at the bottom, 28 structures a side from outposts to the monument, in sequence along three roads out of each monument to three crossings of the river: the Bridge, the Ford and the Pass (the Valley, 2026-10-04). Ten bot pianists, five a side, noob to expert, fly all hour and feed it; your squads join theirs. At the hour the side whose structures have more hit points left wins 10,000 of Vienna's gold, split by the power each pilot put on the field. Then a five-minute break and the next round. Your men stay when you stop.
  5. The camera under the sheet follows the thickest knot of your own men. Pause (Space) shows the three road keys and View battleground (also V), the whole field to drag, zoom and click.
  6. A soldier's class is his note's length: a sixteenth is a skirmisher, an eighth a rifleman, a quarter a grenadier, a half a drummer behind his drum, a whole note a tuba cannon. A man worth four strikes four times as often.
  7. Sounds: the plane's, Piano Attack's own, and the battle's for what is in the camera's window, a few at a time. Three volumes under Picture.

Try it. A MIDI keyboard plays it, and so do the letters printed on the keys under the stage (in any octave, since a computer keyboard has no bass). Space begins and pauses, R plays the same stream again, V on the pause screen opens the whole field. To watch a bot fly for you, set "This bench" to one.

What is real: the partials, the engraver, the piano, the flight's rules and the field's, which the tests run. What is the lab's: the hour is this page's own (the server's part is not built), nothing is saved, the gold is paid to nobody, and every number on the right is a slider.

The bench

HP
FUEL
AMMO
following your men

The hour's pilots, live: the ten bots and you

I fly for
My squads take the road to the

A green underline is one of my side's bots on that road, a red one the other side's. Also on the pause screen.

This bench

Hands

A slider changes the flight in the air from the next tick; the squads and the boxes are set when a stream is dealt. The field's own rules are on the battleground lab.

A key wins
The staff
The sound

Space begin · pause   R the same stream again   V the whole field (paused)

The five soldiers

A soldier's class is his note's length and nothing else, so a player can read an army off the page. Each is worth a budget: a quarter note is 1 and the others are their length against it, so a bar of sixteenths, a bar of quarters and one whole note are the same four. The figures are a soldier of rank I.

How they were set

Not by feel. tools/arena_balance.mjs classes replaces a quarter of a real stream's army with one class and plays it against the same budget of the plain army, with the real forts between them. A class is right when that is neither better nor worse than more of everything. The five land within a tenth of the forts' whole score of each other (+0.03 to −0.07, a fort being an eighth of it), which is as fine as the measure is: two runs of one army differ by as much. Both armies are promoted as two equal pianists would be.

Why an army stands in files

The first cut let every rifleman stand on one spot and fire. Whoever won the first skirmish then killed each reinforcement as it arrived, and took all six forts of an equal opponent in four minutes without losing one. So soldiers stand in files and fight the files in front of them: two equal armies hold each other, and what a larger army has over is the files at its edges, which walk round to the wall.

Armor, and walls

Armor is League's: a hit lands as 100 / (100 + armor) of itself, so a drummer's 60 lets 62% through. Against a wall each class has a multiplier of its own, set so that a second of music does the same damage to a tower whatever it is written in: a skirmisher's sabre does less to stone, a drummer's drum is a ram, a cannon is a cannon.

The field and the cages

What a squad is, by the partial it came from; the field's own figures (its structures, its lanes, an hour measured) are on the battleground lab.

The cages

A man for every four notes of the partial and one more for every forty levels of it, never more than eight; each worth the partial's worth, 1 + (level − 1) / 50, in soldiers of his class. Harder partials house more and stronger men. Yours are a fifth stronger again.

What the field asks of a cage

Piano Attack's own word for a partial: CLEARED, every soldier of it down and none with a shot off. A cage opened is a squad out of your monument's gate a second later, down your road, a man a quarter second. A cage lost is nothing.

The bell

At 55:00 the side whose structures have more hit points left wins the prize, split by power among its pilots; a draw within a thousandth pays nobody. Then five minutes of nothing, and the next hour's round from the next seed: a round and its break are one hour of the clock, and a page joins the hour's round at the minute on the wall.

The 1v1 lane, measured (history: the first four cuts)

The arena's first four cuts were a duel on one lane of towers against one bot; the battleground replaced the lane on 2026-10-03. The tables are the fourth cut's, as the rules file still runs them (tools/arena_test.mjs, tools/arena_balance.mjs). Your three figures: about five minutes on average, about three when it is exceptionally one-sided, about eight when it is very even. The table is bots that are pianists of a stated pace and accuracy, playing real streams at three levels of the catalogue; the last row is the average over the pairings. Supply is the soldiers a pianist wins a second against what the stream serves at its tempo: ×1 is every soldier at the tempo, ×2 every soldier at double speed.

The six pianists

What to know

  • Only bots have played it. A bot's wrong keys are evenly spread and its hands never tire; a person's are not. The figures are what the rules give, not what players will do.
  • A very even match now most often goes to the bell (half of the strong pair's, two thirds of the steady pair's, all of the learners'), decided on the forts. That follows from your fourth note: when the ranks are each pianist's own, two equal pianists are promoted together and neither breaks through. In the first cut the ranks came on the clock, a soldier was worth five times as much at the bell, and three in four even matches ended at a headquarters in the seventh minute.
  • The favourite's lead now grows on the field. A pianist ten measures ahead is a rank ahead, and his soldiers are worth 7% more for it, so a strong pianist against a steady one finishes in five minutes (it was nearly six).
  • The other pianist is a bot. Two people on two machines is the next piece of work, and the lane was written for it: it is one deterministic simulation that both sides run from the same list of soldiers won.

How to move a figure

  • Everything shorter or longer: the forts' hit points.
  • Even matches decided before the bell: what a promotion is worth (both pianists' soldiers grow, the towers do not), or fewer measures to a rank.
  • One-sided matches less brutal: the towers' volley.
  • All of them are sliders under Rules, and Run the forecast plays three pairings under whatever they are set to.
  • Measured before settling on +7% a rank with the first cut's forts ×1.8: +6% and ×1.6 is 2:55 / 5:10 / 8:00 (a favourite a touch longer); +8% and ×2 is 2:45 / 4:46 / 7:30 to 8:00; +10% and ×1.6 is 2:17 / 3:53 / 6:34 to 6:50, the even matches decided sooner and everything else too short.

The art

Twelve frames from Codex, one roll each, none re-rolled, $0 on the plan: Piano Attack's wind-up tin soldiers in three liveries. The three liveries of each class were asked for in one frame, a row of three, so that the cities' soldiers are the same figure at the same size in the same pose and differ only in coat and hat.

The mock screen, one Codex frame, asked for before anything was built: the sheet across the top with a soldier beside every note, the lane under it, Vienna against Paris.
The cast as drawn. Vienna in white with a shako, Paris in blue with a bicorne, London in red with a bearskin: skirmisher, rifleman, grenadier, drummer, tuba cannon; a tower for each city; St. Stephen's, the Eiffel Tower and Big Ben.

What worked

  • Every count asked for was drawn: three figures a row, one spire, one clock face, two viewing platforms.
  • All ten sprites came back with real transparency, white coats included.
  • The three hats are three silhouettes, so a city reads at twenty pixels tall.

What to watch

  • No frames. Each soldier is one drawing, moved by code: he bobs as he marches, lunges as he strikes and flashes when hit.
  • St. Stephen's is as wide as it is tall. It is hung by the edge that faces the lane, so the nave runs off the screen and the spire stands at the gate.
  • The field is one plate for every pairing. A skyline for each city behind its own end is the obvious next frame.

What is yours to call

Each of these is my reading of what you said, or a thing you did not say. The first six are switches or sliders on the bench.

What a cage asks

Piano Attack's own word for a partial: CLEARED, every soldier of it down and none with a shot off. "Successfully complete the partial" could also mean a share of its soldiers, or every soldier down whether or not one got a shot off. The strict reading makes a beginner's cages scarce (a beginner bot frees nine in three minutes where a strong one frees fifty), which is the gap you asked for between pianists; a looser one is a knob's worth of change.

What a squad is worth

A man for every four notes, one more for every forty levels, each worth the partial's worth, so a squad is exactly what its notes were (a level 1 partial) or two or three times that (levels 51 and 101), in fewer and stronger men. "Harder partials house more units/higher level units" could also be read as a higher RANK for the squad; I read it as worth, which is Piano Attack's own measure of a partial, and the ranks stay the pianist's.

What the plane costs

Fuel burns a litre a bar and a plane shot down comes back after ten seconds with a new hull: "the costs of maintenance and bullets" are counted on the debrief and charged nowhere, there being no purse in a lab. In the game they would be Piano Attack's own coins, and a matchmade loss would cost a fuel bill and a repair.

The supply boxes

Piano Attack's own crates (bullets where a new plane would run short, and sometimes grenades, the launcher, the autopilot, a repair) stand on notes as they do there, placed by the same rule the mission generator uses. They are not the cages. A stream that opens with chords of half notes has no note the rule allows a box on, so where the magazine would be empty a box may stand on a chord's top note.

A long note is one tap

A half note is a drummer for one key, a whole note a cannon. Piano Attack asks for a held key on a long note. Holding would teach the length; it would also make the slowest bars the ones nobody can hurry.

The bell at eight minutes

A very even match is "about 8 minutes": I made that a ceiling, with the forts' condition deciding. Now that each pianist's ranks are his own, most very even matches reach it. The other way is no ceiling and promotions that keep growing until somebody breaks.

The cities are liveries

Nothing in the rules differs between Vienna, Paris and London. A perk for each (a faster rifle, a tougher drum) is easy to add and would stop the better pianist always winning. Yours to want or not.

Which level a match is served at

The bench has a slider. In the game it wants a rule: the lower of the two pianists' places in Piano Attack, a league, or a stream for each at his own level with the soldiers weighed to match, which would let a beginner play a teacher.

Not built

Two people on two machines. 2v2 and 3v3. A place on the menu, a table, anything saved. Coins, ranks of players, matchmaking. A soundtrack (the battle has its sounds, there is no music under it). A phone.

Vienna's landmark

You named the Eiffel Tower and Big Ben. Vienna got St. Stephen's, which Piano Attack's skyline already has. The Riesenrad is the other candidate.

2v2 and 3v3

The lane is written so that a map is a list of lanes. What is not decided is what a second pianist adds: a lane of his own (your picture, as League has it), or two pianists feeding one lane.