SZYBKO I NIE ZAWSZE NA TEMAT:

Zrób sobie grę...


Jako miłośnicy elektronicznej rozrywki na pewno nie raz zamarzyliście o własnej grze. Tak samo, jak wsłuchując się w kolejny album Waszej ulubionej kapeli - o stanięciu na scenie, czy czytając kolejną powieść ukochanego pisarza - o chwyceniu pióra. Jakież to dziecinnie piękne, nieprawdaż? Wasza głowa pęka od pomysłów (albo przynajmniej od jednego pomysłu ;)), ale nie potraficie nadać tym myślom realnej formy. Czym różnicie się od tych wszystkich twórców? Brakiem umiejętności, talentu? Być może, lecz nierzadko tylko jednym szczegółem: brakiem samozaparcia. Tylko tyle i aż tyle. Pomimo, iż czasy dzieciństwa mam za sobą, wciąż przyłapuję się na tych marzeniach. Chociaż muzyka jest moją największą pasją to już dawno pogodziłem się z własnym wrodzonym upośledzeniem w tej materii. Z kolei od snów o growej potędze ciągle nie mogę się odgonić. Moi drodzy: marzenia są głupie, albo... to my jesteśmy zbyt leniwi...

Zrobić grę, tak od początku, aż po sam koniec (ukończyć!) - mój niespełniony plan. Nikt nie mówi tu o wielkim komercyjnym projekcie: zwykła - w miarę grywalna - "mała gierka", która spodoba się przynajmniej paru osobom na świecie (lub grupce znajomych) - to wystarczy. Problem ze mną - i zapewne z wieloma z Was - jest taki, że nigdy nie wykazywałem jakiegoś specjalnego talentu w którejś z "komputerowych dziedzin" (coś tam niby wiem, coś tam umiem, ale wciąż za mało). Czy, w takim razie, jestem skreślony? Teoretycznie: nie. Świat jest przecież pełen samouków. Zawsze podziwiałem ludzi, których "chcenie" było czymś więcej niż tylko pustą "chęcią" - było bodźcem, który popycha ich do działania, wbrew hasłu: "nie umiem". Zajechało przesadzoną sentymentalnością? Tak. Proszę, niech ktoś mnie odciągnie od klawiatury...

Do czego zamierzam? Proszę bardzo:

Przez dwa tygodnie, w ostatnim miesiącu, podjąłem się kolejnych prób przygotowania własnej osoby do realizacji jakiegoś tworu growopodobnego. Nie przypadkowo użyłem tutaj określenia "growopodobnego", gdyż chodzi mi raczej o potrenowanie, sprawdzenie się, niźli o realizację czegoś konkretnego (BTW, żeby zrobić coś "konkretnego" to trzeba także coś "konkretnego" umieć, nieprawdaż?). W takim też razie przeszperałem internet w poszukiwaniu jakiegoś darmowego engine'u 2D (pisanie własnego silnika i/lub grafika trójwymiarowa to już ponad moje skromne umiejętności). Pomimo, iż wiem czym jest pętla i rekord, pomimo, iż "wyprogramowałem" sobie całą pracę inżynierską, doszedłem do wniosku, że... i tak niezła ze mnie lama. Jak nie miałem problemu z samymi bibliotekami silników to nie potrafiłem ogarnąć środowiska programistycznego (wcześniej na nim nie pracowałem), które chwilami było bardzo marudne. Zdążyłem się zniechęcić. Ja, twardy i niewzruszony. Dajhard, moja mać... Poszedłem jednak dalej w poszukiwaniach odpowiedniego engine'u - tym razem efekt okazał się nieco lepszy i zacząłem swoje próby z programowaniem...

Etapy w życiu każdego programisty.

Ilu z Was ukończyło jakiś "growy" projekt? Nie chodzi mi nawet o w pełni profesjonalny, "zarobkowy" gamedev (chyba, że akurat), ale amatorskie pisanie, nawet dla siebie, do "szuflady" (czyt. HDD)? Nie mówię też koniecznie o jakimś pełniejszym tworze, zwykły klon Tetrisa czy Ponga wystarczy. Osobiście, jeszcze w czasach (chyba) liceum, popełniłem wstęp do klona Snake'a (vel. Węża). Tak, "wstęp", gdyż nigdy nie przybrało to grywalnej formy. To wszystko... Popisałem w życiu troszkę programów użytkowych, ale praca nad grafiką, wielowątkowością, AI i innymi - typowymi dla gier - elementami, rysuje się dla mnie dość przerażająco.

Zastanawiam się na ile jest sens podejmować te wszystkie próby. Realizacja gry to wielowarstwowy problem: nie tylko kod, ale i dźwięk czy grafika. Eksperymentalnie programuję pod coś opartego na klasycznych sprite'ach i przygotowanie, w miarę wyglądających, animacji chodu postaci, przy moich skromnych umiejętnościach, zajęło mi z... 4-5h (pierwszy raz coś takiego robiłem). Gra to jednak również masa innych obiektów wizualnych - przygotowanie tego zajęłoby mi wieczność, a... trzeba jeszcze wszystko zaprogramować! Prace nad wieloma tworzonymi po godzinach, nawet małymi, grami potrafią ciągnąć się latami. Dzieje się tak nawet jeśli team buduje więcej niż jedna osoba, dzieje się tak pomimo tego, iż tworzą go nierzadko utalentowane persony. Mnóstwo modów - czyli projektów teoretycznie prostszych, gdyż opartych na modyfikacji, a nie pisaniu wszystkiego od zera - nawet nie dożywa ukończenia prac.

