AI v praxi

Jak jsem s AI postavil izometrický Liberec

Za dva dny a 59 dolarů jsem s AI postavil hravou izometrickou mapu celého Liberce. Ne navigaci, ale město, které se umí přepnout do zimy, noci i deště.

Minimalistická izometrická mapa města, kterou staví malý robot

Za dva dny a 59 dolarů jsem s AI postavil izometrický Liberec. Ne navigaci, která vás zachrání cestou na nákup, ale digitální město od Ještědu po Vratislavice: se zimou, nocí, deštěm, světly v oknech a domy na správných místech.

A protože jsem kdysi strávil podezřele mnoho času u SimCity 2000, byl to přesně ten nápad, který člověk nemá rozumně odmítat.

Mapu najdete na izomapa.fun. Jen malé upozornění pro ty, kdo čekají digitální dvojče s každou lavičkou: je to hravá vizualizace města, ne alternativa funkčních Mapy.cz / Google Maps.

Celkový pohled na izometrickou mapu Liberce
Celý Liberec v jedné mapě: od Ještědu po Vratislavice, s lesy, ulicemi a městskými částmi.

Od jednoho paneláku k celému městu

Začalo to docela nevinně. Chtěl jsem si nakreslit svůj dům – Hokejku, nejdelší panelák v Liberci. Pak ulici kolem. Pak Ruprechtice, kde bydlím. Pak centrum. A když už člověk jednou zjistí, že to funguje, začne mít nebezpečné nápady typu „ještě přidám zbytek města“.

Celou republiku dělat nebudu. To už by znamenalo dost času, tokenů, peněz a optimalizací, aby věc běžela plynule. Ale šlo by to, což je přesně ten druh informace, který je zároveň fascinující, ale i strašidelný.

Základ mapy vychází z dat OpenStreetMap: poloha budov, jejich půdorysy, ulice, voda i terén. Domy tedy nejsou rozmístěné od oka. Jejich konkrétní vzhled ale AI dopočítává z dostupných dat. Podle tvaru, výšky a okolí odhaduje, jestli má před sebou panelák, činžák, rodinný dům nebo halu. U významných budov jsem jí dodal fotky z více úhlů, aby nevznikaly hybridy, které nikdo nepozná.

Izometrická mapa části Liberce s panelem Hokejka
Hokejka v Ruprechticích. Projekt začal přesně tady.

Město, které není jen obrázek

New York a Londýn, které mě k nápadu přivedly, jsou krásné obrázky. Já jsem chtěl, aby se v mapě dalo něco dělat. Přepnout roční období, nechat zapadnout slunce, zapnout déšť, mlhu nebo sněžení. Večer se rozsvítí okna a lampy, na podzim a v zimě se kouří z komínů, voda se třpytí a město dostane o něco víc života.

Jde hledat ulice, adresy, budovy i zajímavá místa. Ke každému domu se dá otevřít adresa a odkaz na Mapy.cz. U 37 dominant jsem ručně ladil tvar podle fotek, ke 44 místům jsem přidal krátký příběh. A když někdo zná svůj dům lépe než otevřená data, může nahlásit nepřesnost. Hlášení se sbírají do jednoduché administrace a až se jich sejde dost, upravím data, přerendruji mapu a pustím novou verzi ven.

Zimní varianta izometrické mapy Liberce
Zima není jen bílý filtr. Sníh sedí na střechách, stromům mizí listí a v domech se topí – kouří se z komínů.
Noční varianta izometrické mapy Liberce se svítícími ulicemi
Po setmění se rozsvítí ulice i okna.

Liberec v číslech

Mapa pokrývá 159 km² ve třiceti čtvercích o velikosti zhruba 2,3 × 2,3 kilometru. Je v ní 36 451 budov, 4,36 milionu stromů, 19 948 lamp a 12 495 dlaždic. Všechny čtyři roční období včetně noční varianty mají dohromady asi 3,4 GB. Přesně ten okamžik, kdy pochopíte, že „jen si zkusím nakreslit dům“ nebyl úplně nevinný začátek.

