Návrh videoher v Excelu

  • Excel umožňuje vytvářet prototypy kompletních her kombinací vzorců, formátů a VBA.
  • Technické klíče: OnKey, Herní smyčka, ScreenUpdating a Minimal Typing.
  • Reálné příklady: Tetris, Sudoku, Snake, Mondrian, Game of Life a další.
  • Testování a ladění pomocí semen, protokolů a malých funkcí zlepšuje kvalitu.

herní design v Excelu

Pokud rádi experimentujete s tabulkami, bude vás zajímat toto: návrh videoher v Excelu. Je neuvěřitelné, čeho všeho můžete dosáhnout s buňkami, podmíněným formátováním a hrstkou maker. V tomto článku vám ukážeme, jak na to.

Jak je to možné? Jaké triky s Excelem potřebujete znát, abyste tento proces úspěšně dokončili? Tento článek vám poskytne odpovědi, včetně... reálné příklady her vytvořených v Excelu a akční plán, který musíte dodržovat, abyste se dostali od nápadu k prototypu.

Proč vytvářet videohry v Excelu?

Vývoj her v Excelu tu byl vždycky; pro mnoho lidí to začalo jako osobní výzva nebo dokonce profesionální úsilí: „Zvládnu to s tabulkou?“ Postupem času se tato obava stala jejich vizitkou: Pokud umíte v Excelu vytvořit hru, umíte modelovat procesy, optimalizovat reporty a zvládnout automatizaci..

Každý, kdo vidí složitou hru běžící v excelovém sešitu, okamžitě pochopí technickou úroveň jejího tvůrce: kreativní vzorce, inteligentní datové struktury, události a dobře zorganizovaná makra. Stejné dílky, které v Excelu hýbou Tetrisem nebo Hledáním min, pak zrychlují firemní dashboardy a šablony..

Navíc mnoho utilit vytvořených pro jednu hru (kolizní enginy, generování úrovní, zpracování vstupů, vykreslování tvarů) je znovu použito v jiných projektech. Tento „knihovní“ efekt maker a funkcí nakonec šetří hodiny a zvyšuje kvalitu vývoje v Excelu..

Excel Web

Jaké hry byly vytvořeny v Excelu?

Seznam je dlouhý a rozmanitý, od ikonických hádanek až po matematické simulace. Tyto reálné reference demonstrují potenciál Excelu jako platformy pro tvorbu prototypů a učení..

Tetris

Tetris je klasika, která formovala několik generací, s kuriózní historií: o jeho uvedení na trh se sváděl boj mezi společnostmi Atari a Nintendo a nakonec ho distribuční společnost Nintendo s Henkem Rogersem v pozadí katapultovala k úspěchu díky jeho příchodu na Game Boy. V Excelu byly replikovány varianty, jako například ta založená na hře Flash Point od SEGA, ceněné pro svou precizní hratelnost..

Dokonce byly vydány i různé edice stejného projektu (například původní verze z roku 2005 a věrnější replika vydaná v roce 2018). Kromě historického odkazu je programování Tetrisu v Excelu perfektním cvičením pro zvládání rotací figurek, detekce plných řádků a načasování..

Sudoku

Excel je ideální pro logické hry jako Sudoku: mřížky, validace, kontroly a v případě potřeby i asistenti, kteří hráči pomáhají. Některé verze umožňují označovat kandidáty, mazat pokusy, vyžadovat nápovědy a dokonce i automaticky řešit hrací desku. Technický trik spočívá v kombinaci funkcí vyhledávání, počítání a pravidla, aby se zajistily platné nástěnky..

Had

Hratelnost je jednoduchá a návyková: pohybujte se po vymezené herní ploše, sbírejte „potravu“, rostete a vyhýbejte se srážkám se zdmi nebo vlastním ocasem. V Excelu se hlava hada ovládá šipkami a zbytek těla se s každým taktem hry pohybuje o jednu buňku. Tato kniha vás naučí, jak efektivně zvládat kolize, fronty a obnovování obrazovky..

Pocta Pietu Mondrianovi

Zajímavý a vysoce vizuální projekt: výběr barev a vytváření geometrických kompozic inspirovaných Mondrianem v Excelu. Není to typická „hra“, ale spíše hravý kreativní nástroj. Používá se k procvičování rozhraní s tlačítky, barevnými paletami a kreslení pomocí tvarů a ohraničení buněk..

Tento typ šablony dokazuje, že Excel může být také interaktivním plátnem: vybíráte odstíny, kombinujete obdélníky a experimentujete. Je to také vynikající testovací prostředí pro makra, která manipulují s formáty a vrstvami..

Hra o život

Slavný celulární automat je „hra s nulovým hráčem“: zadáte počáteční stav a systém se vyvíjí bez dalšího zásahu. V Excelu je implementován na teoreticky nekonečné síti, ačkoli v praxi je omezen na rozsah, který navrhneme. Je perfektní pro práci s okolími, podmíněnými pravidly a postupným generováním..

Minolovka

