Skip to content

Arcade › Citadel Bloom

Citadel Bloom

  • 2d
  • tower-defense
  • strategy
  • arcade
  • sci-fi
  • fantasy
  • browser
0
Remix it Discord

0 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Josue C.M built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Citadel Bloom yet. Play it, then tell Josue C.M what you would add next.

Make your own game

Citadel Bloom was built by Josue C.M with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Citadel Bloom opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Citadel Bloom

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a responsive 2D browser tower-defense game titled “Citadel Bloom,” presented as a dark, polished command deck. Use a full-height layout with a dark navy background, a top header, a large rounded rectangular battlefield on the left, and a scrollable control panel on the right (stack the panel below the battlefield on screens narrower than about 900px). The visual style is minimal neon sci-fi/fantasy: navy panels and grid cells, thin blue borders, rounded corners, mint/cyan accents, gold currency, pink/red danger colors, and simple canvas-drawn geometric units. The header should show a mint-to-blue square brand mark, the title “CITADEL BLOOM,” subtitle “Tower defense command deck,” and stat pills for bloom currency (gold diamond icon), lives (heart), and wave in the format “0/10.”

The battlefield is a responsive HTML canvas inside a rounded bordered stage. Draw a centered 12-column by 8-row tile grid. The route is a winding path: across row 3 from the left edge to the right edge, down the right side to row 6, then back left across row 6. Mark the start with a mint circular core/entry marker and the endpoint with a pink/red circular marker. Path tiles are dark blue-gray and buildable tiles are darker navy; draw a thick blue route line through the path. Towers can only be placed on empty non-path cells. Tapping/clicking a tile places the currently selected tower if affordable, or selects an existing tower. Show each placed tower as a dark circular node with a colored outline and its Unicode-like icon, plus a translucent colored attack-radius circle. Level 2/3 towers display gold star marks below them. Enemies travel along the route from start to finish as colored circles with small health bars above them; elite enemies have a gold outline. Projectiles are tiny colored dots that visibly travel briefly from tower toward a target.

The game starts in build mode with 320 bloom, 20 lives, World 1, Level 1, no active wave, and the selected tower set to Sprout. The top-left battlefield overlay reads “World 1 · Verdant Gate · Level 1”; the top-right overlay initially says “Place turrets, then launch the wave.” The side panel has a Mission section showing the current world name, a prominent “Launch wave” button, descriptive text such as “Level 1/20 · Elite chance 9%. Merge matching towers to unlock their signature advantage,” and 20 small level indicators, with prior levels mint, current level gold, and future levels dark. It has an “Arsenal · 12 towers” grid, a “Selected tower” area with Sell and Merge buttons, and a Field controls legend: “Tap tile: place / select,” “Same tower: merge,” “Space: launch wave,” and “R: restart level.”

