A free turn-based strategy game in the browser, set in Europe in the age of powder and kings (about 1670 to 1815). The map is a hand-coloured, engraved 18th-century atlas that you chart as you explore. Found towns, raise star forts, march musket lines and win by conquest, by score, or by fulfilling ten ambitions. Achievements are kept across games.
Play it: https://deadlydog3000.github.io/Standards-In-Smoke/
Open index.html in a browser, or play the link above. No build step or server is needed.
- Select: left-click a regiment or a town
- Orders: right-click a hex to march there, an enemy to attack or fire on it, or a far hex to set out for it over several turns. Each order costs one of the turn's Orders (shown on the End Turn crest)
- Ships: march a regiment to the coast beside one of your ships and right-click the ship (or press B) to put it aboard; right-click the coast beside the ship to land it
- Form up: right-click one of your own regiments beside the chosen one to merge them (up to three companies); split them again from the unit panel
- Camera: drag, WASD or the arrow keys (Shift for faster), mouse wheel to zoom
- Keys: E end turn, T tech tree, K kingdoms, O empire, M market, L laws, I field manual, Esc menu (the full list is under Hotkeys in the pause menu)
- An engraved atlas map: plains, forest, hills, mountains, marsh, rivers, lakes and sea, charted as you explore, coloured anew each season; the north lies under snow, deepest on the high fells and the shaded slopes, and in winter it comes down to the Baltic and the northern seas freeze
- A map of Europe (choose it under Lands): every crown at its real capital with its historical towns, the great rivers, and the seas and ranges under their old names; the crowns go by the names of the year you begin in (the Dutch Republic, the Kingdom of Sardinia at Turin, Poland-Lithuania), each with that year's ruler
- The 1672 start: the Disaster Year, Louis XIV's war on the Dutch Republic, the Water Line and William of Orange, until the Peace of Nijmegen
- The 1683 start: the Siege of Vienna, the Grand Vizier's army at the gates and Sobieski riding to the relief, then the Holy League and the Nine Years' War, until the Peace of Karlowitz
- The 1700 start: the War of the Spanish Succession and the Great Northern War at once, Louis XIV and Marlborough, Charles XII and Peter the Great, until the Peace of Utrecht
- The 1718 start: Alberoni's gamble, Philip V's Spain landed on Victor Amadeus's Sicily against the Quadruple Alliance of the Emperor, Britain, France and the Dutch, and the last years of the Great Northern War; Cape Passaro and Fredriksten, until the Peace of Nystad
- The 1733 start: the War of the Polish Succession, France, Spain and Sardinia for King Stanisław against Austria, Russia and Saxony; Danzig, Don Carlos in Naples, then the war with the Turk, until the Peace of Belgrade
- The 1740 start: the War of the Austrian Succession, Frederick's seizure of Silesia from the young Maria Theresa, until the Peace of Aix-la-Chapelle
- The 1756 start: the Seven Years' War, Frederick the Great and Britain against France, Austria and Russia, until the Peace of Paris
- The 1778 start: the American war comes to Europe, France, then Spain and the Dutch, against Britain at sea, and Frederick the Great's last war with Austria over Bavaria; Teschen, Yorktown and the Saintes, until the Peace of Versailles
- The 1788 start: the eve of the Revolution, Catherine the Great and the Emperor Joseph against the Turk and Gustav III's Sweden against Russia; the Bastille, Rymnik, Svensksund and Izmail, until the Peace of Jassy
- The 1792 start: the wars of the Revolution, Valmy, the King's trial and the Republic, the Terror, Bonaparte in Italy and Brumaire, until the Peace of Amiens
- The 1805 start: Europe in the year of Austerlitz, Napoleon and the crowned heads of the age on their thrones, and the Third Coalition already at war with France; the score is counted at the Congress of Vienna
- The 1812 start: the invasion of Russia, Borodino, Moscow and the winter retreat, the Sixth Coalition and Leipzig, until the Congress of Vienna
- Reigns that end: rulers age with the calendar, heirs grow up and are crowned under their regnal names, regents rule for a child
- Each start as it stood: crowns not yet made are left out (no Duchy of Warsaw in 1805, no Belgium after 1795), crowns go by the names and heads of their year (England until the Union of 1707, Brandenburg until 1701, the Electorate of Saxony until 1806), and the governors and viceroys of the Habsburg lands rule there
- Rival crowns with tempers, tribute, royal marriages, war-weariness, and coalitions against whoever grows too great (you included); peace that can cost a town, theirs or yours
- 21 historical nations, each with its own capital, town names and the coats its line infantry wore in 1805 to 1812
- Towns with production, jobs, borders that grow, walls and bastions, and costs that rise with every town
- Old World-style orders, ambitions (fulfil ten to win), promotions chosen at each rank, families, laws and a court
- Regiments with morale, formations, experience and promotions; merged regiments that fire as one; ships that carry regiments across the sea and land them, or troops that take to the water in their own boats; fleets that blockade ports
- Rival crowns that expand, trade, ally, go to war, run campaigns and make peace, and that push back harder the further ahead you get
- 120 events, four seasons, brigand bands and tribes, wonders, a market, and a chart of every crown's score through the game
- Recorded sound effects (made with ElevenLabs), period music, and saves in your browser
- Plays on a phone as well: tap to order, with the panels sized for a small screen
One HTML file of JavaScript and CSS drawing on a Canvas 2D map. The art is our own engraving-style figures, towns and map symbols.
The full history is in the game (pause menu, Update Log). The entries below are the oldest ones.
- Feature: Right-click to move units — select a unit then right-click any tile to move there instantly; right-click an enemy to attack; out-of-range right-click sets a go-to order; cursor turns to crosshair when a unit with moves is selected
- Feature: Responsive topbar — collapses resource labels at narrow widths, wraps to two rows on tablet-sized windows, abbreviates button text on small screens; panels adjust position dynamically
- Feature: Screenshot export — screenshot button in the topbar saves the current map view as a PNG
- Balance: Production and building costs scale with city count — each additional city raises all costs by 20% (2 cities = 1.2×, 3 = 1.4×, etc.); event resource costs follow the same scaling
- Balance: Melee (non-ranged) units must be adjacent to an enemy to attack
- Fix: Pastures no longer require a herd tile — buildable on any valid terrain with Animal Husbandry
- Feature: Unit sprites — musketeer, swordsman, crossbowman, scouts, workers, cavalry line all render as pixel art sprites clipped to their unit circle
- Balance: Unit production costs and building costs now scale with city count — each additional city raises all production and event resource costs by 20% (2 cities = 1.2×, 3 = 1.4×, etc.), discouraging pure city-spam and resource hoarding
- Balance: Event gold/resource costs follow the same scaling — paying for events gets more expensive as your empire grows
- Feature: All 11 tile improvements now render as pixel art sprites instead of emoji icons: Farm, Market, Mine, Quarry, Steel Mill, Urban, Lumbermill, Barn, Port, Pasture, Science Lab, Treasury
- Fix: Grass tile variants updated — plains now use Grass and Grass_Plants sprites
- Feature: Idle city popup — appears at end of turn for any city not producing; click a unit/building to assign production, or open the full city panel
- Feature: No research popup — appears when no tech is being researched; browse available techs by section with cost and turn estimate, or open the full tech tree
- Both reminders chain (idle cities first, then research), dismiss with ESC or "Later", and reappear next turn if still unresolved
- Feature: New cities start with a free worker unit — no longer stranded with a bare capital
- Feature: Orders exhausted popup — a centred overlay appears when you use your last order, prompting you to end your turn
- Fix: Tech research sound now plays reliably on completion — was silently failing due to cloneNode not loading audio data
- Feature: Noble Families system — every nation now has 2–4 historic noble houses (Habsburgs, Bonapartes, Romanovs, Hohenzollerns, etc.) with individual opinion scores (0–100); families with low opinion become Restless → Angry and eventually spawn scaled rebellions near the capital
- Feature: Noble Families replace the old per-city discontent system entirely —
city.discontentandtriggerRebellionremoved; rebellions now emerge from noble politics, not mob unhappiness - Feature: Family opinion is affected by legitimacy, treasury gold, buildings (Granary, Fortifications, Grand Cathedral), events, and city capture; Court panel shows opinion bars, status labels, and an Appease button (30g → +15 opinion)
- Feature: Event system overhauled — 31 events expanded to 120 with conditional triggers; events now check game state before appearing (coastal city, mountain/forest/river tiles owned, at war, at peace, gold level, legitimacy, current season, tech researched, buildings, city count, turn number, family opinion, character existence)
- Feature: 89 new events across 15 categories — Coastal, Mountain, Forest, River, War, Peace, High/Low Gold, High/Low Legitimacy, Many Cities, Tech-gated, Building-gated, Season, Early/Late game, Family politics, Flavour
- Feature: Characters can now die from events — 4 events carry
charDeathoutcomes (Death of a General, Plague in the Palace, Assassination Attempt, Duel of Honour) killing heirs, spouses, or random courtiers; family opinion takes a hit on each death - Fix: Rebel nation creation no longer calls
initNationFamilies/initNationCharacters, stopping orphaned characters and families accumulating in memory after each rebellion
- Scrapped: Premade map ideas scrapped for now — nation selection screen, preset geographic city positions, world map terrain overrides, tribal nations system, and World (600×360) map size all removed
- Nations and their historical city name pools are retained; nations now spawn at random positions on procedurally generated maps (same as before Beta 2.8)
- Default map size changed back to Large (200×130)
- Fix:
tribeAIcombat was broken —doAttackwas called with a unit object instead of coordinates; also used Manhattan distance instead of proper hex adjacency (hexNeighbors) matching all other combat code - Fix:
checkEliminationnow skips tribe nations (same as barbarians) — tribes with no cities were incorrectly triggering conqueror logic and resource transfers - Fix:
getMaxOrdersnow returns unlimited orders for tribes (same as barbarians) — tribes never use the order system - Fix: Tribal capital names now deduplicate against existing city names before use — prevents duplicate city names if a preset nation already founded a same-named city
- Fix: Great Britain and Ireland now reliably spawn as islands fully separate from continental Europe — terrain override carves a wide ocean box (lon −12 to 2) then punches the islands back in; continental Europe is stamped starting at lon 2.5 guaranteeing a 4-tile ocean gap; Irish Sea carved between Ireland and Britain;
findLandNearfor French/Belgian cities always resolves to the continent before it can reach the British island
- Feature: World map — all 21 nations now placed at historically accurate world-scale coordinates (formula: xFrac = (lon+180)/360, yFrac = (80-lat)/140); new World (600×360) map size added and set as default
- Feature: 22 tribal/non-state peoples — Iroquois Confederacy, Cherokee Nation, Sioux Nation, Comanche, Maya, Andean Tribes, Mapuche, Guaraní, Ashanti Empire, Oyo Empire, Zulu Kingdom, Kingdom of Kongo, Ethiopian Empire, Tuareg Confederacy, Qing China, Japanese Shogunate, Maratha Confederacy, Qajar Persia, Kazakh Khanate, Hawaiian Kingdom, Maori Confederation, Aboriginal Australia — each spawned at a historically proportional world position with a settlement and 3 tribal warriors
- Feature: Tribal nation diplomacy — tribes start neutral (not at war); discover them by sight; open Kingdoms panel to Send Envoy (costs 20g, establishes peace) or Declare War; tribes defend their settlement but never expand; shown in a dedicated "Tribal Nations" section in the Kingdoms panel
- Feature: New
tribal_warriorunit (5 ATK, 10 HP, 4 moves) used by all tribal peoples - Feature: Barbarians still spawn independently from tribes as before
- Feature: 7 additional playable nations — Ottoman Empire, United States, Bavaria, Duchy of Nassau, Swiss Confederation, Denmark-Norway, Westphalia; total roster now 21 nations, up to 20 AI opponents
- Feature: All newly founded cities use historically accurate names drawn from each nation's real territory — each nation has a deep pool of 12–24 period-appropriate city names; AI settlers also use historical names; falls back to procedural generation only when all names are exhausted
- Fix: Renamed Britain → Great Britain, Holland → Kingdom of Holland, Italy → Kingdom of Italy
- Feature: 14 preset historical Napoleonic nations replace random kingdoms — Great Britain, Austria, France, Russia, Belgium, Kingdom of Holland, Spain, Sweden, Portugal, Kingdom of Italy, Duchy of Warsaw, Kingdom of Naples, Kingdom of Saxony, Prussia; each with assigned banner colour
- Feature: Nation selection screen — pick which nation to play from an illustrated card grid before starting a campaign; up to 13 AI opponents from the same roster
- Feature: Each nation starts with historically accurate capital and 1–2 secondary cities pre-founded at geographically proportional positions on the map
- Feature: Civilization borders are now rounded — territory edges use quadratic bezier curves at corners where adjacent border edges meet, plus a soft semi-transparent territory colour fill on all owned tiles
- Feature: Tech tree is now a full-screen visual graph — nodes arranged by prereq depth with bezier arrows, section colour-coding, click to research, hover tooltips, ESC to close
- Feature: Lancer unit (8 ATK, 10 HP, 7 moves) — ZOC Pierce hits the primary target for 100% damage and the unit directly behind it for 25%
- Feature: Heavy Cavalry unit (13 ATK, 14 HP, 5 moves) — highest ATK of any cavalry
- Feature: Upgrade path: cavalry → hussar → lancer → heavy cavalry; new techs Lancer Tactics and Heavy Cavalry
- Fix: City ambient SFX volume reduced to near-inaudible background level
- Feature: Tech unlock now plays a 14-second bang sound effect with a 16-beam golden god-ray animation bursting from the banner for the first 4 seconds
- Fix: Black screen flash when issuing a go-to order — unit now animates from its original tile instead of snapping to destination on the first frame
- Fix: Unit invisible/unselectable after go-to — camera now follows the unit each turn it advances along its route
- Fix: Go-to movement cost ignored terrain penalties (forest, mountain, river etc.) — now uses the same cost function as manual moves
- Fix: Camera jolted when cycling to next unit — now pans smoothly instead of snapping
- Lakes and mountains added to map generation; improved rivers
- Bug fixes, balance tweaks, faster season progression
- Napoleonic warfare overhaul: morale, formations, generals, seasons, dynasty system
- Swordsman Charge ability: move and attack in the same turn (disabled in Square formation)