Kde se to vlastně počítalo

Ruprechtice jsem začal generovat v Claude Code v cloudu, ovládaném z mobilu. Cloudový stroj ale neměl grafickou kartu, takže jeden čtverec mapy počítal desítky minut. AI mezitím čekala, kontrolovala a znovu spouštěla rendery. Právě to spolklo většinu kreditů.

Pak jsem projekt přesunul na svůj Mac mini M4. Na jeho grafice se stejný čtverec vyrenderuje zhruba za dvacet sekund a celý Liberec ve všech ročních obdobích a v noci za dvě až tři hodiny. Čisté práce bylo kolem čtrnácti hodin. Zbytek času se renderovalo, zatímco jsem spal nebo pařil Battlefield na PlayStationu. Neříkám, že je to ideální projektový management. :-)

Jak se s AI pracuje doopravdy

Pracoval jsem s Claudem v Claude Code. Nebylo to „napiš mi mapu“ a hotovo. Spíš jako s kolegou, který neusne a neurazí se, když mu pošlete screenshot se slovy: „Kámo, tady seš totálně mimo. Podívej se ještě jednou na radnici a upřímně mi řekni, jestli má fakt šest věží.“

AI stahovala data, psala program pro stavbu města a dlaždic, spouštěla rendery a opravovala chyby podle výsledků. Já rozhodoval, co má vzniknout, dodával fotky a satelitní snímky, psal popisy míst a hlavně kontroloval, jestli to pořád připomíná Liberec. Z dat lze vyčíst polohu, půdorys a občas výšku. To, že věž radnice nevypadá jako radnice, ale pozná spíš člověk z Liberce než souřadnice v tabulce.

Kde to zaskřípalo

Radnici jsme předělávali čtyřikrát, než měla správně tři věže v řadě čelem k náměstí. Na mapě se objevila rokle hluboká sto metrů; problém nebyl v AI, ale ve výškových datech na poledníku 15° východní délky. Kostel sv. Kříže stál v datech jinde než ve skutečnosti, potoky vedly pod domy a malé rybníky se při přiblížení měnily v asfalt. A to byla jen část dalších menších chybiček.

Všechno šlo opravit. Jen bylo potřeba, aby se na výsledek někdo díval očima místního a dokázal popsat, co je špatně i jaké pravidlo má platit příště. AI zvládne chybu opravit během minut. Neřekne vám ale sama, že chyba existuje.

A pak přišel Git. Hotový Liberec má 12 495 obrázků a 3,4 GB dat. Git není CDN pro městské dlaždice; repozitář nabobtnal přes čtyři gigabajty. Proto je mapa nakonec na Cloudflare: obrázky jdou z mého počítače rovnou na jejich síť a hlášení se ukládají do databáze D1.

Co si z toho beru

Ještě před pár lety by podobný projekt znamenal tým na několik měsíců. Já ho zvládl sám za dva dny a cenu několika obědů. AI neudělala všechno, ale odvedla obrovský kus práce, který bych jinak nikdy nedotáhl.

To důležité zůstalo na člověku: vědět, co chce, poznat chybu a dát AI dobré podklady. Kdo zná své město, uvidí na první pohled, že něco nesedí. AI to pak může opravit za pár minut.

Město bych mohl ladit do nekonečna. Jenže se potřebuji věnovat rodině, kočce, práci a skládání PlayStationu z Lega. Takže jsem ho pustil do světa tak, jak je. Pokud mi z toho budou téct miliony měsíčně, budu ho tunit každý den. Do té doby budu rád, když si na izomapa.fun najdete svůj dům, přepnete mapu na zimu nebo noc a případnou chybu mi nahlásíte. A když vás to bude bavit, můžete mi koupit kafe.

← Zpět na blog

Pojďme se pobavit o vašem projektu.

Hovor, e-mail, nebo formulář. Odpovídám rychle a lidsky.

Ozvěte se