Wpis z mikrobloga

Siemka. Jako, że coraz więcej amatorów pcha się do zabawy #pdk postanowiłem zebrać kilka materiałów, może pomogą, może nie, ale na pewno nie zaszkodzą :D

Na pierwszy ogień w zasadzie rzucę paczkę tutoriali, od których sam zaczynałem. Użytkownik, którego z nami już nie ma niestety ( ͡° ʖ̯ ͡°) Rezix skompletował fajną paczkę jakiś czas temu.

https://www.wykop.pl/wpis/19022997/zbior-ciekawych-linkow-i-kanalow-dotyczacych-gamed/

W zasadzie, dwa pierwsze linki wam wystarczą. Brackeys:
https://www.youtube.com/user/Brackeys
ma oficjalny patronat Unity i tworzy dużo ciekawych projektów dla początkujących, omawia funkcje nowych wersji Unity, ma nawet poradnik dotyczący podstaw c#.
Z rzeczy które od niego polecam:

https://www.youtube.com/watch?v=pSiIHe2uZ2w&list=PLPV2KyIb3jR6ZkG8gZwJYSjnXxmfPAl51

Jeśli kompletnie nie macie pojęcia o programowaniu to ten tutorial w miarę daje radę. Nauczy was podstaw i potraktujcie to raczej jako wstęp do c#.

https://www.youtube.com/watch?v=gE7gc1sblUA&list=PLPV2KyIb3jR5xTUU7fitudKE6hCDA4Hso

Tu proste tutoriale do prostych gierek które można zrobić w około godzinę. Mam mieszane uczucia, by polecić to początkującym, z jednego powodu: programować się tu nie nauczysz za bardzo. Brackeys tworzy kilkanaście, kilkadziesiąt max linijek kodu na taki tutorial, czesto rzeczy które nie są uniwersalne i działają w danym przypadku, więc musisz tak czy owak albo się dokształcić i poszperać samemu co z czym się je, albo ślepo przepisywać. Z drugiej jednak, jest on bardzo mocno związany z różnymi komponentami Unity, które na dłuższą metę znać trzeba, oraz trzeba wiedzieć jak nimi operować, tym bardziej, że komponentów dochodzi z roku na rok, są ulepszane, a Brackeys umiejętnie je wykorzystuje. Sam podpatruje od czasu do czasu co on tam kmini, by wiedzieć jak nowe rzeczy użyć w praktyce.
Jednakże, jak rezix sam zauważył, dla początkujących dobry jest ten tutorial:

https://www.youtube.com/watch?v=UbPiCgCkHTE&list=PLPV2KyIb3jR42oVBU6K2DIL6Y22Ry9J1c

Prosta gierka od początku do końca, z wytłumaczeniem co i jak. Przejrzysty i uniwersalny kod. Ze względów kompatybilności radziłbym tylko użyć jakiejś starszej wersji Unity, bo nie wiem ile z tego dziś będzie "obsolete".

https://www.youtube.com/user/quill18creates

I Quill18. Quill zajmuje się głównie programowaniem, przez co kod który tworzy w swoich grach, mimo że kilkuletni z powodzeniem będzie działać w nowszych unity


W każdym razie, jeśli już coś ogarniacie z programowania polecam zacząć tworzyć planszówki.

https://www.youtube.com/watch?v=LHQ4ynQhPLY

Nauczy was podstaw logiki, używania samego Unity tu jest mało, ale kodowania sporo. Quill ma to do siebie, że wiele tłumaczy. Jego tutoriale byłyby jakieś 50% krótsze, gdyby za każdym razem nie tłumaczył co robi. Co jest dobre, bo używasz coś i wiesz czemu. W tym tutorialu jeszcze nauczysz się robić podstawowe AI które zmiecie cię w taką grę :D A sam na podstawie tego projektu stworzyłem mobilną wersję chińczyka



https://www.youtube.com/watch?v=_lQw3YA7Jok&list=PLbghT7MmckI4_VM5q3va043FgAwRim6yX

