[#1] MDW tłumaczy co robi
W komentarzach do newsa "Game Tycoon 2 na Amigę w 2017 roku" zapytano mnie o coś i wywiązała się krótka dyskusja, która jak zwykle doprowadzi o zjechania z tematu. Wobec tego pozwoliłem sobie przenieść rozmowę tutaj. Kontekst rozmowy był mniej więcej taki:

MDW:
Idea była taka, że wersje dla ami-świata są za darmo, a koszt ich wyprodukowania pokrywają wersje dla innych platform. To się nie bardzo sprawdziło. Jednak idea jest ciągle żywa i następne produkcje też będą wypuszczane w takim modelu. Fortis nie powalał grywalnością. Następne gry powinny być bardziej grywalne chociaż będą raczej słabsze graficznie.

waldiamiga:
Pewnie Caro nie ma czasu...
Kiedy masz zamiar coś wypuścić? Będzie coś wcześniej niż Game Tyccon 2?


No i teraz ja odpowiadam:

Pewnie Caro nie ma czasu...

To raczej ja nie mam czasu. Caro nie bierze już w tym udziału. Raczej nie jest już zainteresowany tego typu działalnością. Żyje w zupełnie innym, wieeelkim, świecie.

Kiedy masz zamiar coś wypuścić?

To generalnie jest bardzo złożona sytuacja i nie ogranicza się do jednej gry. Postaram się to jakoś wyjaśnić. Jak będziesz miał ochotę i wolną godzinkę to sobie przeczytasz.

Jeżeli chodzi o termin wypuszczenia aktualnie robionej gry to od początku był jasno i bardzo konkretnie określony. Gra ma się ukazać przed mistrzostwami Euro 2012. Nie trzeba być specjalnie uważnym czytelnikiem żeby zauważyć, że mamy rok 2015 i termin minął 3 lata temu. szeroki uśmiech szeroki uśmiech No niestety “prawdziwe” życie dopiekło i tak wyszło. I teraz to już absolutnie nie jestem w stanie niczego określić. I żeby było śmiesznie to ten “drobny” poślizg nie jest spowodowany tym, że musiałem to wszystko rzucić w kąt. Nie! Ja niemal codziennie coś w tym kierunku dłubię. Tylko niestety mam tak niewiele czasu, że wszystko trwa 10 razy dłużej niż powinno. Jednak mi nie przeszła ani ochota ani motywacja i ciągle czerpię z tego ogromną przyjemność. Nawet jeżeli robię to co robie z myślą o wielu platformach to tą podstawową i najważniejszą jest MorphOS. To pozostałe wersje (OSX, iOS, Windows) są raczej portami (chociaż tworzonymi równocześnie) niż odwrotnie.

Ta gra o tematyce piłkarskiej jest od półtora roku w fazie "alfa" (działa cały podstawowy mechanizm, nie ma ani grama grafiki). Jednak od wielu miesięcy do niej nawet nie zaglądałem. Powodem jest to, że 15 miesięcy temu postanowiłem w swoimi mini-silniku zmienić dwie klasy. To pociągnęło za sobę zmianę kolejnych i tak od ponad roku przepisuję wszystko od początku. szeroki uśmiech W kodzie samej gry nic nie zmieniałem od ponad roku. Ciągle przebudowuję ten śmieszny niby-silnik. Zdecydowanie bardziej zależy mi na nim niż na grze. Ta gra to tylko realizacja kolejnego średnio-udanego pomysłu. Już teraz wiem, że też nie powali grywalnością i eksperyment się raczej nie uda. Ale włożyłem w to taki ogrom roboty, że to MUSI wyjść.

Aktualny status jest taki, że prawie wszystkie elementy silnika są już zrobione “po nowemu”. Cały czas zajmuje mi teraz dorabianie pewnych drobiazgów i likwidowanie błędów. Jak się z tym uporam to wrócę do gry. Muszę ją gruntownie przerobić żeby działała na nowym silniku. Zmiany w nowym silniku były tak duże, że na pewno wyjdą jakieś braki, niedoskonałości, niedoróbki czy błędy i to znów zajmie trochę czasu. Pisząc “silnik” nie mam nawet na myśli elementów związanych z wyświetlaniem grafiki 3D. To jest niewielki element całości. Kilkakrotnie razy więcej czasu zajmują mi inne elementy. Może trochę przesadziłem i czasem mam wrażenie, że niepotrzebnie klepię własny system operacyjny. Jednak jestem pewien, że to wszystko kiedyś zaprocentuje. Poza tym sprawia mi to przyjemność i dlatego sobie tak klepię bez opamiętania. Z biznesowego punktu widzenia moje podejście do sprawy jest absurdalnie głupie. Ale na szczęście mam serdecznie w nosie “biznesowy” punkt widzenia.

Jeżeli chodzi o samą grę to jest to prosta gra w piłkę nożną z bardzo dziwnym sterowaniem. Początkowo miała to być prosta gra polegająca na strzelaniu bramek przy pomocy gestów na ekranie dotykowym czy myszy. Jednak jak już zacząłem przy tym grzebać to obudziło się we mnie dawne marzenie. Nie jestem fanem piłki nożnej ani generalnie jakigokolwiek sportu. Ale zawsze się zastanawiałem jak można byłoby zrobić taką sztuczną inteligencję zawodników na boisku. No i któregoś dnia nie wytrzymałem. W ciągu 5 minut zdecydowaliśmy (ja i gość, który będzie robił grafikę i który pomaga mi w sprawach mechaniki gry w nogę), że koniec z tą prostą gierką i robimy trochę uproszczoną ale normalną grę w nogę. Z tą różnicą, że na ekranie dotykowym nie będzie żadnego udawania joysticków czy przycisków. To jest chore i się zupełnie niesprawdza. No i zaczęło się…

Pomysł na sterowanie był taki, że gracz będzie mógł po prostu pacnąć na dowolnego zawodnika i narysować mu dowolną krzywą po której będzie biegł. Potem doszło śledzenie piłki i tysiąc innych zasad. W efekcie wyszło coś niezbyt łatwego w graniu więc zaczęliśmy trochę to wszystko upraszczać. Graczowi trochę trudno ogarnąć 5 zawoników (zespół składa się z 5 zawodników w polu i 1 bramkarza, którym zawsze steruje komputer). Przez wiele miesięcy zrobiłem wieeeelki schemat sztucznej inteligencji komputera. I to nawet działa. Na komputerze steruje się myszą. Trochę to dziwne (albo wręcz głupie) ale w dzisiejszym świecie gier indie spotyka się znacznie bardziej dziwne rozwiązania. A ja lubię takie eksperymenty. Dzięki nim powstają czasem ciekawe rzeczy. A walczyć z FIFĄ przecież i tak nie ma sensu. Gdybym miał kopiować np. FIFĘ to nie miałoby sensu. Każdy wolałby sobie z takiego AppStore ściągnąć normalną FIFĘ, bo byłaby pod każdym względem lepsza. Naszym wyróżnikiem miało być właśnie sterowanie. Bardzo lubię ekran dotykowy ale uważam, że udawanie na nim fizycznych kontrolerów (przyciski, joypady, joysticki) to bardzo zły pomysł. Ekran dotykowy to magiczna cecha i trzeba zrobić z niej zaletę, a nie wadę. Wykorzystać to na co pozwala, a nie z tym walczyć.

Nie martwi mnie zbytnio to, że gra się tak średnio. To tylko jedna gra. Ważniejsze jest to, że silniczek sobie doszlifuję i będzie na czym robić wiele innych, znacznie lepszych, rzeczy. Pomysłów mam kilkadziesiąt (spisanych w notatkach) z czego kilka chyba całkiem ciekawych. Do realizacji ich zniechęcało mnie to, że ten mój niby-silnik był taki… nieładny. Teraz jak sobie to wszystko napisałem jeszcze raz, poukładałem, zrobiłem masę dziwnych mechanizmów, gdy wszystko jest rozszerzalne, uniwersalne, modyfikowalne, mogę już coś robić.

Jak na średnie gry indie to możliwości MorphOSa są ogromne. Nawet ten nasz TinyGL będący odpowiednikiem jakiegoś OpenGL 1.4 z dodatkami jest wystarczający do realizacji całkiem złożonych pomysłów. Ze sprzętem też nie ma problemu. Prędkość nawet Pegasosa 1 G3 czy Efiki jest wystarczająca. MorphOS SDK jest całkiem przyjemne i w Scribble pisze się fajnie. Zresztą gdy czasem potrzebuję debuggera to dzięki uniwersalności kodu przesiadam się na Xcode pod OSX i tam debuguję to co potrzebuję. To jest jeden z tych momentów gdy ten mój wysiłek związany z multiplatformowością procentuje.

No i widzisz na jakie pierdoły traci czas 40-letni (od jutra 41-letni) pan, który powinien być poważny, powinien czytać gazety i oglądać programy o polityce. No ale taki to ja nigdy nie będę. Robię wszystko żeby nie być i bardzo dobrze mi to wychodzi. Będę te swoje głupoty dziubał nawet jeżeli nic z tego nie wyjdzie i nie będę miał z tego nic poza satysfakcją. Klepania kodu pod dyktando i za pieniądze mam dosyć w pracy. Tu mam wolność, robię co chcę i w 5 minut podejmuję decyzję, która przewraca wszystko do góry nogami bez akceptacji trzech pionów decyzyjnych, project managerów, pięciogodzinnych spotkań i przebudowywania planu. To zaleta hobbystycznego programowania.

Denerwuje mnie to, że kiedyś człowiek miał masę czasu ale nie było możliwości (umiejętności za małe, AmigaPPC z AmigaOS3 nie tak przyjazna jak dzisiaj MorphOS). Teraz możliwości są, umiejętności znacznie większe (chociaż też nic wielkiego) ale czasem jest dramatycznie. Rano leci się do “fabryki” i tam klepie to co trzeba. Po robocie od razu do domu gdzie jest masa zajęć do późnego wieczora. Jak maluchy pójdą spać to też wreszcie można ogarnąć pewne rzeczy, których przy nich się zrobić nie da. Człowiek wtedy też może wreszcie klapnąć przy jakimś filmie (najczęściej ogladanym przez 2-3 dni “na raty”). Tak ok. 11-12 w nocy można zasiąść do dorobienia czegoś do tego swojego nieszczęsnego kodu. Oczy się zamykają, spać się chce ale coś się tam zawsze zrobi. Ale też jak się posiedzi do np. 3 w nocy to na drugi dzień jest kicha, bo 4 godziny snu o trochę jednak za mało. Więc dziubię zazwyczaj po godzinie dziennie. Czasem krócej, czasem dłużej. No i tak musi być, bo inaczej się nie da. Ale lepiej tak niż wcale. szeroki uśmiech
[#2] Re: MDW tłumaczy co robi

@MDW, post #1

Hoho, już wszystko wiem. Dzięki MDW i wszystkiego najlepszego.OK
[#3] Re: MDW tłumaczy co robi

@MDW, post #1

MDW, ale takie przerabianie wszystkiego w połowie jest strasznie destrukcyjne. Niby co to szkodzi, ale przeszedłem przez tę chorobę i staram się teraz tego unikać. Na szczęście obiektowe projektowanie i przemyślenie konstrukcji daje szanse na uniknięcie akcji „a, przepisuję połowę od nowa”.
[#4] Re: MDW tłumaczy co robi

@MDW, post #1

postanowiłem w swoimi mini-silniku zmienić dwie klasy. To pociągnęło za sobę zmianę kolejnych


Ha, ha, fajnie, klasyk powiedziałby "i tak do usr..ej śmierci"
ponieważ zawsze da się to napisać jeszcze lepiej
Na kod sprzed 3-4 lat patrzeć nie mogę, wszystko do poprawy ;)
W każdym razie, powodzenia OK
.
[#5] Re: MDW tłumaczy co robi

@MDW, post #1

Chłopie nie pisz ile masz lat, bo mnie to strasznie dołuje (zaczynam liczyć swoje wiosny). Nie licz ile masz lat, zaklinam cię nie licz.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem