Baník

Dejte vědět komunitě o vašich vytvořených hrách a nechte si je zároveň od lidí ohodnotit.
Odpovědět
Uživatelský avatar
richardos24
Příspěvky: 186
Registrován: červen 14, 2012, 4:51 pm

Baník

Příspěvek od richardos24 » červen 30, 2017, 9:13 pm

Zdravím všetkých Veľkých Chytrákov po neuveriteľne dlhej dobe :) !
Rozhodol som sa vám predstaviť moju hru s názvom Baník. Robil som ju v rámci práce SOČ ešte koncom roka 2016. Jej cieľom je naučiť ľudí základné programovacie princípy a príkazy (chcem ju dostať do viacerých základných škôl ako výukový materiál). Hru som sa snažil spraviť tak, aby bola vhodná pre ľudí, ktorí nikdy neprogramovali, pre začiatočníkov a aj pre pokročilých programátorov.


Hra má 15 levelov, ktoré sú uložené do 3 kategórií - ľahké, stredné a ťažké. Cieľom hry je dostať baníka k otvorenej truhlici. Baník ma obmedzenú energiu (počet krokov / otočení / prepnutí páky) a obmedzenú pamäť (počet príkazov v zdrojovom kóde). K dispozícií sú nasledovné príkazy:

1) urob krok - baník urobí jeden krok v smere otočenia, ak pred ním nie je stena
2) otoč sa doľava / doprava
3) prepni páku - baník prepne páku zo zapnutej na vypnutú (a naopak), ak sa na nejakej nachádza
4) nekonečný cyklus - všetky príkazy, ktoré sú od cyklusu odsadené napravo, sa budú vykonávať donekonečna
5) ak (nie) je páka zapnutá, tak sa vykonajú všetky príkazy, ktoré sú od tejto podmienky odsadené napravo
6) ak (nie) je v nejakom smere od baníka stena, tak sa vykonajú všetky príkazy, ktoré sú od tejto podmienky odsadené napravo

Ovládanie je intuitívne:
ľavé tlačidlo myši - pridanie príkazu
kolečko myši - "listovanie" zdrojového kódu
šípka hore/dore - pozrieť sa v zdrojovom kóde vyššie/nižšie
šípka doľava/doprava - zmena odsadenia príkazu
delete/backspace - odstránenie príkazu
enter - nový riadok

V leveloch sa nachádzajú tieto objekty:
1) steny - cez ne sa nedá prejsť
2) páky - väčšinou (ale nie vždy) vykonávajú nejakú činnosť (odpaľujú bomby, otvárajú/zamkýnajú truhlicu)
3) bomby - po kontakte s nimi baník umrie
4) truhlica - sem sa baník musí dostať (truhlica musí byť otvorená na dokončenie levelu)
5) samotný baník


Všetky inštrukcie sú podrobne napísané v návode, ktorý hra obsahuje. Pri každom leveli je možné pozrieť si nápovedu (ak ich máte zapnuté v nastaveniach).

Ako môžete vidieť, grafika je použitá z predvolených GM obrázkov a NIE je základom hry. To isté platí pre zvuky, hudba zatiaľ v hre nie je. Niektoré bugy nie sú fixnuté (viem o nich), ale cez prázdniny sa budem projektu venovať naplno a odstránim ich.

Hra bola programovaná vyše 2 mesiace. Budem rád za akúkoľvek konštruktívnu kritiku :)
Přílohy
screen3.jpg
ukážka levelu
screen2.jpg
ukážka levelu
screen1.jpg
zoznam levelov
Baník.rar
hra, je ju potrebné rozbaliť
(1.72 MiB) Staženo 91 x

Goblin
Příspěvky: 136
Registrován: červenec 2, 2014, 2:42 pm

Re: Baník

Příspěvek od Goblin » červenec 1, 2017, 7:18 am

Hezké. hrál jsem podobnou, kde jsi ovládal několik robotů a došlo to až do takových šíleností, že z ikonek sestavoval dlouhé předpřipravené kódy. Za boha si nemůžu vzpomenout, jak se to jmenovalo...

No nic. Dohrál jsem to až k poslední úrovni, kde už na to nemám nervy. :) Možná to ještě později zkusím.

Dobrá práce. Chtělo by to vlastní assety. Možná nějaké "roztomilejší" téma, kdyby to mělo být cílené na děti.

Co mi chybí v tvorbě kódu je drag'n'drop nebo alespoň nějaký způsob, jak editovat kód myší. Je to divné, když příkazy máš naklikat, ale všechno ostatní včetně úrovně kódu musíš udělat klávesnicí...
"Understanding is not required. Only obedience."

Uživatelský avatar
richardos24
Příspěvky: 186
Registrován: červen 14, 2012, 4:51 pm

Re: Baník

Příspěvek od richardos24 » červenec 2, 2017, 11:29 am

Áno, vlastné assety by to chcelo. Hru nechcem dávať na prvý stupeň ZŠ, ale až vyšším ročníkom (čiže nechcem niečo ultraroztomilé). Ovládanie kódu myšou opravím, len ešte neviem ako :D.

Ďakujem za kritiku :)

Goblin
Příspěvky: 136
Registrován: červenec 2, 2014, 2:42 pm

Re: Baník

Příspěvek od Goblin » červenec 3, 2017, 7:06 pm

Rádo se stalo. Chceš, abych ti něco naznačil do poradny s tím drag'n'dropem?

A jak to máš vlastně řešené? Budu hádat: přikazy k výběru jsou objekty/tlačítka a "příkazový řádek" je uložený v arrayi a jediný objekt ho celý vykresluje?
"Understanding is not required. Only obedience."

Uživatelský avatar
richardos24
Příspěvky: 186
Registrován: červen 14, 2012, 4:51 pm

Re: Baník

Příspěvek od richardos24 » červenec 3, 2017, 10:15 pm

Ďakujem, zatiaľ mám predstavu, ako by som drag´n´drop vedel naprogramovať :)
Príkazy k výberu sú sprity, nemám pre ne vytvorené objekty. Mám jeden objekt "obj_level", pričom v step evente sa kontroluje, na akom príkaze si (cez mouse_x a mouse_y) a či si ho stlačil. V draw evente sa ikonky príkazov vykresľujú spoločne s message boxom (kde je napísané, na akom príkaze máš momentálne kurzor). Príkazový riadok sú vlastne 3 arraye:
1) V prvom sa pre každý riadok pamätá, aký typ príkazu tam je (reprezentujem to číslami 0 - 14).
2) V druhom sa pre každý riadok pamätá, ako je odsadený.
3) V treťom sa pre každý riadok pamätá, ako maximálne môže byť odsadený tak, aby sa dal kód skompilovať.

Goblin
Příspěvky: 136
Registrován: červenec 2, 2014, 2:42 pm

Re: Baník

Příspěvek od Goblin » červenec 3, 2017, 10:46 pm

Zdá se, že jsi na lepší cestě než jsem si myslel. Já sám bych se na tvém místě ještě nedávno asi topil v instancích. :) Nicméně v tom příkazovém řádku vidím největší prostor pro zlepšení: vhodnější bude určitě to spojit do 2d arraye s tím, že vždycky můžeš snadno přidat další rozměr (jako souřadnice jednotlivých řádků/políček kódu, které pak můžeš ověřovat podobně jako to děláš s příkazy) místo přidávání nových arrayí. Pak už bude ovládání myší hračka. Budu zvědavý, jak se s tím popereš... :D
"Understanding is not required. Only obedience."

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host