Obecnie uczę się Unity i przeglądam podręcznik do matematyki w grach komputerowych.
Moim celem jest stworzenie gry wyścigowej dla WebGL (przy użyciu Three.js i być może Physic.js).
Wiem, że program Unity chroni cię przed wieloma wydarzeniami, a wiele pracy przy tworzeniu nawet prostej gry wideo, ale jeśli przejdę przez kilka samouczków Unity, wiele umiejętności, których się uczę, przekładam na inne frameworki / silniki?
Jestem dość biegły w projektowaniu na poziomie z WebGL i jestem dobrym modelarzem 3D. Moje słabości to zdecydowanie AI i fizyka.
Podczas gdy szybko popełniam matematykę i chociaż fizyka jest niezaprzeczalnie interesująca, jest tylko tyle godzin w ciągu dnia i jest mnóstwo silników, aby zająć się tego rodzaju sprawami.
AI bardziej do mnie przemawia i jest o wiele bardziej potrzebna. Sztuczna inteligencja zmienia się drastycznie z gry na grę, jest mocno modyfikowana podczas rozwoju, a fizyka jest o wiele bardziej stała.
Czy oparte na sztucznej inteligencji koncepcje w Unity pozwolą mi przenieść tę wiedzę praktycznie wszędzie? Czy może po prostu będę wiosłował potokiem Unity tymi umiejętnościami?
Odpowiedzi:
Mówiąc bardzo szeroko, istnieją dwa rodzaje umiejętności:
Jeśli uczysz się algorytmów lub uczysz się, kiedy i dlaczego należy stosować określone techniki, budujesz umiejętności, które można przenosić, które są odpowiednie dla wszystkich gier. Jeśli dopiero uczysz się, jak manipulować interfejsem silnika, prawdopodobnie budujesz umiejętności, których nie można przenieść.
źródło
Tak. Algorytmy uczenia się to algorytmy uczenia się. Wdrożenia mogą ulec zmianie, ale nadal zrozumiesz ogólną strategię.
Jednak prawdą jest również to, że będziesz uczyć się na wysokim poziomie abstrakcji. Oznacza to, że przejście do innych silników lub brak silnika może wymagać nauczenia się dokładniejszych szczegółów algorytmu i drobiazgowych szczegółów implementacji.
Ogólnie rzecz biorąc, zawsze jest dobrą strategią uczenia się nowych rzeczy. Nawet jeśli poprawi to ogólne zrozumienie tematu, znacznie łatwiej jest go nauczyć i wdrożyć na innej technologii.
źródło
To zależy.
Istnieją aspekty, które można przenieść, takie jak umiejętność zaprojektowania spójnej gry, która działa. Ale wynika to z nauki korzystania z dowolnego silnika gry / zestawu SDK.
Ale wszystko zależy od:
- Twój poziom wykorzystania Jeśli pożyczasz skrypty i wiesz tylko w większości rzeczy, które są wizualne, prawdopodobne jest, że jedyną rzeczą, która zostanie przeniesiona, jest znajomość niektórych narzędzi.
-Oprogramowanie, w którym zbudowałeś jakieś tło w porównaniu do nowego oprogramowania Przejście od czegoś takiego jak GameMaker do czegoś takiego jak CryEngine, UDK, Unity naprawdę nie idzie dobrze, chyba że:
-Masz doświadczenie w różnych językach programowania Unity używa Unityscript, który jest ich własną bastardizacją C # i java
Jeśli jesteś nowy, jak ci się wydawało, zacznę od podstawowego z GameMaker. Zapoznaj się z interfejsem „przeciągnij i upuść” oraz bardzo podstawowym programowaniem rozgrywki, a następnie naucz się pisać własne skrypty za pomocą ich języka GameMaker. W międzyczasie rozpocznij naukę języków programowania (java, C, C ++, C #, ... itd.), Których pojęcia będą niezwykle przydatne, gdy zaczniesz uczyć się języka silnika pierwszej strony.
Jeśli AI jest tym, czym naprawdę jesteś zainteresowany, nie możesz wystarczająco stresować jak ważna jest nauka języków programowania i logika, która się za nimi kryje. AI są trudne, naprawdę trudne, a pisanie skryptów jest bardzo trudne. To powiedziawszy, te koncepcje tworzenia dobrych AI powinny być kontynuowane, ale niekoniecznie dokładne metody, ponieważ każdy silnik gry / SDK jest inny.
Wiem, że prawdopodobnie nie chcesz tego słyszeć i w żaden sposób nie próbuję cię zniechęcić. Ale masz przed sobą długą drogę. Patrząc na zewnątrz, studiowanie projektowania gier wydaje się być świetną zabawą, a czasami tak jest, ale jest wiele do zrobienia i jeszcze więcej do zrobienia.
Mam nadzieję, że pomoże ci to poprowadzić cię we właściwym kierunku.
Źródło: Student projektowania / programowania gier wideo z doświadczeniem w Unity, UDK i GameMaker. Przydatne doświadczenie: C, C ++, Java, OOP Data Structures, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... masz pomysł.
Jeśli Twoja wiedza jest bardzo ograniczona, zacznij od czegoś takiego jak GameMaker lub Project Spark. To naprawdę pomoże ci zrozumieć podstawy.
źródło