Tento systém, který v roce 1989 vymyslel Robert Donner, má za cíl vyčistit pole bez odpálení min, a to na základě čísel, která ukazují, kolik min se v okolí nachází. Systém byl široce adaptován do Excelu jak amatéry, tak profesionály. Je to skvělý test pro procvičování počítání, rekurzivního šíření a minimalistického uživatelského rozhraní..

Navíc je snadné ztratit pojem o čase: je to návykové. Nejzajímavější technická část se obvykle nachází v motoru, který rozšiřuje prázdné buňky, a v generování nezaujatých min..

Boxxle / Sokoban

Klasická metoda tlačení krabic na místo určení má mnoho názvů, ale její jádro je vždy stejné: tlačit, netáhnout; plánovat; neblokovat cesty. V Excelu je ideální pro procvičování map, detekce překážek a platné kontroly pohybu..

The Hangman

Pravidla se liší: někteří kreslí šibenici od nuly, zatímco jiní doplňují části, když se jim nedaří. V Excelu můžete kromě správy slovníku slov a pokusů animovat kresbu pomocí tvarů nebo znaků. Programátoři a nadšenci často upravují logiku a prezentaci, aby byla atraktivnější..

TEtris

Jak vytvořit hru jako tu ve videu: Praktický postup

Představte si, že chcete replikovat minihru jako tu v krátkém videu na YouTube: mřížka buněk, pohyblivé figurky, logika kolizí a bodování. Navrhuji přehledný pracovní postup, který funguje jak pro malé prototypy, tak pro ambicióznější tituly v Excelu..

  1. Návrh palubní desky. Definujte rozsah, který bude fungovat jako „svět“ hry (např. B3:AE32). Přiřaďte barvy pozadí, ohraničení a v případě potřeby použijte podmíněné formátování k zvýraznění stavů (jídlo, nebezpečí, cíl). Pojmenování rozsahů (Vzorce > Správce názvů) vám ušetří záhadné odkazy.
  2. Zastoupení státuRozhodněte se, jak budete hru ukládat: do buněk s kódy (0 prázdných, 1 zeď, 2 hráči atd.) nebo do pole v paměti (VBA), které pak vybarvíte na list. Pro rychlé hry postačí vybarvení buněk; pro plynulé animace použijte tvary a aktualizujte pouze to podstatné.
  3. Vstup uživatelePoužijte Application.OnKey ve VBA k zachycení kláves se šipkami, mezerníku nebo jiných kláves. Vyhněte se čtení stisků kláves ve Worksheet_Change, protože klávesnice nespouští změny buněk. OnKey vám poskytuje okamžitou a plynulou kontrolu nad pohyby.
  4. Herní smyčka. Vytvořte smyčku řízenou globálním příznakem (Running = True), která v pravidelných intervalech aktualizuje stav. Tempo regulujte pomocí Application.Wait nebo odlehčeného časovače a DoEvents, aby rozhraní reagovalo. Toto „ticknutí“ je srdcem hry: počítá, detekuje kolize a vykresluje.
  5. Kolize a pravidla. V závislosti na typu hry se kontrola kolizí provádí u zdí, front, objektů nebo limitů rozsahu. V Tetrisu přidáte rotaci a validaci mezer; ve hře Snake postup ve frontě a náhodné jídlo; v Minesweeperu počty v okolí. Je dobré tuto logiku zapouzdřit do malých, testovatelných funkcí.
  6. VykresleníMinimalizujte blikání: Zakažte aktualizaci obrazovky během ticku (Application.ScreenUpdating = False) a na konci ji znovu povolte. Zobrazujte pouze změny. Obnovení menšího počtu buněk = více FPS a lepší zážitek.
  7. Skóre a stav hryUložte si skóre, úroveň, životy a nejvyšší skóre do vyhrazených buněk nebo do modulu. Přidejte tlačítka „Restartovat“ a „Pozastavit/Pokračovat“. Viditelné ovládací prvky podporují testování a usnadňují ladění.
  8. TestyVytvořte testovací scénáře: malé úrovně, limitní pozice, fixní počáteční hodnoty pro náhodnost a „pomalý“ režim pro zobrazení chyb. Zaznamenávejte události (kolize, spawny) do protokolu pro analýzu neobvyklého chování.

Užitečné vzorce a techniky pro videohry v Excelu

Kromě VBA dokáží funkce vyřešit spoustu problémů s enginem. Zde je několik praktických vzorců a zdrojů pro začlenění logiky do tabulky..

– Řízená náhodnost: RANDBETWEEN a RAND pro umisťování jídla nebo dolů, v kombinaci s manuálním zadáváním, pokud chcete reprodukovatelnost. Použijte „počáteční“ buňku a odkazujte na výpočet pro opakování scénářů..

– Indexování buněk: INDEX pro čtení hodnot mřížky a OFFSET nebo CHOOSE pro výpočet sousedních buněk nebo jednoduchých rotací. Pomocí funkce MATCH můžete vyhledat souřadnice klíčových prvků.

– Počítání a validace: COUNTIF/COUNTIFS pro počítání okolních min, kusů v řadě nebo kolizí; SUMPRODUCT pro složitější vzory ve dvourozměrných rozsazích. V kombinaci s dynamickými maticemi umožňují tvorbu expresivních pravidel.

