Diskuze: Duel: MonoGame vs. Unity3D

C# .NET .NET (C# a Visual Basic) Duel: MonoGame vs. Unity3D American English version English version

Aktivity (3)
Avatar
Vojta Lechovský:13. ledna 17:20

Ahoj, jsem začátečník co se týče programování, a chtěl bych znát výhody a nevýhody MonoGame oproti Unity3D a naopak, abych se mohl rozhodnout, kterou cestou se vydat :-? Takže jestli by mi prosím o nich nemohl někdo napsat nějaké porovnání, díky :-)

 
Odpovědět 13. ledna 17:20
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:13. ledna 17:46

Krátká verze:
MonoGame:
Absolutně nevhodné pro začátečníky s programováním

Unity3D:
Vhodné pro začátečníky s programováním

Dlouhé verze:

MonoGame:

  • Absolutně nevhodné pro začátečníky, jde o pokračování XNA, což ve zkratce znamená, že jde o jakýsi middleware nad DX a opravdu hodně si otho musíš napsat sám. Stačí se kouknout například jak vyrenderovat nějaký obyčejný model. AŹ uvidíš sérii for-cyklů a nebudeš tušíit k čemu to je, tak ti to dojde..

Unity3D:
Velkou část hry - a především věci, co tě "nemusí zajímat", jako je rendering, zvukařina, síťařina, AI.. nemusíš řešit, tu zbylou se bu´d naučíš z toho, že existuje miliarda tutoriálů úplně na všechno, nebo stáhneš z in-editor shopu hotové věci a z nich se naučíš..Navíc.. to API Unity3D je opravdu velmi jednoduché a do doby, než narazíš na nějakou analytickou matematiku v 3D prostoru, quarteriony, lineární algebru atp, tak budeš schopný udělat všechno s menším počtem znalostí.

Nahoru Odpovědět 13. ledna 17:46
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:13. ledna 17:47

Abych byl přesný.. XNA není herní engine - je to jakási sada knihoven a toolu (framework + toolikit) pro podporu vývoje multimediálních aplikací. Unity3D je přímo herní engine.

Nahoru Odpovědět 13. ledna 17:47
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:13. ledna 17:49

Reálně ti však můžu říci, že jestli neumíš programovat, tak vnímej obojí spíše jako zábavnější cestu, jak se programování alespoň trošku naučit :-) Rozhodně si nedávej prozatím vysoké cíle (začni 2D tetrisem, pongem, tanky pro 2 hráče,..)

Nahoru Odpovědět 13. ledna 17:49
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Odpovídá na Marian Benčat
Vojta Lechovský:13. ledna 17:54

Díky moc za odpovědi :-)

 
Nahoru Odpovědět  +1 13. ledna 17:54
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:13. ledna 18:01

O XNA by ti jistě mnohem více než-li já, řekl Luboš Satik Běhounek. Kdyby tento portál měl po X letech jeho existence nějaké rozumné hajlajtování, tak ti ho sem hajlajtnu.

Nahoru Odpovědět 13. ledna 18:01
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Odpovídá na Marian Benčat
Vojta Lechovský:13. ledna 18:02

Se zmíněnými frameworky nechci začít hned, myslel jsem spíš na pozdějc.

 
Nahoru Odpovědět 13. ledna 18:02
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Vojta Lechovský
patrik.valkovic:13. ledna 18:05

Ono to nejsou frameworky. MonoGame je knihovna pro renderování - dokáže ti vykreslit obdelník, kouli, dát tomu nějakou texturu ale to je tak vše.
Unity je herní engine, tedy graficky si stavíš scénu. Máš vyřešené vykreslování, fyziku a ty jen doplňuješ malé části kódu.

Nahoru Odpovědět 13. ledna 18:05
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Vojta Lechovský
Vojta Lechovský:13. ledna 18:11

Čas na edit už vypršel, tak tedy musím napsat nový komentář:
Nevím, možná, že něco jednoduššího zkusím už teď.

 
Nahoru Odpovědět 13. ledna 18:11
Avatar
Martin Petrovaj
Redaktor
Avatar
Martin Petrovaj:13. ledna 19:22

Ahoj, s MonoGame veľa skúseností nemám, takže ti tu nebudem klamať, určite by si si ale mal uvedomiť dosť podstatný rozdiel framework (XNA) - engine (Unity) :-)

S Unity to už je trochu iné, tam som sa vedel dosť vyblbnúť a mal som super feedback, keď som ho použil na učenie programovania tínedžerov na stredných školách (predsa len, je to trochu zaujímavejšie než konzolová alebo formulárová kalkulačka O:-) ). Ak najprv tu na IT Network získaš potrebné základy v C#, príp. ich už máš, tak tvorba hier v Unity už nie je žiadna veda, v rámci pár týždňov až mesiaca budeš čumieť, čo všetko už vieš, ak si šikovný :-)
Pre začiatok by som určite skúsil prvé dva-tri tutoriály na oficiálnych stránkach a potom začal pomaly rozmýšľať nad prvým vlastným projektom, keďže to ťa naučí asi najviac a najskôr ;-) Tak veľa šťastia!

Nahoru Odpovědět  +1 13. ledna 19:22
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Vojta Lechovský:13. ledna 19:39

Jaké konkrétní dva tutoriály myslíš? Moc se v tom seznamu tutoriálů na stránkách unity3d nevyznám.
Mimochodem, ten tvůj odkaz je špatný.

