8 kwietnia 2018

Będę tworzył grę.


Wstęp być może będzie wydawał się trochę nie na temat, ale w mojej głowie wszystko ładnie się składa i po kilku stronach wyjaśnień, kilkunastu wykresach, oraz godzinnym filmie wszystko będzie jasne. Okej z wykresami to już lekka przesada.

Zacznę od późnych lat 80-tych i wczesnych lat 90-tych. Swoje triumfy święciła wtedy pewna gałąź programistycznej sztuki (która istnieje i rozwija się do dziś, choć straciła sporo ze swego uroku) zwana demosceną (zainteresowanym polecam też dokument The Art of Algorithms). We wspomnianym przeze mnie czasie w sztuce tej na komputerach Amiga wymiatała grupa Red Sector Inc. (RSI). Jeden z jej koderów zauważył, że właściwie wiele z tego co robi jest bardzo powtarzalne i w ten sposób zrodziło się narzędzie, które (przynajmniej mi) sprawiło sporo radości - Demomaker (linku do jakiegoś ładnego opisu niestety brak). Narzędzie to pozwalało ostatniej sierocie zrobić w kilku-kilkunastu kliknięciach demko w stylu RSI i wrzucić je choćby do sektora rozruchowego dyskietki. Sam z tego wielokrotnie korzystałem, ot choćby dla zrobienia bajeranckiego menu, czy po prostu zaznaczenia, że ta dyskietka jest moja. Tworzenie dem nigdy wcześniej (ani później) nie było równie proste.

Kolejne ćwierć wieku to moja przesiadka z Amigi na PC i kilka podejść do tego, aby napisać jakąś własną grę, lub demo. Umiałem coś tam zakodować w Turbo Pascalu, ale zawsze miałem problem z odpaleniem trybu z “ulepszoną” grafiką (to był chyba tryb 13h), a standardowa biblioteka graficzna dawała dość biedne rezultaty. Przesiadka kilka lat później na Delphi wiele tutaj nie zmieniła. Próby dogadania się z Direct X spełzły na panewce, a nie widziałem innej drogi na stworzenie czegoś, co by się nie cięło jak jakiś cholerny emo nastolatek w trakcie ciężkiej depresji tuż po tym jak odnalazł swoje ciężko ranne pantofle. Na ładnych parę lat programowanie odstawiłem do kąta. Potrzebne mi jednak było kilka makr w Excelu, więc opanowałem VBA, a w konsekwencji VB i C#. Gdzieś tam w tyle wizji otarłem się o Pythona programując robota, którego opisywałem na tym blogu jakiś czas temu. To pasmo sukcesów spowodowało kolejne podejście do Direct X i kolejną porażkę (choć znacznie mniej spektakularną niż w przypadku Delphi). Marzył mi się taki Demomaker dla gier - coś, co zdjęłoby ciężar mozolnego budowania własnego silnika z moich wątłych (programistycznie) barków. Szybko pomyślałem o jakimś gotowym silniku graficznym, który gdzieś mi tam śmignął w czasie instalacji Visual Studio, zdaje się, że był to Unreal Engine. Jakoś tak się jednak zdarzyło, że w czasie przygotowaań do instalacji moją uwagę przyciągnęło Unity

Unity okazało się być dokładnie tym, czego szukałem. Wrzucam tam jakąś grafikę, muzykę w prawie dowolnej postaci, do tego modele 3D na żywca z blendera, piszę kilka skryptów i mam grę. Zamiast tracić czas na walkę z systemem mogę poświęcić się tym fajniejszym aspektom tworzenia gier. W kilka-kilkanaście godzin można stworzyć grę, która nie wygląda jak coś co ma wywołać drgawki u epileptyka (w sensie, że obraz nie mruga jak szalony z powodu odświeżania), z muzyczką i innymi, jakże potrzebnymi pierdołami. Silnik choć zdecydowanie 3D pozwala też na tworzenie gier 2D (choć tak naprawdę udaje, bo wszystkie gry jakie tworzy są 3D), a skompilowanie gotowego projektu na różne platformy wymaga najwyżej kilka kliknięć, a w przypadku prostszych gier nawet nie wymaga zmian w kodzie. Dodatkowo możemy zaimplementować reklamy czy inne systemy monetyzacji naszego małego przedsięwzięcia (niestety nie testowałem, bo kilka materiałów których użyłem do stworzenia tej gry wyklucza komercyjne zastosowanie).

Unity bez żadnych zmian w sterujących grą skryptach funkcjonuje na moim PC, komórce (dostępna nawet w Google Play), oraz na stronie internetowej (wkrótce na wynalazkowo.com. Pobawcie się, oceńcie (oczywiście pozytywnie) i spróbujcie sami swoich sił. Nie znalazłem niestety żadnego darmowego tutoriala, którego mógłbym spokojnie polecić, ale warto poszukać jakiegoś płatnego kursu na którejś z platform e-learningowych. Częste promocje pozwalają wyłapać fajne kursy za niewielkie pieniądze.

P.S. Niech moc będzie z wami.

1 kwietnia 2018

Disclaimer - czyli tytułem wyjaśnienia.

Żeby mi tu potem nie było - wszystko co wysmaruje na tym blogu to są moje opinie. Opinie są trochę tak jak dupy - każdy ma prawo do swojej. Często piszę coś z pamięci i nie zawsze mam czas/ochotę sprawdzać wszystko ponownie w odpowiednich źródłach, dlatego też wszystko co tutaj wypisuję, a co nie ma podanego źródła jest tylko i wyłącznie moim prywatnym zdaniem (choćby forma wypowiedzi wskazywała, iż jest to fakt).
Przykłady:
1. Gdybym napisał, że: "Jarosław Kaczyński to osobnik bez czci i wiary, który w sposób cyniczny i makiaweliczny wykorzystuje Państwo Polskie i swoją armię miernych, ale wiernych partyjnych podnóżków" - to jest to tylko i wyłącznie moja własna opinia.
2. Gdybym napisał, że: "Jarosław Kaczyński powie wszystko, żeby tylko wygrać wybory. Np. 2010 zabiegając o głosy wyborców SLD obiecywał zrezygnować z używania określenia "postkomuniści", a jakoś nie przeszkadzało mu to jakiś czas później użyć go ponownie." Mamy tutaj już do czynienia z faktami i ich interpretacją. Jak widać w drugim wypadku fragmenty tekstu prowadzą do odpowiednich źródeł.

Wyjątkiem od tej reguły są oczywiście moje osobiste wspomnienia, do których siłą rzeczy źródłem jest moja pamięć.

„Obrażać też trzeba umieć!”

W zasadzie ten jeden cytat wystarczyłby za cały wpis. Nie wiem, czy w tym ukopanym kraju uchował się jeszcze ktokolwiek powyżej 25 roku życi...