Historia pewnej Gry

Jak ten czas leci! Kilkanaście miesięcy temu przyszedł mi do głowy pewien zdawałoby się utopijny pomysł. Czemu, zastanawiałem się głośno, promując wtyczkę Silverlight, skupiać się wyłącznie na aspektach biznesowych? Może warto spróbować na ile będzie ona przydatna w bardziej przyziemnych, rozrywkowych scenariuszach? Zróbmy grę, a najlepiej pokażmy, jak zrobić grę. Teoretycznie ten eksperyment Microsoft miał już za sobą, dopiero co zamknęliśmy bowiem świetny moim zdaniem serwis dla “niedzielnych” twórców gier – Popfly. Czasami jednak lepiej uczyć się na swoich własnych błędach, udało mi się więc "wydeptać” zielone światło dla tego projektu.

Gorąca głowa

Pierwotna idea była prosta (wciąż z resztą można się z nią zapoznać): przygotujmy pakiet narzędzi, które ułatwią programistom tworzenie konkretnego typu gry, dostarczając im gotowych do wypełnienia treścią ram. Padło na stosunkowo mało popularny w Polsce (choć mocno wierzę, że posiadający potencjał komercyjny) gatunek – hidden object games. To rodzaj łamigłówki, w której na kolejnych planszach gracz ma za zadanie odnajdować widoczne na liście przedmioty. Prosta w założeniach idea wydawała się wprost idealna dla naszych eksperymentów.

Resources

Po określeniu zakresu projektu kolejnym wyzwaniem było skompletowanie zespołu. Szczęśliwie mniej więcej w tym samym okresie polski oddział Microsoft rozpoczął szeroką promocję praktyk studenckich, dzięki czemu trafiło do mnie 3 ochotników: Miron Błocki, Bartek Czudek oraz Łukasz Strąk. Kryterium było proste - chęć zdobycia lub pogłębienia swojej wiedzy przy konkretnym, praktycznym zadaniu. Miron z racji swojego doświadczenia zajął się przygotowywaniem tzw. “oprawy” (scenariusz dla naszej pierwszej gry, grafika), reszta kolegów skupiła się na kodzie.

Projekt, czyli czemu ważniejsza jest podróż niż ostatni przystanek

Gros naszych prac skoncentrowało się na przygotowaniu tzw. technicznego demo, czyli niezbyt (tak nam się przynajmniej pierwotnie wydawało) rozbudowanej gry, która stanowić będzie kompletny scenariusz przygotowywanego silnika. Nie wchodząc w szczegóły oto kilka wniosków, które zostawiam potomnym ;):

  • Warto pamiętać o zachowaniu odpowiedniej równowagi między nauką a pracą – lepiej z góry uwzględnić tzw “learning mode”, który zwykle wykracza poza aspekty stricte technologiczne. Przykładem może być np. wypracowanie odpowiedniego sposobu i stylu komunikacji, szczególnie gdy (tak jak w moim przypadku) zespół jest w pełni rozproszony. Z naszej perspektywy takim “wyzwaniem” było poznanie I przyzwyczajenie się do CodePlexa (bez bicia przyznaję, że jest tu jeszcze trochę do zrobienia), czy efektywne śledzenie postępów i rozliczanie zadań.
  • Dziedzictwo .NET może okazać się balastem – to dość ciekawy efekt, który dał nam się we znaki na początku, kiedy teoretyczne ułatwienie jakim jest doświadczenie w tworzeniu aplikacji na platformie .NET staje się balastem. Czasem trzeba poświęcić na stosie swoje dotychczasowe praktyki, aby spojrzeć na nowo na możliwości wydawać by się mogło znajomej technologii.
  • Zabawa– może to tylko specyfika tego projektu, ale mam wrażenie że czasy, w których słowo “student” było synonimem wolnego czasu dawno już minęły. Studia, praca zawodowa, dodatkowe, bardziej priorytetowe aktywności – bardzo trudno w takich warunkach skupić się wyłącznie na “księgowości” projektowej. Czasem lepiej jest zrobić mniej, ale… mieć znacznie lepsze samopoczucie :).
  • Prawda stara jak świat, ale zawsze warta przypomnienia – nie kojarz projektu software’owego wyłącznie z zespołem programistów. Bardzo szybko okazało  się w naszym przypadku, że wąskim gardłem jest generowanie elementów graficznych. A nieco później, że dobry developer nie musi czuć się komfortowo w roli testera…

Rezultaty

Po ponad półrocznej pracy możemy wreszcie podzielić się publicznie osiągniętymi rezultatami. Hostowany od samego początku na platformie CodePlex projekt o nazwie HOG zmaterializował się w końcu, oferując w tej chwili dwa elementy:

  • szablon do Visual Studio 2008, pozwalający rozpocząć projekt nowej gry w oparciu o gotowe komponenty
  • Souvenirs – czyli wspomniane już techniczne demo, gotowe do pobrania lub gry online: image

Choć formalnie praktyki dobiegły końca mocno liczę, że to nie koniec całego projektu. Tak wiele rzeczy pozostało jeszcze wciąż na papierze lub w głowach twórców ;)

PS. Prawie zapomniałem o podziękowaniu najbardziej tajemniczemu członkowi naszej grupy: M.P. – dzięki za okraszenie całości klimatycznym audio!