Tank Hunt Online

Ostatní Letní soutěž 2018 Tank Hunt Online

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Tým

  • Radek Veverka - programování
  • Vojtěch Veverka - grafika
  • Dominik Plachý - grafika

Popis hry

Tank hunt je 2D multiplayerová akční střílečka s tanky, běží v prohlížeči. Hra je řízena autoritativním serverem. Bitvy probíhají na jednoduchých bludišťových mapách, na výběr jsou 3 herní módy. Příznivce příběhů a originálních nápadů asi zklamu, cílem této hry totiž není procházet kampaň a vyvíjet se, ale porážet soupeře, ať už štěstím nebo skillem.

Poměr stran hry je 16:9, se změnou velikosti okna prohlížeče se hra automaticky škáluje. Je vždy lepší hrát na fullscreen, protože na 16:9 monitorech se tak zbavíte nepříjemných pruhů na bocích.

Tanky mohou mít 4 barvy - modrý je vždy tank hráče, červený je tank protivníka a zelený tank spoluhráče. Ještě existuje barva šedá, to je tank s imunitou vůči střelám (po respawnu). Ovládá se zvlášť pohyb tanku a zvlášť rotace jeho věže, je docela těžké to synchronizovat. Tank má dvě zbraně, každou se svým reloadem a každá se ovládá jinou klávesou. Pak je ještě zbraň třetí - speciální, ta se dá sebrat v podobě power-upů náhodně generovaných na mapě. Tanky mají hpčka a pancíř, který s určitou pravděpodobností kompletně zblokuje střelu. Nejsilnější pancíř je ve předu, slabší na bocích a nejslabší vzadu.

Minimální systémové požadavky jsou rozporuplné. Zjistil jsem, že hra běží mnohem lépe na Windowsech než na Linuxu, můj starý notebook s Linuxem s tím má extrémní problémy. Zaleží rovněž na "náladě" prohlížeče. Může se stát, že pohyb občas nebude úplně nejplynulejší, ovšem nemělo by se stávat nic, co by způsobilo nehratelnost. Pokusím se ještě o nějaké optimalizace.

Herní módy

  • Aréna - Do arény se může hráč kdykoliv připojit a kdykoliv ji opustit. Bojuje se na jedné větší mapě, cílem je zničit co nejvíce tanků v řadě. S každým killem se hráč uzdraví a jeho maximální hpčka se zvýšují, dokud nenarazí na stropní hodnotu. Pokud je hráč zničen, jeho životy se resetují a s tím i počet killů v řadě. Nicméně maximální hodnota zůstává ve statistikách. Kdo je zabit, je téměř okamžitě respawnut. Na dobrou řežbu stačí 4 hráči.
  • Duel - mód pro dva hráče. Cílem je být první kdo vyhraje určitý počet kol. Kola jsou rychlá, střídají se mapy. Pro výhru kola je nutné zničit soupeře a poté pár sekund přežít. Nefunguje zde pancíř, aby to bylo méně o náhodě.
  • Team fight - v této hře hrají 3 proti 3 (možná to bude ještě jinak), každý tým má půlku mapy, na které jsou vygenerované vlajky. Cílem je obsadit všechny vlajky nepřátelského týmu. Kdo umře, tak se po nějaké době respawne.

Z hlediska fičur je hra víceméně dokončená, pokud ale bude čas, tak možná něco přidám. Zbývá udělat zvuky, optimalizace a náročnou debroukaci, tedy stále je to práce na několik dní.

Použité jazyky/techno­logie/framewor­ky:

  • Javascript s nadstavbou Typescript
  • Node.js pro server
  • Phaser.io pro klienta
  • socket.io (server i client side) pro realizaci komunikace přes Websockety
  • HTML, CSS, jQuery

Použitý software

  • VS code
  • Gimp
  • Cinema 4D
  • Substance designer
  • Audacity

Vývoj:

edit 7.7.2018

  • Jednoduchý level editor, parsování levelu
  • Pohyb tanků po mapě, rotace věže, barvy tanků
  • Kolize tanků s itemy, sběr itemů
  • Kolize tanků se zdmi (zatím nedokonalé)
  • Střelba, kolize střel s ostatními hráči
  • Speciální zbraň - Čárový laser
  • Speciální zbraň - Plošný laser
  • Herní mód Aréna - jedna mapa, respawny, na tomto módu vyvíjím základní mechaniky hry

edit 4.8.2018

  • Přidána speciální zbraň - Střepinový granát
  • Přidána speciální zbraň - Mina
  • Přidána speciální zbraň - Kulomet
  • Implementováno odrážení některých střel od zdí
  • Přidána speciální zbraň - odrážecí laser
  • Přidán power-up - neviditelnost
  • Přidány hpčka tankům
  • Přidány první efekty - exploze tanku, kouř z výfuku při jízdě, točení pásů

edit 18.8.2018

  • Přidán efekt výstřelu z děla
  • Přidány první zvuky, zatím pouze testovací, jestli vůbec funguje zvuk :D
  • Implementován pancíř - existuje pravděpodobnost že zblokuje střelu a hráč nedostane damage. Nejsilnější je ve předu, vyplatí se tedy střílet hlavně do boku a do zad. Nepočítá se s úhly, pouze se stranami. Lasery a mina pancíř ignorují.
  • Přidány textury pozadí a zdí
  • Přidáno UI pro arénu - hráč nyní konečně vidí jméno, health bar u tanku, dále jsou přidány různé notifikace (při killu, smrti, schytaném dmg) a logy, které vypisují kdo koho zabil, kdo se zrovna připojil nebo odpojil. Zároveň je zobrazen žebříček prvních pěti, jejich killy, smrti atd.
  • Byly opraven bug kolizního systému, kdy tank mohl vyjet z mapy a nemohl se vrátit, nyní je to sice stále nedokonalé, ale aspoň v hratelné fázi.
  • Byla opravena hromada dalších bugů.
  • Začíná práce na herním módu "Duel", na menu a na shánění zvuků.

edit 3.9.2018

  • Přidány ingame statistiky
  • Přidán herní mód Duel
  • Přidáno menu
  • Přidán chat do menu i do hry
  • Vytvořen loading screen
  • Vytvořen informační panel
  • Přidán herní mód "Team fight"

Galerie

Hra byla vytvořena v roce 2018.

 

 

Hru pro vás napsal Radek Veverka
Avatar
Jak se ti líbí článek?
1 hlasů
Jsem student v prvním ročníku na VUT FIT. Nejraději mám Typescript a C#.
Miniatura
Všechny články v sekci
ITnetwork summer 2018
Aktivity (10)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!