Editováno 13. ledna 19:41
 
Nahoru Odpovědět 13. ledna 19:39
Avatar
Martin Petrovaj
Redaktor
Avatar
Martin Petrovaj:13. ledna 19:48

Na začiatok prepáč, že som si nevšimol vlastný nefunkčný odkaz, pokiaľ by to po nás ešte niekto čítal, tak proper adresa je https://unity3d.com/learn/tutorials :-)

No a k tým tutoriálom - ja som začínal s Roll a Ball + Space Shooter, tie dva sú také úplné základy, ktoré ti ukážu, ako vlastne Unity funguje a ako sa v ňom bežne pracuje (vidím, že pribudla ešte jedna nová sekcia, Interactive Tutorials, vyzerá zaujímavo, ale ja som ju neskúšal).

Potom si vyber asi buď Survival Shooter alebo Tanks, výber je už na tebe. Môj osobný výber (ktorým sa ty riadiť nemusíš) bol Survival Shooter, ale keďže mi to po čase prišlo pomalé a trochu nudné, tak som to v polovici sekol a začal robiť vlastnú hru. Určite sa mi ale aj tá polovica pridala, bez toho by som nemal ani základné znalosti napr. o vstavanom NavMeshi alebo animáciách :-) Čokoľvek si už vyberieš a akokoľvek dlho pri tom vydržíš sa ti len pridá.

No a keď už budeš mať tieto základy a budeš sa už celkom slušne orientovať aj sám, tak na tej istej stránke nižšie nájdeš do jednotlivých Topics (tém) rozdelené ďalšie veľmi užitočné materiály od výmyslu sveta, kde si určite nájdeš čo budeš potrebovať. A ak by aj nie, dokumentácia, Unity Answers a YouTube to vždy istia ;-)

Editováno 13. ledna 19:49
Nahoru Odpovědět 13. ledna 19:48
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Vojta Lechovský:13. ledna 20:03

Protože si myslím, že těm videům neporozumím (protože jsou v angličtině), ptám se:
Myslíš, že to lze pochopit i bez vědění toho, co je tam mluveno?

Jinak s unity bych rád začal, myslím, že potřebné znalosti mám. Navíc to určitě bude zajímavější, než konzole nebo wpf aplikace (jak si sám říkal).

 
Nahoru Odpovědět 13. ledna 20:03
Avatar
Vojta Lechovský:13. ledna 20:12

Už jsem dokoukal první lekci tutoriálu "roll a ball" a většině jsem rozuměl, bohužel ne všemu :-(
Ale vypadá to fakt zajímavě :-)

Editováno 13. ledna 20:14
 
Nahoru Odpovědět 13. ledna 20:12
Avatar
Martin Petrovaj
Redaktor
Avatar
Odpovídá na Vojta Lechovský
Martin Petrovaj:13. ledna 20:17

Tá angličtina by naozaj mohla byť potenciálne problém, ale to platí asi všeobecne pre akýkoľvek vývoj, nie len Unity. Tutoriály na tých Unity stránkach ale majú v drvivej väčšine prípadov manuálne pridané titulky (aj keď anglické) a mnoho z nich má pod videom aj prepis: http://prntscr.com/hzzvif
Pokiaľ máš problém porozumieť hovorenému slovu, titulky ti určite pomôžu. Ak je problém s angličtinou ako takou, tak asi hodiť do prekladača, alebo si nájsť nejaké kvalitné české / slovenské tutoriály (tunajšie sú už dobrých pár rokov staré, tak by som ich bral trochu s obozretnosťou).

Dobrá správa je, že cez programovanie máš super možnosť sa v angličtine zlepšiť :-) Trochu horšia správa je, že sa práve zlepšiť pravdepodobne budeš musieť - angličtina sa netýka len tutoriálov, ale aj dokumentácie, fór, článkov a pod. Určite ti ale pomôže, ak vieš porozumieť kódu ako takému, keďže množstvo informačných zdrojov zahŕňa aj jeho ukážky. V najhoršom prípade sa môžeš vždy opýtať tu, alebo mi napr. poslať správu, ak budem vedieť, rád sa pokúsim odpovedať.

Takže suma sumárum, vraciame sa k pôvodnej otázke - áno, ak chceš, tak sa to určite pochopiť dá a dá sa začať aj bez špeciálnych znalostí angličtiny, ale počítaj s tým, že na tejto oblasti budeš musieť priebežne pracovať ;-)

Editováno 13. ledna 20:17
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 13. ledna 20:17
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Vojta Lechovský:13. ledna 20:29

Tak anglicky se učím, je mi jasné, že to je důležité. Na ta videa se budu dívat bez titulek, když jsem se zkoušel dívat na to video, nepřišlo mi až tak těžké porozumět té angličtině, ačkoli jsem sem tam něčemu nerozuměl. A navíc mě bavilo sledovat to v angličtině. A navíc mě to trochu v angličtině zdokonaluje. Když to nepůjde bez titulek (myslím, že to půjde, ale kdyby), tak holt po nich sáhnu, to není žádný problém

Jinak díky moc za tvoje odpovědi, myslím, že mi hodně pomohou :-)

Editováno 13. ledna 20:31
 
Nahoru Odpovědět  +1 13. ledna 20:29
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.

Zobrazeno 16 zpráv z 16.