Sukces w tworzeniu gier - #2

Kontynuuję serię o sukcesie w tworzeniu gier; dzisiaj na tapecie kolejne dwa czynniki - bycie dobrym w danej dziedzinie oraz skupienie się. Ponieważ większość Czytelników zajmujących się tworzeniem gier to prawdopodobnie przede wszystkim programiści, dlatego będę stosował termin 'twórca gier' i 'programista' zamiennie. Większość przemyśleń tak na prawdę odnosi się w taki sam sposób do każdej dziedziny gamedev'u, a dzięki uproszczeniu tematu do samego programowania gier będzie mi łatwiej pisać, a Wam zrozumieć ;). Bycie dobrym w danej dziedzinie (Good) Myślą przewodnią tego tematu są słowa twórcy gier, Alexa Gardena
"To be successful, put your nose down in something and get damn good at it."
By osiągnąć sukces jako twórca gier trzeba przede wszystkim dbać o swoje umiejętności i być dobrym w swej dziedzinie. To stwierdzenie wydaje się oczywiste, ale bardzo prosto zapomnieć tu o kwestii, która osobiście wydaje mi się kluczowa. Łatwo można popaść w pewnego rodzaju pychę, czy wręcz samouwielbienie gdy zaczynamy dochodzić do wniosku, że umiemy już bardzo dużo, jesteśmy świetnymi programistami, mamy duże doświadczenie w tworzeniu grafiki 3D, etc. Jest to szczególnie niebezpieczne, gdy te stwierdzenia są poparte naszymi osiągnięciami. Dlaczego tak piszę? Dlatego, że bardzo ważne jest, by stale się rozwijać! I są na to co najmniej dwa powody:
  • Technika idzie do przodu Jest to bardzo widoczne w branży tworzenia gier. Każdego roku sprzęt komputerowy ma coraz większe możliwości, a gracze coraz wyższe oczekiwania. Za tym wszystkim muszą nadążać twórcy gier. Kiedyś dobrze sprzedawały się gry, w których grafika była wyświetlana w rozdzielczości 320x200, kolorów w użyciu było kilka, a o powszechności trzeciego wymiaru nikt nie marzył. A dzisiaj? Takie gry jest w stanie stworzyć praktycznie każda osoba po podstawach C++ i kursie Allegro lub DirectDraw. Jednak gdy praktycznie każdy gracz posiada akcelerator grafiki 3D z shaderami a gry stają się coraz bardziej fotorealistyczne, napisanie dobrej gry wymaga coraz większych umiejętności. Podstawy grafiki 2D nie wystarczą, dziś trzeba umieć obsłużyć wszelkie nowinki technologiczne.
  • 'Mięsień nieużywany zanika' To popularne stwierdzenie dobrze oddaje, co dzieje się z programistą gdy nie praktykuje tej sztuki. Jeśli ciągle czegoś nie tworzy, nie rozwija się, to powoli zacznie tracić wyczucie, a w końcu i spora część rzadziej stosowanej wiedzy wywietrzeje. Tutaj nie ma rady, jedynym sposobem by być dobrym to "ćwiczyć, ćwiczyć i jeszcze raz ćwiczyć". Kiedy ostatnio coś kodziłeś? :)
Nie ma tu drogi na skróty - żeby być dobrym, trzeba działać. Przysiąść, doedukować się i wykorzystywać tą wiedzę w praktyce. By osiągnąć sukces, trzeba być stale dobrym. Trzeba się rozwijać. Skupienie się (Focus) Ten element jest bardzo powiązany z poprzednim. Żeby być faktycznie dobrym (i coraz lepszym), trzeba się skupić. Co to znaczy? Do jakiego stopnia "oddać się" tworzeniu gier? Tutaj przede wszystkim trzeba wykazać zdrowy rozsądek i zastanowić się, dlaczego chcemy osiągnąć sukces w tworzeniu gier. Jeśli wiążemy z tym naszą przyszłość zawodową, to nasze skupienie na temacie powinno być duże. Nie można jednak zaniedbać rzeczy ważniejszych - spraw duchowych, rodziny, przyjaciół, zdrowia. Dokształcanie się i ciągłe praktykowanie pochłania dużo czasu, dlatego trzeba ten czas wykupywać kosztem innych zajęć, które uznamy za mniej ważne. Doba ma niezmiennie 24 godziny i dlatego wypada umieć zarządzać tym czasem :). Można też pomyśleć o skupieniu na trochę niższym poziomie. Gdy rozwijamy się jako programiści gier, trzeba uważać na pokusę uczenia się wszystkiego na raz. Lepiej skupić się całkowicie na jednym zagadnieniu (np. obsłudze biblioteki Boost::Thread, zaawansowanych technikach graficznych w OpenGL, etc.) i po jego opanowaniu dopiero przejść do następnego. Na Warsztacie można znaleźć przykład mocnego skupienia się na tworzeniu gier. Tych, którzy doczytali do końca zapraszam do udzielania się w komentarzach, a w następnym odcinku omówię kolejne dwa czynniki sukcesu - Pchanie i Oferowanie czegoś wartościowego.