Skutki mojej dwutygodniowej zabawy okazały się lepsze niż się spodziewałem (ale i tak nie są dobre :)), choć nie posiadają one nawet cienia praktyczności. Ludek przechadzający się (i wyszukujący drogę) po prostej, edytowalnej na niskim poziomie, mapie przyniósł mi troszkę radości, ale... każdy kto ma pewne pojęcie o programowaniu zapewne zareagowałby na to zaledwie szyderczym uśmieszkiem. Tracić czas? Szukać chętnych, którzy chcieliby razem z nami ten czas potracić? Nie wiem.

Powyższy tekst jest nieco chaotyczny, tak samo jak chaotyczne były moje ostatnie akcje. Ten tekst nie ma puenty i mieć jej nie miał, tak samo jak moje ostatnie działania nie zmierzają do żadnego konkretnego punktu. Rzecz właśnie w tym czy warto pracować na tę puentę.

Idę się pociąć - jestem EMO.

6 komentarzy:

  1. To początek notek? Czy koniec skoro nie ma puenty?Heh!

    OdpowiedzUsuń
  2. Rzecz właśnie w tym, że nie wiem jak się sprawa potoczy dalej - w tym wszystko tkwi :P. W wolnej chwili popróbuję jeszcze troszkę i zobaczę czy jestem tak beznadziejny czy tylko leniwy :).

    OdpowiedzUsuń
  3. AI? Czyli jakaś bardziej zaawansowana gra akcji albo strategiczna ciebie najbardziej interesuje?

    Zgadzam się, że znaczenie samozaparcia przy tworzeniu czegoś takiego jak gra przewyższa wszystko inne. Kluczowe jest też wyrobienie sobie konkretnych, bliższych w czasie celów, które naprawdę pragnie się osiągnąć.

    Osobiście początkowo miałem największe problemy tego typu, że wymyślałem zarysy epickich fabuł, których wcale nie miałem zapału realizować, jednocześnie mając mgliste pojęcie i idealistyczne wyobrażenie, w jaki sposób projektuje się wyzwania dla gracza.

    OdpowiedzUsuń
  4. Choć pisałem raczej o luźnych ćwiczeniach niż o realizacji konkretnego projektu, prawda jest taka, iż mam kilka pomysłów. Wśród nich jest jeden z etykietą "coś co teoretycznie mogę dać radę" (wymyśliłem sobie to w taki sposób, aby nie było niczym przesadnie skomplikowanym mechanicznie). Co do sztucznej inteligencji: byłaby, lecz na małą skalę, przy czym zostawiłem sobie furtkę ;), tzn. mogę w razie czego zrezygnować z AI kompletnie. Projekt wymagałby może i mniej skomplikowanego kodowania (jednak problem jest ciągle :P), ale niestety miałby mnóstwo treści do ogarnięcia. Pomysły, pomysłami, ale i tak nie wiem czy byłoby to w ogóle grywalne :P. Wątpię żebym dał radę kiedykolwiek to zrealizować, ale jak na razie kontynuuje moją programistyczną edukację.

    Ps Dzięki Igorze za komentarz! Przyznam się, iż po cichu liczyłem na jakiś wpis z Twojej strony ;).

    OdpowiedzUsuń
  5. Mam identycznie jak Ty! Od lat co jakiś czas trafiam na własną "inspirację", wtedy do głowy wpada myśl "a może zrobić by to tak" i... no właśnie, najczęściej kończy się na tym genialnym pomyśle. Ilekroć zacząłem coś kodzić to wszystko padało po kilku dniach. Dlaczego? To proste, bo dochodziła do mnie, że stworzenie gry, która by mnie zadowoliła jest... pracą na miesiące. I no jakoś tak... po prostu lenistwo ;)

    Swoją drogą ostatnio trafiłem na silnik Unity 3D. Polecam Ci się nim zainteresować jeżeli znów postanowisz stworzyć coś swojego :P

    Serdeczne pozdrowienia.

    OdpowiedzUsuń
  6. @C00L3R
    Ująłeś to perfekcyjnie :D.
    Prawda jest taka, że samemu to raczej nic nie zdołam zrobić. No, chyba, że spróbuję realnie wszystko rozplanować, niemniej szanse na powodzenie wciąż będą nikłe :). Zastanawiałem się kilkakrotnie nad tym czy może przygotować sobie na początek jakiś skrypt z mechaniką, fabułą, projektem całości etc. Potem by się zobaczyło.

    Unity3D? A on czasem nie jest płatny? Zresztą trójwymiar i tak mnie przeraża :). W ogóle pojęcie "silnika" brzmi dla mnie dość groźnie :).

    PS Tak to jest: po pięciu dniach przypomniałem sobie, że mam odpisać. Ech, starość :). Dzięki za komentarz, tak swoją drogą!

    OdpowiedzUsuń