Oprócz tego polecam wyżej wymienione Base Building Tutorial, bo po jego skończeniu (50 odcinków po godzinie około każdy) możecie śmiało robić konkurencję dla Rimworld, czy Prison Architect. Jedyny zgrzyt to może być dziś problem z nazewnictwem, bo użył własnej klasy nazwanej Tile, a około rok później Unity wprowadziło swój system Tilesów i by go uzyskać należy wywołać... Tile właśnie. Ale to tylko problem z nazewnictwem, zmienić Tile na jakąś inną nazwę, nie wiem, BetterTile i po problemie.

Co poza tym? Cóż, jeśli czujesz że ogarniasz, znasz język, wiesz jak działają komponenty... sam zacznij tworzyć. Weź grę, która już istnieje i metodą prób i błędów ją kopiuj. Kombinuj. Błędy będą, nikt nie urodził się idealny. Ale zacznij od prostych gier. Nie stworzysz konkurencji dla forzy, Call of Duty, Warbanda, Skyrima w dwie noce. Pong? Galaga? Road fighter? river raid? Snake? Każda z tych gier mimo banalnej budowy posiada interesujące mechaniki, które mogą sprawić mniej lub więcej problemów przy próbie kopiowania ich do Unity.

Od siebie dodam, że możecie próbować kopiować właśnie planszówki. Grafiki przy tym niewiele, za to sporo logiki, którą macie ogarnąć. Takie monopoly na przykład, niby banalne, ale weź tu zrób AI, które będzie kombinować czy coś sprzedać przy wizji bankructwa, jak tak to który domek, albo czy zaakceptować wymianę z tobą. Albo jak reagować w czasie aukcji. Wiele rzeczy trzeba brać pod uwagę i uważam, że myślenie co oraz jak to zaimplementować tak, by to miało realne efekty pomoże w nauce Unity i ogólnie programowania.

Co gdy się zatniecie? Wyszukajcie w google nazwę komponentu, klasy, metody, z którym sobie nie radzicie + unity . Pierwszy wynik odniesie was do
https://docs.unity3d.com/Manual/index.html
świetnej dokumentacji Unity, mają tam też mnóstwo tutoriali pt jak używać bardziej zaawansowane komponenty, jak joint do tworzenia łańcuchów, czy wheel collider do tworzenia logiki samochodu.
Jest też inny sposób. Spróbujcie zwięźle opisać problem z jakim się spotkaliście, dodajcie nazwę komponentu z którym macie problem i na koniec dorzućcie Unity. Tak sformułowane zapytanie w Google wyniesie was na 95% do podobnego lub tego samego problemu, z którym ktoś się już wcześniej spotkał, czy to na unity answers, czy na stacku. Mnóstwo razy mi to dupę uratowało, albo biłem się po czole bo rozwiązanie było banalne a ja niepotrzebnie je komplikowałem.

Jeśli chcecie tworzyć własne modele, to chyba najpopularniejszym wyborem amatorów jest Blender. Sam uczyłem się metodą prób, błędów i tutoriali, sam Blender nie jest intuicyjny, ale generalnie, nie jest aż tak tragiczny, jak się przejdzie inicjację.

https://www.youtube.com/channel/UC_47ItRT9U4nnElhSK8JcmQ

Gość w każdym filmiku robi tutoriale dla osób które są początkujące, włącznie z ustawieniami różnych podstawowych rzeczy, które dla was moga być nieintuicyjne.

https://www.youtube.com/user/Cercopithecan/videos

Tu facet łączy grafikę 3D z unity. Posiada też kilka tutoriali dotyczących głównie unity, kilka do blendera, ogólnie warto obadać. Z mojej strony polecam jeszcze tutorial odnośnie podstaw animacji humanoidalnej Blendera do użycia z Unity właśnie.

https://www.youtube.com/watch?v=ocLZNRasU64&list=PLFt_AvWsXl0djuNM22htmz3BUtHHtOh7v

Na sam koniec mały zbiór moich repo, z których korzystam, jeśli potrzebuje na szybko jakieś assety. W celach naukowych używajcie do woli, w celach komercyjnych koniecznie sprawdźcie licencje.

https://opengameart.org
Głównie assety 2D, ale generalnie jest tu mix wszelakich assetów. Jeśli tworzysz prostą grę w stylu retro nie mogłeś lepiej trafić.

https://freesound.org
Darmowe dźwięki do wykorzystania. Głównie efekty dźwiękowe, odgłosy broni, silników, chodzenia, otoczenia, ale kilka BGM też tam znajdziecie.

