← Devlog
v0.1.0-pre-alpha

Ultraviolet v0.1.0-pre-alpha: first playable prototype

This is the first public, playable build of Ultraviolet. One test level, the full movement and combat kit, none of the final presentation. A run takes about 5–15 minutes. The point of this build is to check one thing: does it play well.


What the game is about

Wrocław, present day. Under the wet asphalt and the neon there’s a war older than the world, and the city has no idea. You play a hunter in the service of an order that has spent seven hundred years doing what nobody officially acknowledges: hunting fallen angels. You have a katana, a revolver, and skin covered in holy scripture.

The end goal for Ultraviolet is a 2D action rogue-lite — neon-noir, permanent between-run progression tattooed onto the hunter’s body, single-use relics for one mission each. Combat is a platformer with a fighting game’s soul: blocks, parries, combos, dashes with i-frames.

For now what you get out of that is the combat core and one corridor to clear.


What’s in this build

  • Melee (katana) — 3-hit combo with three variants of the third hit (heavy finisher with knockback / fast cheap hit / launcher that pops the enemy into the air), a charged attack, camera shake on the stronger hits.
  • Revolver — 6 rounds, reload, 8-directional fire.
  • Block / parry / guard break — blocking costs stamina; a parry lands in a narrow window just before the hit and staggers the enemy.
  • Dash as dodge — invulnerable for its duration, passes through enemies.
  • Ledge grab — jump toward the edge of a platform and the character catches it and pulls up (stamina cost) — forgives missed jumps.
  • Resonance — the purple bar in the HUD. The katana charges it, the revolver spends it. With no resonance a shot barely scratches; with a full bar it hurts. The bar decays while you stand still.
  • Enemy poise + execution — parries and hits into a block chip away the white bar above an enemy. At zero the enemy staggers → walk up, E → the enemy is gone and a big chunk of resonance comes back. You can also just cut them down normally.
  • 5 relics — single-use modifiers for one mission, each changes the rules and each has a downside (stronger shots at the cost of your combo, healing on executions, a second chance after death, a lethal first shot with a long jam afterwards, time-slow on a parry).
  • 15 enemies in 3 types, told apart by color: red — melee, yellow — ranged, blue — blocks your attacks.
  • Test level — a 6-zone corridor running left to right: warm-up → platforming with a dash gap → melee pocket → ranged pocket → arena with a lethal pit → finale. Exit portal at the end.
  • Hub — a small room with a reliquary and a portal. The “hub → mission → hub” loop is still just a skeleton.

Controls

ActionKey
Move← / →
Jump (double — second one mid-air)Space / Enter
Melee (combo)A — tap
Charged attackA — hold ≥ ~0.5 s, release
Third-hit varianthold ↓ = heavy · nothing = fast · ↑ = air launcher
BlockD — hold
ParryD — press just before the hit lands
Dodge (dash, invulnerable)Shift
Shoot (8-directional)S — direction = held arrows
ReloadR (auto on an empty magazine)
Interact / throw out an enemyE
Ledge grabautomatic; climb up = jump / ↑, drop = ↓

A gamepad works (full Xbox / PS mapping), but the keyboard is enough.


How to run it

SystemFileNotes
Windowsultraviolet.exe (+ ultraviolet.pck next to it)SmartScreen may warn about an unsigned file — “More info” → “Run anyway”.
Linuxultraviolet.x86_64 (+ .pck next to it)chmod +x, then ./ultraviolet.x86_64.
macOSultraviolet.appUnsigned: right-click → Open → confirm.

Quitting: Esc in the main menu (careful — Esc in the menu closes the game), Alt+F4, or close the window.


This is pre-alpha — what’s not here

  • The art is placeholder. Colored rectangles; the player and enemies are “stick figures made of rectangles”. The real art is still being made.
  • There’s almost no sound — just random music on the level, zero SFX.
  • One test level — a sandbox for checking mechanics, not a real stage. The hub is an empty room.
  • Balance is untuned — damage, costs, enemy HP, and prices are all temporary.
  • No saving, no death screen, no attempt counter. The “Options” menu is a stub.
  • The hub camera can show a sliver past the wall at the edges.

Death or falling into the pit = back to the hub, run reset.


What’s next — v0.2: tattoos

The next big thing is the tattoo system — permanent progression between runs (relics vanish after one mission, tattoos stay):

  • 6 slots = 6 spots on the body, 1 tattoo per slot.
  • You earn marks from boss souls — 1 soul = 1 inked tattoo.
  • Every tattoo is a rule change, not a “+5 to strength” — a different combo window, a hot first shot after reloading, a cheaper dash.
  • The hunter works in a suit, so you read your build on the tattoo screen, not on the character in-game.
  • The body can’t be expanded — every new verse takes up space.

There are no tattoos in v0.1.0-pre-alpha.


How to report feedback

Two kinds matter:

BUG — something doesn’t work, or works wrong. Tell me: what happened, where (menu / hub / which level zone), how to reproduce it, which platform, and if you can — a screenshot or a clip.

FEEL — it works, but how does it play? Too strong / too weak / too slow / unfair? Was something unclear? What was missing? This is what I most want to hear about:

  • the revolver in the first seconds of a fight (before you’ve charged resonance) — useless, or fine?
  • dash-as-dodge — too strong (trivializes the fight) or too rare?
  • the dash gaps in the level — fair?
  • fights against 3–4 enemies at once — a puzzle or an overload?
  • poise and the throw-out — does it happen often enough to be a real option?
  • jump and gravity — after tuning: fine, too floaty, too heavy?

Leave feedback in the comments under the game or under this post. Testers with the full guide have a detailed checklist there (43 points + a Feel section) — you don’t need to do it all at once, even a partial run helps.

Thanks for playing something that’s still in rectangles.

— SolarNine · v0.1.0-pre-alpha