Designing the score loop in Upflux
- Devlog
- Game design
- Score attack
Upflux is a score-attack game, and score-attack lives or dies on one question: what exactly is the player being rewarded for? Get that wrong and the game either feels random or turns into mindless button-mashing. This is how I tuned the score loop so that skill is the thing that scores.
Gravity is the whole design
Upflux has one core idea: keep lifting energy toward the reactor. The complete conveyor stack stays visible on one portrait screen. Tap an orb, choose a landing point above the belt one level higher, and repeat until it reaches the portal.
The controls are deliberately tiny: pick up, place. All the depth lives in when and where, never in a complicated input scheme. That’s what lets me crank the difficulty without ever changing the rules.
Streaks: paying for flow, not panic
The streak is the most important scoring value in Upflux. Delivering a chain of orbs cleanly into the reactor is worth far more than delivering the same orbs one at a time. That one rule does a lot of quiet work:
- It rewards planning a route over grabbing whatever’s closest.
- It punishes dropped orbs harder than they look, because a drop ends the multiplier and loses one delivery.
- It nudges you into a flow state, keep the system stable, keep the line moving, and the score takes care of itself.
Break the chain and you feel it immediately. That sting is the engine behind “one more run.”
Energy as a clock
Reactor energy drains throughout every run. Successful deliveries recharge it, while a missed orb removes a large additional chunk. Restore power-ups buy time, and careful lifts prevent several losses from arriving together.
Power-ups as pressure valves
Slow time, freeze the belts, reverse the flow, restore energy, clear the board, stop new spawns, the power-ups are tuned for the pressure spikes. I tuned them to be most valuable in the exact moment the screen fills up and a reactor surge hits. Holding one in reserve for that moment saves more runs than spending it early, which turns “when do I use this?” into its own little decision every game.
Why streak scoring fits
A flat per-orb score would reward touching as many orbs as possible, encouraging frantic lifts and weak placement. Streak scoring rewards quick consecutive deliveries, so preparing safe landing points and reading the conveyor stack also produces the strongest scores.
The speed and streak systems work together when rapid play comes from preparation. A player can line up several orbs, deliver them in sequence, and earn a larger multiplier through clean execution. Reaching for an isolated orb carries a real cost when it puts that sequence at risk.
Tuning the energy pressure
The energy drain sets the baseline pressure. A very fast drain crowds out planning, while a very slow drain removes urgency. Successful deliveries restore energy and a missed orb removes a large chunk, linking survival directly to the conveyor decisions on screen.
A key tuning measure was how long a clean delivery streak can continue before the escalation forces a decision. That moment works best when the board becomes busier while the player still has enough energy to choose between a rescue and protecting several lined-up deliveries. That is where the interesting play lives, and a drain rate that kills you before you reach it wastes the whole design.
The large energy penalty makes each missed orb visible in the survival economy. One difficult rescue may be worth attempting, but preserving several lined-up deliveries can protect more energy and maintain a stronger streak.
Power-ups as timing decisions
The six browser power-ups gain value as pressure rises. Freeze and slow time create room during crowded sequences, while restore energy matters most near the end of the reactor clock. This pressure-dependent value turns each use into a timing decision that runs through the whole game.
Put together, streaks reward clean play, energy sets the clock, and power-ups handle the spikes, and you get a loop where the high score is a scoreboard for how well you kept your head. If you want to see how it feels, give Upflux a run, or read the scoring guide for the player-side version of all this.