On the other shore – indie herní projekt českých vývojářů.
Vážená komunito krevety, dobrý den. Jsem novým, nadšeným uživatelem tohoto výborného diskusního portálu, dovolil jsem si již vyjádřit se zde k jednomu příspěvku a zúčasnit se velmi zajímavé diskuse týkající se vývoje her. Zhlédl jsem zde příspěvky „mazáků“ a tak si myslím, že je fér abych zde i já ukázal něco ze své tvorby, aby si o mě kdokoli mohl udělat obrázek a pokud se mu bude chtít, zhodnotit mé schopnosti.
Rád bych tedy představil mladý projekt On the other shore, dobrodružnou, 2d, a velmi smutnou hru, na které aktuálně pracuji spolu s Vaškem (zde na krevetě nepůsobí). O tomto nápadu jsem se již zmínil v jednom ze svých komentářů, posuďte ho sami.
Čirou shodou okolností jsem na itnetworku objevil „projekt“, se kterým potřeboval jistý Vašek pomoci. Nesl řadové označení ‚jump‘ a jednalo se o vcelku obyčejnou skákačku, která ovšem měla kouzelnou jiskru a potenciál, přímo pryštící z kúry GM8.
Bylo v tom zkrátka kouzlo, unikátnost vytrhující tuto hru z šedivého, či přímo černého podprůměru. Spočívalo v nápadu, mřížce 42×80, rozlišení 900×720 a atmosféře dokreslované nádhernou, smutnou hudbou piána.
Již několik let (pět) se zabývám vývojem her a dovoluji si tedy tvrdit, že mám (byť malou) schopnost rozpoznat nováčkovský odpad od nováčkovské geniality. Mé hry mají vždy jeden hlavní problém, trpí overmanagmentem, přílišnou složitostí na úkor hratelnosti a přemírou mechanik. Tento projekt je ale nádherně čistý, jednoduchý. Zkontaktoval jsem autora a po velmi bolestivém převedení projektu do GMS jsem se jako programátor pustil do práce. Vašek se pustil do level designu a funguje jako kontrolor, který nemilosrdně maže mé občasné ‚výborné nové mechaniky‘. Po jisté době jsme stvořili koncept hry, v základních bodech vypadá takto:
- Žánrem bude skákačka, kladoucí silný důraz na logiku hráče.
- Projekt bude určen pro Windows a Android.
- Grafika bude reprezentovaná co nejjednodušeji, ale efektivně, použity budou shadery.
- Hra bude využívat systém otáčení obrazovky a tím pádem i gravitace. Pro reálnou fyziku bude použit box2D engine.
- Důraz bude kladen na atmosféru, smutný, nostalgický a předem definovaný špatný konec, hráč bude vědět jak to skončí, celou dobu proti tomu však bude moci bojovat.
- Žádné GUI, pouze hráč (respektive stopa kterou za sebou zanechává)
- Vysoká obtížnost, ulehčená více-méně systémem checkpointů.
- Herní doba asi 3 hodiny čistého času, rozděleno do jednotlivých levelů, předpokládáme jich asi 15-20.
- Anglická, česká a německá lokalizace
Musím Vám říci, že nejsou záruky že projekt dokončíme, mohu Vás ale ujistit, že nevydáme žádnou v.0.0.1 verzi. Projekt nemá rozpočet, jediné co ho drží pohromadě je naše chuť ho dělat. Sám jsem prováděl široký výzkum o procentu dokončených GM(S) projektů (kvalitnějších titulů), pohybuje se mezi 5-10%. Pokud, tak hra bude nekomerční, bez reklam a podobného neřádstva. Neděláme na hře dlouho (ca.měsíc), ale cílíme na vydání do půl roku, víme že dělat ho déle je nesmyslné. Na Gitu je údaj že já jsem v projektu sepsal skoro 15 000 řádek, kolega 3 000. Nechceme Vám, váženým čtenářům přidělávat zbytečné starosti, ale pokud chcete, oceníme Vaše vyjádření, kritiku či nápady.
Děkuji Vám za přečtení tohoto článku, pokud jste ho dočetli až dokonce máte můj obdiv, že jste to dokázali. Má stylistika je na bodu mrazu a tak se to asi nečte nejlépe. Na závěr přikládám fotky ze hry, a přeji Vám hodně zdaru do Vašich projektů.
Váš LordOfFlies 🙂
12 odezev
Vypadá to moc zajímavě, líbí se mi ten styl. Jenom mi prozraď: grafika na screenshotech je jen pracovní, nebo bude v tomto duchu i ve finále? Protože jakožto hráč na telefonu musím říct, že na sluníčku by v tomto nebylo absolutně vůbec nic vidět. 😀
Ahoj,
díky za komentář, grafika opravdu bude vypadat takto, jednoduchý, strohý design. No na sluníčku by sis musel hoodně zvýšit jas obrazovky, aby se to dalo hrát.
Ať se ti daří ve tvých projektech 🙂
Asi bych to potřeboval vidět v pohybu.
Nevím jak přesně funguje prostředí, ale určitě bych jej řešil buď plně anebo formou ploch – čili jen okrajů. Poskládání s kostiček není moc pěkné.
Je fajn, vidět tu nového člověka, který něco tvoří. 😉
PS: Já se zabývám tvorbou her už více než deset let a psal jsem na tohle téma i Bakalářku ale takovéhle sebe hodnocení bych si asi nedával. 😀
PS2: Ale líbí se mi schopnost kritizovat vlastní tvorby.
Ahoj,
musí být opravdu těžké představit si to jen podle nedostatečného popisu, ale třeba to v akci ještě uvidíš 🙂 (naděje umírá poslední). V levelech se prokládají nejrůznější velikosti a transformace kostiček, někde se jedná jen o plochu, jinde o více bloků nad sebou. Naše herní jádro je pro to plně optimalizované a i na starších strojích fps dosahuje hodnot 150-200.
To co jsem psal k nováčkům bylo míněno tak, že jsem (doufám) schopen rozpoznat projekt s potenciálem, nikoliv že odhadnu kvality autora samotného, či kam to dotáhne (to bych si tvrdit netroufl). Samozřejmě Tě uznávám jako zkušenějšího vývojáře a je čest, že ses k mému příspěvku vyjádřil.
Hodně úspěchů jak do pracovního, tak do osobního života.
PS: jestli chceš můžeš se pokusit zodpovědět následující otázku:
Ve hře slouží jako výchozí stavební kámen blok o rozměrech 42×80 (nepodstatné), protože je každé instanci nastavováno její výchozí natočení, rozměry a GMS při velkém rozdílu výchozího a výsledného x&y_scale má tendenci nastavit „tlusté“ stěny, jak je docíleno efektu adekvátně natočeného obdélníku? Kód vypadá následovně:
– transformace
-shadery
draw_rectangle(bla,bla,bla)
– vynulování hodnot
Dokážeš odhadnout jak je dosáhnut efekt natočení čtverce?
V jiném znění by se zadání znělo: v GM(S) vykresluj čtverec pomocí draw_rectangle, dosáhni jeho natočení. Řešením nejsou dva primitive trojúhelníky. Tak schválně jestli na to přijdeš, neměl by to pro tebe být problém. 😉
Hehe, pro mně je problém spousta věcí.
Už se ani neoznačuji jako programátor.
Což tedy neznamená, že bych nematlal písmenka dohromady a občas mi za to – světu divse – i někdo platí. Ale profesně jdu trochu jinam.
Takže mě s přemýšlení nad otáčením čtverce akorát bolí hlava. 🙂
No, nenechám otázku nezodpovězenou, k natáčení používám d3d funkce, jistě si říkáš proč aplikuji 3d na 2d objekty? Odpověď je jednoduchá: kvůli vestavěným transformacím, jen je nutno uvědomit si změnu souřadnicového systému.
Řešení:
draw_set_colour(c_dkgray)
d3d_transform_set_rotation_z(image_angle)
d3d_transform_add_translation(x,y,0)
draw_rectangle(0,0,(80*image_xscale),(48*image_yscale),1) //+(80*image_xscale)
draw_set_color(c_black)
draw_rectangle(2,2,(80*image_xscale)-2,(48*image_yscale)-2,0) //+(80*image_xscale)
d3d_transform_set_identity()
draw_set_colour(c_white)
Toť vše, mimochodem pěkný článek o larpu na krvavých pláních, sám jsem obdivovatelem dřeváren. 🙂
A proč ne draw_rectangle do surface a pak draw_surface_ext?
Taky jde mít obdélníkový path a path_rotate.
Nakonec jde předpočítat rohy už otočené a 4x draw_line.
PS: 80+((80*image_xscale)-80) == 80*image_xscale
Tak takhle přesně bych to udělal v OpenGL, kde to ani jinak nejde. 😀 Upřímně mě překvapuje, že GM dokáže takhle využívat klasický maticový přístup ne své lehce primitivní funkce draw_whatever 😀
Jinak Tombene, tvůj způsob je z principu výýýznamně náročnější v jakémkoliv prostředí, nejen GM. 😀 Kouzlo maticových transformací je efektivní využití hw schopností grafické karty, zatímco vytváření a otáčení bitmap zrovna efektivní neni. Draw line by bylo lepší, ale matice jsou prostě best. 😀
Tyto řešení jsou zbytečně složité, uvědom si, že řešení co nabízíš nejsou, co se optimalizace týče, nejlepší.
PS: detail opraven.
Složité určitě nejsou. Co se týče optimalizace, tak to je věc tvojí hry a o té toho vím akorát screenshot. Já jen, že ses ptal Firejse, který s tvojí hrou nemá taky nic, takže jsou všechna funkční řešení platná, ne? 😀
To je určitě pravda 🙂
Platné řešení to je.
Hra působí zajímavě. Je to skutečně minimalistický proud herního vývoje, který mě vždycky zaujme. Dneska už je trochu slabší, ale to vůbec nevadí. Stále to má svoje kouzlo.
Jestli máš ukázku, určitě se neboj ji sem pak třeba přidat v nějakém dalším příspěvku. Myslím, že by to prozradilo o něco více. Takhle je obraz hratelnosti dost neostrý. Hra z obrázků v zásadě ani nevypadá jako skákačka a přesná funkce gravitace také není úplně jasná. Navíc jsou na obrázku vidět nějaké tečky, které hráč sbírá: co představují? Za jakým účelem jsou do hry umístěny? Čeho se (alespoň rámcově) bude příběh týkat? Nebude případné lidské téma v ostrém kontrastu s grafikou? Budeš to nějak řešit?
Ještě jsem si na několika obrázcích všiml, že (asi) postava, vypadá skutečně trochu jako postava: http://kreveta.net/wp-content/uploads/s8.jpg Je to schválně a opravdu to tak funguje (třeba když se postavička nehýbe), nebo je to jen náhodně vyfocené?
EDIT: Myslím, že čáry bloků by byly hezčí, kdyby byly alespoň dvoupixelové.