Funny Physics
Zkuste si tuhle hru – nehru, kterou jsem právě publikoval na svém blogu: Funny Physics. Vzniklo to vlastně skoro náhodou při pokusech s takzvanými soft-body particles v Game Maker Language. Protože jsem potřeboval nějakou vizuální odezvu psaného kódu, vytvořil jsem si pomalu a jistě základ této hříčky. A ono to bylo tak zábavné, že jsem si to prostě nemohl nechat v šuplíku.
7 odezev
Vidím v tom pekný základ pre malú logickú hru. Ikeď na trhu by sme podobných hier našli pomerne dosť :/
Připomnělo mi to krásnou hru H2O https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcS8nnjJoVoGvO_P6j34kYNg0Ldq02fNuE1fp4yqutJWzj9tTmpH Hráč měl za úkol dovést vodu od přívodních trubek k odtoku. Měl k tomu různé nástroje: bombu, aby udělal díru; tvorbu stěny; schody. Bylo to dost zábavné.
Chápu, že tohle má být hlavně fysikální simulace, takže srovnávat to se hrou je nepřípadné, ale už samo o sobě to v podstatě nabízí velké možnosti využití, což je super, a proto to zmiňuji.
Jediné, co mi nesedělo, byla stojatá neohraničená voda (voda na rovné ploše po chvíli nikam neodtéká – což asi není chyba, ale v daném zobrazení se zdá, že by ještě odtékat měla).
Moc nevím, co si o přímé integraci Box2D enginu myslet. Z logiky věci se mi nelíbí, minimální konfigurace, absence možnosti upravovat třídy…
.
Pár konstant a dvacet řádků kódů jsou pak schopné stvořit něco takovéhohle. Jsem rád, že jsem se už přesunul k tvorbě vlastního utopického enginu na XNA. Bez těžké práce se z výsledku nedokáži radovat.
Nedokážeš se radovat bez těžké práce? Není to tak trochu tvoje chyba? Ačkoliv tě znám a jsi šikula, přijde mi, že tvořit vlastní „utopický engine“, když jsi na střední a teprve se rozkoukáváš (co dělají na ČVUTu, je úplně jiná liga) a když jsem tě neviděl nic pořádně dokončit, je spíš nesmysl. Třeba se však pletu. Každopádně tedy držím palce. 🙂
Do budoucna pak doporučuji neklást na práce větší nároky než je přiměřené cíli. Život pak bude hezčí, příjemnější a třeba i plný výsledků.
Výsledeky bez adekvátní práce? Nevím, ale když ani nevíš jak se převedou záhadné konstanty a funkce, které udělají takové skvělé efekty mi přijde poněkud zvláštní. GM mě držel dlouho (pět let) a pořád v něm mám dvě rozdělané věci, které chci dokončit. Nicméně jsem si postupem času uvědomil, že cesta cizích enginů není pro mě. Výhodou mého věku je, že mám čas experimentovat, pokud věc nedokončím nic se neděje – poučím se a můžu jít dál. „Utopický engine“ proto, že ho stavím tak, jak by podle mě měl engine vypadat (a od představy běžného koncového uživatele se se asi dost liší), nikoliv kvůli tomu že by byl dokonalý. K tomu má tak daleko, že číselné vyjádření vrací stackoverflow. Někde člověk začít musí, někdo na ČVUT, jiný se rozkoukává už na střední. Když je všude kolem tolik poznání, kdo by dokázal jen sedět a nic nedělat?
LordOfFlies: Ne vždycky potřebuješ vědět, jak to všechno funguje. Když si chceš jenom udělat malou hru, není to třeba. Tolik k úvodu. 🙂 Jinak mě nechápej špatně. Nepochybuji, že se časem něco naučíš, že najdeš práci v oboru, třeba i velmi slušnou, a něco budeš dělat. Pravděpodobně navíc také půjdeš někam na vysokou a uvidíš, že lidí jako ty (co se rozkoukávali na střední), je tam plný ročník.
Otázkou zůstává, co chceš vlastně dělat. Jestli chceš spíš dělat své hry. Jestli chceš spíš v budoucnu jen někomu něco programovat a nemít příliš veliký podíl na obsahu díla atd. Jsou to různé cesty a pro každou se hodí jiné první kroky.
Hlavně bych byl zkrátka nerad, abys s velkýma očima po letech zkoušení, experimentování a programování nedopadl jako mnoho dalších: bez vysokoškolského vzdělání v oboru, za to ale s enginem, o který nikdo nejeví zájem, s uvědoměním, že už nemáš další čas dělat věci zadarmo a že ve svém enginu nikdy nic neuděláš, protože půjdeš pracovat do firmy, kde jim bude tvůj engine úplně ukradený. Jako třeba tady klučina (ačkoliv tedy nevím, jak dopadl): https://www.indiegogo.com/projects/after-us#/story Vždycky měl zhruba stejné příspěvky jako ty, ale (pamatuji si to tak) nikdo ho neměl nějak extra rád, protože u všeho jen nerelevantně mlel o programování v jiném jazyku a o vzdušných zámcích, a pak mu taky nikdo nechtěl nijak zásadně pomoct. Navíc ho nikdo neznal, takže neměl ani žádnou mediální podporu.
Různé cesty vyžadují různé kroky. Úspěch přes noc, protože uděláš něco „hustýho“, je spíš bláznivým snem. Každý den se ráno probouzí sta tisíce lidí, kteří dělají nějakou neuvěřitelně hustou a vymakanou věc. O většině z nich nikdo nikdy neuslyší.
Takzvaný Americký sen o tom, že stačí zatnout zuby a pořádně zamakat, je jenom půlka pravdy. Prohledej internet, najdeš víc lidí, kteří to zkusili, přes obří snahu jim to nevyšlo, snaha je jen sociálně isolovala, jsou psychicky na dně a nemají nic…
Ale jak říkám, hrozně moc bych ti přál úspěch. Jenom to není tak růžové, jak to na první, druhý, a dokonce ani třetí pohled vypadá.
Nicméně jsme poněkud mimo téma a stejně si musíš svět nejdřív sám osahat, takže to možná nemá smysl dál nějak zásadně rozvíjet.
Lofovy životní handicapy jsou jeho věc a jeho budoucnost už teprve. Už jsem si skoro zvykl, že v každém komentáři mluví hlavně o sobě. Jen bych rád zdůraznil pár věcí, které je v souvislosti s článkem třeba trochu narovnat:
1/ Několik desítek řádků kódu na podobnou jednoduchost je právě zcela adekvátní ( rozuměj „přiměřené“ ). Neadekvátní by bylo napsat tisíce řádků se stejným výsledkem.
2/ Použití enginu ( jakéhokoliv ) nutně neznamená, že programátor neumí danou věc vytvořit jinak nebo že jí dokonce nerozumí. Použití enginu znamená, že svoji práci nezačínáš od technického pravěku, ale rovnou nasedneš do auta. Nabádat po zveřejnění jakéhokoliv hotového programu k použití jiných software nástrojů přímo v komentech pod ním, je přinejmenším neslušné.
3/ Jak už bylo uvedeno, nejde o hru. Ale stejně tak nejde o demonstraci dokonalého programování nebo soutěž o nejlepší engine. Jsem rád, když to někomu přijde prostě inspirativní nebo to vyvolá nějaké pozitivní emoce ( viz Jindřich nebo zakura ). Naopak nejsem rád, když z toho jsou vyvozovány chybné závěry pomocí mylných předpokladů.