Stránky

úterý 4. června 2013

#8 Mix retroher


Všichni máme rádi staré hry pro jejich snadnou uchopitelnou hratelnost. Matěj přišel někdy na přelomu let 2010 a 2011 s nápadem udělat jakýsi mix klasických her. V zásadě by šlo o to, že hráč by hrál například klasického Hada, jako na mobilech od Nokie a požíral by kuličky. Tento had by se vzápětí mohl proměnit v Pac Mana a na obrazovce by se vykreslily zdi a začali by tam jezdit i duchové - pár vteřin by trvalo, než by se had smrsknul na velikost Pacmana, takže z hlediska hráče by šlo o plynulý přechod. Pak by se třeba z Pacmana stala pálka v Arkanoidu a ta kulička, kterou doposud hráč honil, aby ji snědl, by se proměnila v míček s tradiční fyzikou.

Vtip by byl v tom, že některé hry budou pro hráče jednodušší a některé obtížnější - třeba přechod z Space Invaders do Arkanidu bude primitivní (jenom se vymění grafika, z Invaderů se stanou cihličky a místo střel bude mít hráč míček), avšak třeba přechod z Asteroids do Pacmana bude trochu obtížnější (vektorová raketka nesmí nabourat do zdí v Pacmanovi a chvíli to potrvá, než se promění).

Hra bude tedy nabízet několik režimů, při kterých se budou jednotlivé hry měnit dle daných pravidel (v pevně stanovený čas, náhodně, ale také třeba zvláštním tlačítkem na přání hráče dle aktuálních potřeb).



Když mi Matěj nápad nastínil, pokusil jsem se o upřesnění konceptu.V zásadě jsem došel k výběru pěti klasických her (časem se to dá rozšířit, ale pět je dost pro začátek). Sjednotil jsem měřítko - to byl první krok. Celá hrací plocha bude (odhadem) 160x160 pixelů (možná méně - rád bych se dostal na půl cesty k 80x80).

Pacman - hlavní hrdina v mřížce 8x8 pixelů má jenom 7x7 na animační políčko, podobně tak duchové. Logicky tak se ale na obrazovku nemůže vejít celá hra v původní velikosti - záměrně bychom udělali bludiště menší - rychle dohratelné (vysbírat všechny kuličky) s menším počtem duchů (dva nebo i jen jeden).

Space Invaders - hlavní střílna v rozměru 12x8 pixelů, stejně tak nepřátelé. Dole budou krycí základny ve stejném rozměru. Hrací plocha je samozřejmě menší, asi poloviční, zároveň s nižší obtížností, aby to bylo snadné dohrát.

Snake - had o tloušťce 8 pixelů, počáteční délka 24 px. Kuličky k sežrání v mřížce 8x8 - budou stejně jako Pacman velké jen 7x7. Kuliček k sežrání bude pevný počet - 3-4.

Arkanoid - pálka o velikosti 8x24, kulička opět 7x7 v mřížce 8x8, cihly k rozbíjení opět 8x24.

Asteroids
- "vektorová" raketka o rozměru 8x7 pixelu, přilétající meteory by mohly být rovněž vektorové, různé velikosti.


Zatím jsem určil, že herní režimy se mění automaticky, když hráč splní úkol dané hry (v miniverzi) - tedy v Pacmanovi vyžrání všech kuliček, ve Snakovi taky, ve Space Invaders vystřílení všech nepřátel, v Asteroids všech meteorů a v Arkanoidu všech cihel. Podobně tak jsou definované momenty, kdy ztrácíš život - Pacman při doteku s duchem (vzhledem k menší herní ploše bych implementoval jen jednu "tabletku", která umožní duchy požírat), Snake - vražení do zdi nebo do sebe sama atd. Dále bude definované, kolik bodů za co bude.

Druhá úvaha byla, že krom naprogramování miniverzí pěti her bude potřeba vymyslet "přechody" mezi hrami samotnými. Vize je taková, že hraješ 20-30 vteřin miniverzi normální hry a pak se během několika vteřin změní hra na další (nahoře bude ukazatel, jaká další hra přijde na řadu - podobně jako v tetrisu další kostky). Logicky tak ale vyplývá, že těchto pár vteřin proměny musí být hratelných a musí hráče dostatečně připravit na další kolo a logicky tak i připravit pozici. Bohužel - znamená to tedy programovat de facto 20 dalších her (přechod z libovolné hry do další libovolné hry), které musí být po těch pár vteřin hratelné. Jak jsem to vymyslel:

Přechod ze Space Invaders do PacMana - nejprve zmizí nepřátelé, následně se objeví mřížka PacMana - hráč ale stále po vteřinu či dvě ovládá dole pojízdnou střílnu a může několika výstřely do PacManovy mřížky udělat díry / zkratky. Pak se střílna zformuje v PacMana, objeví se kuličky, tabletka a dva duchové...

Přechod z PacMana do Araknoida - nejprve zmizí duchové, následně mřížka, dole se objeví pálka. Hráč může po volné ploše vyjet až nahoru, "nad cihly", které se po pár sekundách obnoví. Z PacMana se stane kulička a hráč začne ovládat pálku.

Přechod Arkanoid - Snake - kulička zamrzne (stane se z ní první cíl hada), pálka se při požírání ve volném prostoru natahuje - přibude spodní stěna (dotek = ztráta života).

Přechod Snake - Arkanoid - kus hada se utrhne (na velikost pálky), hráč s ní musí dojet na rozsvícené místo (dole), jakmile to udělá, tak kusy hada se promění v cihly.

Přechod Snake - Pacman - přední část hada se utrhne a kus těla hada se stane součástí bludiště - mřížka se v zápětí objeví i s duchy (když si hada postaví blbě, tak má hráč smůlu a musí ztratit život = reset hry do normálního režimu).

A tak dále. V podstatě jde o oddělení změny pozadí a ovládaného prvku - hlavního hrdiny.


Pak dojde vymýšlení dalších herních režimů - random změny, změny bez upozornění hráče (klidně před splněním kvóty hry), PacMan jako Snake, Snake jako PacMan atd.

P.S.: Jak jsem napsal na začátku, původní idea je stará několik let. Mezitím jsem objevil nejména dva projekty, které se pokoušejí o velice podobnou věc, i když s jinými hrami.  První je I Dream in Retro, což je jen animace. Pak je tady ale hratelná věc s názvem Super Mario Bros. Crossover, která je taky docela vtipná. Ale aby to byl "logický rychlík", jak si vysnil Matěj, to rozhodně není.