– Podmíněná logika: IF, IFS, SWITCH a LET pro jasné struktury; s LAMBDA (Microsoft 365) je možné zapouzdřit chování (např. „Sousední objekty(x,y)“) bez VBA. NAME + LAMBDA vytvoří vaši vlastní knihovnu funkcí.

– Podmíněné formátování: Automatické barevné úpravy stavů na základě hodnot nebo vzorců; vyhněte se makrům pro každou vizuální změnu. Použijte jej k zvýraznění kolizí, cílů nebo aktivních částí.

– Ověření dat: Omezuje vstup uživatele (např. v Hangman pouze písmena bez diakritiky). To snižuje chyby a usnadňuje UX..

Pokud se rozhodnete pro VBA, minimální kostra pro cyklování a zpracování stisků kláves by mohla vypadat takto (zjednodušeně a bez závislostí): Tento vzor odděluje vstup, aktualizaci a kreslení, aby se projekt lépe škáloval..

' Módulo de juego (ejemplo simplificado)
Option Explicit
Public Running As Boolean, DirX As Long, DirY As Long

Sub StartGame()
    Running = True
    DirX = 1: DirY = 0 ' movimiento inicial hacia la derecha
    Application.OnKey "{UP}", "GoUp"
    Application.OnKey "{DOWN}", "GoDown"
    Application.OnKey "{LEFT}", "GoLeft"
    Application.OnKey "{RIGHT}", "GoRight"
    GameLoop
End Sub

Sub StopGame()
    Running = False
    Application.OnKey "{UP}"
    Application.OnKey "{DOWN}"
    Application.OnKey "{LEFT}"
    Application.OnKey "{RIGHT}"
End Sub

Sub GameLoop()
    Do While Running
        Application.ScreenUpdating = False
        UpdateState
        RenderState
        Application.ScreenUpdating = True
        DoEvents
        Application.Wait Now + TimeSerial(0, 0, 0) + TimeValue("00:00:00.08") ' ~12.5 fps
    Loop
End Sub

Sub GoUp():    DirX = 0: DirY = -1: End Sub
Sub GoDown():  DirX = 0: DirY = 1:  End Sub
Sub GoLeft():  DirX = -1: DirY = 0: End Sub
Sub GoRight(): DirX = 1: DirY = 0:  End Sub

Abyste minimalizovali blikání, vyhněte se mazání a překreslování celé mřížky při každém tiknutí: vypočítejte, které buňky se změnily, a aktualizujte je. Klíčem k výkonu v Excelu je dotknout se co nejméně buněk za cyklus..

Poznámky k ochraně osobních údajů a používání souborů cookie na platformách

Pokud používáte komunity jako Reddit pro inspiraci nebo zpětnou vazbu, mějte na paměti jejich oznámení o ochraně osobních údajů: uvádějí, že používají soubory cookie a podobné technologie k poskytování služeb, zlepšování kvality, personalizaci obsahu a reklam a měření jejich efektivity; nabízejí možnosti přijmout vše, odmítnout nepodstatný obsah nebo upravit preference a odkazují na své oznámení o souborech cookie a zásady ochrany osobních údajů. Je to současný standard: transparentnost, kontrola ze strany uživatele a základní funkčnost zaručená, i když odmítnete i to, co je postradatelné..

Zdroje, soubory ke stažení a jak sdílet svou práci

Existují webové stránky, které publikují své hry v Excelu, abyste si je mohli stáhnout a chvíli si je užít, od Tetrisu po Sudoku, Snake, Mondrian, The Game of Life, Minesweeper, Sokoban/Boxxle nebo Hangman. Tato knihovna příkladů slouží jako inspirace a úložiště opakovaně použitelných technik..

Vydání vlastní knihy s pokyny, ovládacími prvky a uvedením zdroje povzbuzuje komunitu k jejímu testování a vylepšování. Zahrňte stránku „O nás“ s verzemi, změnami a zkratkami. Čím přehlednější bude dokumentace, tím kvalitnější zpětnou vazbu obdržíte..

Při sdílení prosím uveďte cílovou verzi Excelu (365, 2019 atd.) a zda vyžaduje povolení maker. Pokud je to možné, uveďte verzi „pouze vzorce“ a pro co nejlepší uživatelský komfort další verzi s VBA. Tímto způsobem rozšiřujete svůj dosah a snižujete vstupní bariéry..

Vytváření videoher v Excelu není jen kuriozita: je to přenosná laboratoř pro učení datových struktur, událostí, výkonu a UX, to vše v nástroji, který již zvládáte. Od Tetrisu inspirovaného hrou Flash Point od SEGA a její anekdotou s Nintendem a Henkem Rogersem, přes Sudoku s nápovědami, Hada s dynamickými ocasy až po Hledání min od Roberta Donnera, každý příklad vás naučí novou techniku.S dobře definovaným dashboardem, čistou smyčkou a disciplinovaným testováním dosáhnete zábavných prototypů, které také posílí vaši schopnost vytvářet robustní dashboardy a automatizace ve vaší každodenní práci.