Implement exactly 12 arsenal cards, each with icon, name, cost, damage, and the shown skill text. Their base stats are: Sprout (✦, cost 55, mint #7df2c5, range 92, fire interval .75 seconds, damage 12; “Vines slow enemies 35% for 1.2s”; merge “Bloom: splash roots on hit”); Ember (🔥, 70, coral #ff8066, range 84, interval 1.1, damage 22; “Burns for 8 damage over 2s”; “Inferno: burn spreads nearby”); Frost (❄, 80, blue #80c8ff, range 88, interval 1.35, damage 13; “Chills target, stacking slow”; “Glacier: freezes elites briefly”); Bolt (ϟ, 95, yellow #ffe27a, range 105, interval 1.55, damage 38; “Chain lightning hits 2 targets”; “Tempest: chain hits 5 targets”); Cannon (●, 110, tan #d1a679, range 78, interval 2.2, damage 62; “Heavy shells knock back”; “Siege: larger blast radius”); Thorn (♣, 65, green #9be564, range 74, interval .42, damage 9; “Rapid shots mark targets”; “Briar: marked foes burst”); Sunwell (☀, 125, gold #ffd166, range 70, interval 1.8, damage 18; “Generates +3 gold every 6s”; “Starwell: +8 gold every 5s”); Void (◈, 145, purple #c49cff, range 98, interval 2.8, damage 92; “Pierces through 2 enemies”; “Abyss: pierces 6 enemies”); Wind (➤, 85, pale cyan #9ae6ff, range 115, interval .95, damage 16; “Pushes enemies backward”; “Gale: tornado pulls a lane”); Poison (☠, 100, lime #b9f26c, range 86, interval 1.2, damage 15; “Toxic damage stacks 3 times”; “Venom: poison jumps to elites”); Arc (✧, 120, pink #ff9cf0, range 82, interval 1.4, damage 28; “Targets the highest-health foe”; “Nova: critical hits stun”); Drone (✹, 90, periwinkle #b9c6ff, range 130, interval .65, damage 10; “Orbits and tags fast enemies”; “Swarm: launches 3 drones”). Highlight the selected arsenal card with a mint outline.

When the player launches a wave, switch to wave mode, increment the wave counter, disable the launch button and label it “Wave running,” and show a centered temporary banner such as “Wave 1 incoming.” Spawn 7 + world number + level number enemies, one every roughly .45 seconds (slightly faster in later worlds), selected cyclically from these enemy types: Runner (38 HP, speed 46, reward 7, pink #ff6b7a, radius 8), Brute (125 HP, speed 22, reward 13, orange #ff9d5c, radius 12), Swarm (22 HP, speed 70, reward 4, lime #c8f06b, radius 6), Mender (85 HP, speed 30, reward 12, lavender #9b9cff, radius 10), Shade (65 HP, speed 52, reward 15, purple #d3a6ff, radius 9). Scale enemy HP by 1 + (world-1)*.1 + (level-1)*.035. Some enemies become elites (roughly 6% plus 1.2% per level, capped at 34%, only on every third spawn), with 2.6x HP, a gold outline, and double reward. Enemies move along the route; slow effects reduce speed and reaching the endpoint costs one life, or two lives for an elite. If lives reach zero, stop the wave, set the objective to “Core breached — restart and try a new build,” relabel the button “Restart level,” and allow restart.

Towers automatically acquire the enemy furthest along the path within their range and fire according to their interval. Damage is multiplied by 1.7 at level 2 and 2.4 at level 3, and fire cooldown is reduced using interval divided by 1 + 0.28*(level-1). Implement the actual visible/core effects from the mechanics: Frost applies a slowing multiplier of .55 to its target; Wind pushes a target backward by .10 path units times 1 + .25*level; Sunwell accumulates income and grants +3 bloom every 6 seconds at level 1 or +8 every 5 seconds at level 2/3. Other tower skill descriptions can remain as arsenal flavor text unless implemented, but all towers must deal their listed base damage and create a colored projectile. Destroyed enemies grant their reward, doubled for elites. When all queued and active enemies are gone with lives remaining, enter won state, show “Wave cleared!”, set objective to “Level clear — advance when ready,” and change the button to “Next level,” or “Next world” after level 20.

Clicking an occupied tile selects it. Clicking the same selected tower type on an occupied tile, or pressing Merge, spends that tower’s base cost and increases its level up to level 3, resets its cooldown, and displays a temporary message such as “Sprout merged → level 2.” Selling returns floor(base cost * .6 * level) bloom and removes the tower. Disable Sell/Merge when nothing is selected and disable Merge at level 3. Show contextual selected-tower text including its level, skill, and merge advantage. If the player cannot afford a purchase or merge, show “Not enough bloom” or “Need another tower worth of bloom.”

Support keyboard Space to launch/advance and R to restart the current level. On win, advancing increases the level until level 20; after level 20 reset to level 1 and advance to the next world, cycling after World 10. Use these world names and theme color pairs: Verdant Gate (#173b37/#7df2c5), Ember Basin (#4a251e/#ff8066), Glacier Run (#16324a/#80c8ff), Sky Foundry (#26345c/#ffe27a), Dusk Marsh (#2f2142/#c49cff), Sunken Crown (#173d4a/#9ae6ff), Astral Steppe (#2e2352/#ff9cf0), Obsidian Reach (#301d29/#ff9d5c), Storm Citadel (#152c40/#9ae6ff), The Last Bloom (#222844/#ffd166). Resetting a level sets bloom to 320 + world*15, lives to 20, wave to 0, clears towers/enemies/projectiles, and returns to build mode. Add subtle translucent panel overlays, shadows, hover states, toast/banner feedback, responsive sizing, and touch-friendly controls, while keeping the battlefield uncluttered and the overall look faithful to a dark blue neon tower-defense dashboard.

More free browser games

Browse the whole Arcade →