Giter VIP home page Giter VIP logo

tode's People

Watchers

 avatar

Forkers

nkast

tode's Issues

Možnost zrychlení hry

Kromě pauznutí hry by bylo užitečné mít možnost ji naopak zrychlit (aby vojáci běželi rychleji, střílny zrychlily dobíjení, rakety let apod.).
Prvotní nápad je násobit čas uplynulý mezi dvěma updaty (elapsed time) třeba dvěma a pauzy mezi vlnami závislé na celkovém čase naopak zkracovat.
Otázkou ale je, jestli by tak rychleji běžící jednotka nedostala méně zásahů, než při klasické rychlosti (to chce prověřit). Nejasný je také způsob zapnutí a vypnutí této rychlosti (mohlo by jich být i více, 1.5x, 2x, 3x...). Možná dvojklikem na pauzu, nebo nad ní zobrazit nějakou širší nabídku?

Nastavení

Do základního menu přidat tlačítko pro nastavení, které povede na samostatnou stránku s formulářem pro úpravu předvoleb hry. Nastavení by se mělo ukládat pro příště a mělo by obsahovat alespoň tyto prvky:

  • Vypnutí zvuků (popř. hudby až bude #7)
  • Nastavení hlasitosti zvuků a hudby
  • Výběr jazyka až bude lokalizace
  • ...

Splash Screen

Vytvořit lepší Splash Screen (bez popisků od autora obrázku, ale naopak s názvem hry apod.) a ten přidat jak na UWP, tak na Android.

Více zvukových efektů

Zvuky pro

  • umístění věže
  • zboření věže
  • upgrade věže
  • zboření překážky
  • smrt nepřítele
  • dosažení cíle nepřítelem
  • ...

Hudba

Hudba hrající na pozadí jednotlivých levelů. Společná, náhodná, určená pro danou mapu...
Možnost ji vypnout či nastavit její hlasitost.

Doporučené free zdroje:

Opakované spouštění herní části bez nutnosti vypínat celou aplikaci

Monogame je primárně řešena tak, že hned po spuštění přebere řízení celé aplikace a s vypnutím hry ukončí i ji. Spouštění herní části až později, je sice možné, ale vypnutí hry, aby aplikace zůstala běžet, už je trochu komplikovanější, ovšem její opětovné druhé a další spuštění v rámci jednoho běhu aplikace přináší řadu problémů. Např. některý obsah se nedaří opětovně načíst (v UWP textury, na Androidu pro změnu zvuky).
Místo úplného vypínání a uvolňování hry z paměti je tu také možnost si její instanci uložit a opětovně používat, což ale také není úplně typický scénář použití Monogame.
Je tedy třeba nějak tuto situaci vyřešit, aby se hra dala z aplikační části spouštět opakovaně.

Možnost větších levelů a jejich posouvání a zoomování dotyky,

Mapu levelu nelze vytvořit s takovými rozměry, aby vždy přesně pokryla všechny typy zařízení, na kterých může být hra spuštěna. Bylo by tedy vhodné, aby se plocha zařízení mohla využít tím, že mapu bude možné libovolně zvětšovat či zmenšovat dotykovým gestem Pinch-to-zoom (popř. kolečkem na myši), díky čemuž bude možné vytvářet i rozměrnější levely.
image

Zvětšenou mapu (její výřez, který se aktuálně vejde do obrazovky/okna) by pak mělo být možné posouvat pomocí gesta (myši) drag&drop.
Obě tyto funkce by měly mít nějaké rozumné minimum a maximum (to by nemuselo vést ke zvětšování textur, tj. max měřítko 1), přičemž by např. nemělo být možné mapu "odtáhnout" za hranici zobrazovaného prostoru, aby byla zobrazena pouze černá/prázdná plocha. Zmenšení by pak nemělo jít pod hranici, kdy by obě strany mapy byly menší než obrazovka.

Za tímto účelem bude nezbytné osamostatnit ovládací panel, který by měl být roztažen přes celou šířku obrazovky a tomuto zoomování + posouvání nepodléhat. Musí se též vždy nacházet nad mapou a být započten (odečten) do minima pro měřítko a posun (aby spodní řada mapy nezůstávala pod ním).

Další typy věží

Přidat podporu pro alespoň ještě jeden typ věže. Textura tam pro ni je, ale mohlo by jich být i víc.
image image

Vymyslet její efekt (elektrické blesky, laser, sonický efekt, dočasné zamrznutí/zpomalení...).
Bude-li věží více, možná si to vyžádá přeuspořádání panelu, aby se tam všechny vešly.

Roadmap

Roadmap

  • Projekt s NuGety (bez šablony) s VS kompilovaným obsahem
  • Vykreslování mapy
  • Průchod nepřátel po automaticky vypočtené cestě
  • Nabídka a umísťování věží
  • Otáčení a střelba věží
  • Načítání parametrů levelů a vln ze souboru
  • Tankové jednotky
  • Zvuky
  • Pauza
  • Prohra (GameOver)
  • Načtení 2 a dalších levlů (výhra)
  • Přepínání textur u levelů
  • Další typy jednotek
  • Upravit texturu, aby každá dlaždice měla okolo sebe z každé strany 1px navíc
  • Postupně zpřístupňované věže (počty) / ekonomika
  • Ukazatel zdraví nepřátel
  • Zdraví nepřátel se pomalu obnovuje
  • Při prohře opakovat kolo, ne celou hru
  • Transpozice mapy při překlopení displeje
  • Lepší ovládací prvek pro panel nabídky
  • Možnost zbořit věž
  • Překážky na ploše (+ možnost je za $ odstranit)
  • Možnost upgrade věží, možnost definovat i parametry raket
  • Možnost nějak zobrazit dosah věží
  • Editor levelů
  • Možnost kola a jejich sady sdílet
  • Ukládat nastavení editoru do Preferences
  • Možnost v XML levelu definovat úplně vše (včetně všech vlastností věží ve všech levelech, i dostupnost jednotlivých typů)
  • V ovládacím panelu nabízet pouze ty věže, na které level podporuje
  • Pozadí u panelu s nabídkou (aby jednotky nejezdily za něj)
  • Výchozí novou mapu pro editaci nevytvářet v kódu, ale kopírovat ze souboru
  • #4
  • #1
  • #3
  • #8
  • #9
  • #11
  • #12
  • Neproporcionální font pro editaci XML levelů i na Androidu
  • Store (milestone 1)
  • #5
  • #6
  • #7
  • #13
  • #14
  • Menu s dalšími možnostmi (např. restart levelu, konec hry, hlasitost...) spustitelné během hry
  • Mapa (přehled) levelů kampaně
  • Letadlo pouští parašutisty v půlce cesty
  • Protiútok jednotek (tanky střílí na věže, nálety...)
  • Zvyšovat max. dostupný level věží nákupy mimo levely za ušetřené a vyhrané $
  • Ozdobné okraje cesty
  • Grafický editor levelů
  • Cloudové počítání top skóre za daný level/sadu
  • Lokalizace do EN
  • Hromadný export levelů z úložiště (jako třeba záloha, třeba do ZIP souboru)
  • Podpora ovládání přes Xbox ovladač

Import XML souborů s mapami do úložiště aplikace

Vytvořené XML soubory s levely (mapami) lze sdílet, ale zatím je nelze dostat do aplikačního úložiště, a tedy i mít možnost si je zahrát, jinak, než překopírovat textový obsah souboru do schránky a v aplikaci si jej vložit do nového souboru. Bylo by tedy vhodné, aby tyto soubory šlo přidávat nějak jednodušeji a uživatelsky přívětivější cestou.
Ideální by asi bylo soubory propojit s aplikací, aby při se pokusu o jejich otevření nabídla aplikace ToDe, která by se o import postarala. Za tímto účelem bude asi nejvhodnější souborům vymyslet originální koncovku (místo ".XML" třeba ".ToDe"), se kterou by se dala aplikace propojit jak na Androidu, tak na Windows a tuto funkcionalitu aplikaci nastavit a doprogramovat.

Jiná textura exploze

Stávající textura (sprite animace) exploze je k dispozici na různých serverech s různými úrovněmi licence. Bude tedy jistější ji, před přidáním hry na store, vyměnit za nějakou nezpochybnitelně free i pro případné komerční účely. Nemusela by však být "méně hezčí".

Věže se dvěma střílnami

Textury tam na to jsou, definice úrovní věží toto nastavení podporují, tak "jen" přidat implementaci, aby od určité úrovně mohly věže mít střílny dvě.

image image image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.