https://www.blendswap.com/blends
Darmowe assety 3D. Tzn, "darmowe". Konto bezpłatne ma chyba limit na 20 pobrań w przeciągu miesiąca i do wykorzystania komercyjnego koniecznie musicie uznać autorstwo (głównie licencja CC-By). Duży wybór, dobre modele, ale uważajcie z importem, niektóre są po prostu za duże jak na Unity, sam tam spotkałem żyrandol który ważył 300k vertexów.

https://free3d.com
Jak wyżej darmowe assety 3D, uważajcie z licencją i powinno być ok.

No i naturalnie unity asset store zawiera trochę fajnych materiałów, jak np darmowe skyboxy, jakieś budynki

#unity3d #gamedev #poradniki #blender #grafika3d #naukaprogramowania #unity
  • 20
@TymRazemNieBedeBordo: Ładne zestawienie, widać napracowanie, poszło do Ulubionych do przejrzenia w tzw. Bliżej Nieokreślonej Przyszłości. Mam pytanie, bo widzę, że to akurat zestaw pomocy do Unity - miałeś może cokolwiek do czynienia z GameMakerem? Zrezygnowałam na początek w ogóle z grzebania w Unity, bo wydawało mi się, że do moich celów GameMaker w zupełności wystarczy (proste gry do nauki angielskiego), ale trafiłam już na pierwszą ścianę, dowiadując się, że nie da
@uczalka: jak @daedalus_pl: mówi. Unity daje ci masę swobody. Zrobisz w tym Ponga, zrobisz wielki symulator układu słonecznego (Kerbal Space Program), zrobisz symulator budowy miasta (Cities Skylines). To, co rozwiążesz jedną linią kodu w Unity może ci przysporzyć problemów w Game Makerze. Trzeba tylko opanować podstawy edytora i programowania i można bzikać. Jeśli ma to być quiz, gra w stylu odpowiadania na pytania, to Brackeys zrobił już grę typu quiz
@daedalus_pl: @TymRazemNieBedeBordo: Wielkie dzięki za odpowiedź. To, co zaczynam robić, to więcej niż zwykły quiz, bardziej jakby hybryda między Memrise a Duolingo z dodatkowymi elementami motywacyjnymi i ćwiczeniami w formie faktycznych prostych gier (np. tłuczenie potwora dobrymi odpowiedziami na pytania), a przede wszystkim z dużą ilością zależności między poszczególnymi elementami i śledzeniem statusu każdego słówka i zdania. :) Trochę się dalej waham, bo poza kupieniem paru modułów przerobiłam już też
@uczalka:

kupieniem modułów

Wiesz i tu jest twój błąd. Bo ten program cię ogranicza z każdej strony, a to, co ty chcesz zrobić to skomplikowany projekt który bez głębszego kodowania się nie obejdzie. Nawet olałbym Unity tutaj, a celował w Javę i Android Studio, lepiej imo będzie ci śledzić statystyki, bo z grą to nie ma wiele wspólnego. To projekt na, strzelam, pół roku solidnej i konkretnej nauki od zera, samego
@TymRazemNieBedeBordo: Niewiele, bo niewiele, ale coś tam już umiem (choćby podstawy JavaScriptu) i chcę zacząć od czegoś mniejszego, zanim przejdę do Wielkiego Wspaniałego Projektu Ogarniającego Wszystko, więc spokojnie. ( ͡° ͜ʖ ͡°) Ale chciałabym mieć możliwość łatwego przenoszenia gier na różne platformy, a Android Studio sugeruje tylko aplikacje mobilne - chyba że się mylę. Chcę też, żeby jednak miało to coś wspólnego z grą (a w zasadzie
@uczalka: masz problem, bo chcesz zaimplementować dwie wykluczające się technologię - silnik gry i łatwość ingerencji w bazy danych, statystyki itd. Zrobisz ten projekt i w Unity, i w Android Studio. Problem tylko jak zaimplementować do Unity statystyki, uniwersalne dla wszystkich platform UI, logikę ekranów do których przechodziłoby się, albo jak zaimportować do AS logikę gier.
Chyba że chcesz robić appkę desktopową to możesz spróbować w visual studio zrobić appkę UWP.