JS Platformer – post gawędziarski

Ostatnie kilka dni było dla mnie dość intensywne. Nie miałem wiele czasu na własne tematy a w szczególności na bloga. Dlatego stan gry platformowej nie zmienił się od ostatniego wpisu. Ale to może nawet i dobrze. Mały odpoczynek od projektu dobrze mi zrobi, da świeże spojrzenie.

No i dzięki temu mogę napisać posta o czymś innym niż kolejne nowości w grze.

Jak napisac gre platformowa javascript

Więc o czym będzie ten post? Trochę o wszystkim i trochę o niczym. Prace nad platformówką trwają już prawie dwa miesiące, to najdłuższy projekt jaki do tej pory prowadziłem. Naturalnie zebrało mi się trochę przemyśleń na jego temat.

Na początku podjąłem decyzję, że projekt ma sprawiać mi jak największą frajdę. Dlatego prowadzę go w sumie bezstresowo. Co to znaczy? To znaczy, że nie ma żadnych zasad. Po prostu wracam z pracy do domu, włączam kompa, otwieram piwo, edytor kodu i zaczynam. Pytam siebie: ‚to co bym chciał dziś dodać do mojej gry’? Zazwyczaj jednak odpowiedź na to pytanie znam już zanim wejdę do mieszkania 😉 Projekt często wraca do mnie w wolnych chwilach bo praca nad nim sprawia mi frajdę. Udało mi się spełnić początkowe założenie.

Co dzięki temu zyskuję? Nie mam ‚zmęczenia materiału’. Ani razu nie miałem sytuacji, w której musiałbym zmuszać się do pracy nad projektem. Podoba mi się taki tryb pracy. To, że udało mi się go tak długo utrzymać, uważam za drobny sukces.

Oczywiście takie luźne podejście ma też swoje minusy. Brak konkretnej organizacji pracy i ustalonej struktury projektu powoduje, że praca często się ‚rozłazi’.

Najbardziej brakuje mi systematycznego tworzenia testów jednostkowych. Odrzuciłem to na początku jako coś co byłoby zbyt ograniczające. To był jednak błąd. Teraz gdy kod ma blisko dwa tysiące linijek i pojawiają się w nim jakieś błędy, odnalezienie ich źródła zajmuje zazwyczaj bardzo dużo czasu… o ile w ogóle udaje mi się je znaleźć 😉 . Dobre testy na pewno by tu pomogły.

Niestety, brak testów sprawia, że czasem w moim raju pojawia się grom w postaci frustracji spowodowanej niemożnością unieszkodliwienia bugów.

Kolejna ciemna strona projektu, to brak konkretnej struktury i konwencji. Jednego dnia tworze moduł X i stosuje jakieś rozwiązanie, a drugiego dnia moduł Y, w którym podobny problem rozwiązuje w inny sposób. Przez to kod jest mało czytelny. Myślę, że jakbym miał ten projekt komuś przekazać, osoba ta nie byłaby zbytnio zadowolona 🙂 .

Podsumowując, trochę za bardzo rozluźniłem się tworząc ten projekt. Luz na pewno pomaga i daje dodatkowe złoża motywacji, ale też powoduje, że kod robi się niechlujny. Najlepiej byłoby, gdybym znalazł jakąś równowagę pomiędzy luźnym podejściem a zasadami dobrego programowania. Na pewno trochę kodu jeszcze napiszę i nie jeden projekt ukończę zanim znajdę ten złoty środek, ale myślę że będzie warto go szukać.

Dobra, zrzuciłem z siebie ciężar przemyśleń. Powoli czas kończyć ten post o niczym 🙂 Już niedługo bardziej konkretne wpisy. Jeśli nie chcesz ich przegapić zachęcam do polubienia mojej strony na facebooku. Zawsze na bieżąco zamieszczam tam informacje o nowościach.

2 przemyślenia nt. „JS Platformer – post gawędziarski”

  1. Post wcale nie o niczym 🙂

    Ciężko znaleźć złoty środek. Ja osobiście odnoszę wrażenie, że bardzo mocno mnie ciągnie w zupełnie przeciwną stronę, co z kolei także przekłada się na spowolnienie procesu developmentu projektu (który z kolei i tak nie jest szybki ze względu na pracę i wszelkie sprawy życiowe) bo strasznie naciskam na to by architektura i kod były dobrze przemyślane i „fajne”.

    Choć też różnie to wychodzi bo nigdy nie schodziłem niżej niż używania silników dostępnych na rynku i robienia czegoś samemu „od zera”, także kto wie jak to ostatecznie wygląda 🙂

    Ale ostatecznie lubię to w jaki sposób projekt ogarniam bo takie planowanie i „ostrożniejsze” devowanie jest dla mnie całkiem przyjemne i daje satysfakcje jak wszystko ładnie wygląda i działa 🙂

    Także może to jest w tym najważniejsze, by mieć frajdę z tego co się robi, a reszta jakoś pójdzie 🙂

    1. Cieszę się, że moje luźne przemyślenia skłoniły jeszcze kogoś do refleksji 🙂 Z mojej strony wygląda to tak: powyższe wywody odnoszą się do samodzielnego dłubania kodu w domowym zaciszu, że tak powiem, ‚bez zobowiązań’. W prawdziwym życiu, bez dwóch zdań, projekt bez długu technicznego będzie zawsze lepszy niż projekt, który został napisany niechlujnie. Ten wydłużony czas tworzenia na pewno się zwraca 🙂

      Myślę, że to super, że potrafisz się zdyscyplinować nawet przy takim domowym kodzie 🙂 Ja tak naprawdę jestem jeszcze świeżaczkiem i brakuje mi tej samodyscypliny 😀 Staram się na bieżąco refaktorować kod, ale wiadomo jak to jest. Mimo to, im więcej napiszę i im więcej obcuję z kodem tym bardziej się z nim oswajam i mogę powoli wprowadzać więcej dyscypliny. Znam siebie i wiem, że gdybym od samego początku zarzucił się regułami, nie dotrwałbym tak daleko 🙂 Niby staram się pisać jak najlepszy kod, ale jak podwinie mi się noga i tak to ciągnę żeby zobaczyć co będzie dalej. No i następnym razem już nie popełniam tych samych błędów. Chyba to miałem na myśli pisząc o szukaniu złotego środka 🙂

      Póki co udaje mi się ogaraniać jeszcze kod gry, więc nie jest źle 🙂 Inna sprawa, że umiejętność przekucia pomysłu na grę w ciągu parunastu godzin może się przydać. Dzięki temu sprawdzę czy taki pomysł w ogóle „działa”. Jak okaże się, że gra jest drętwa to nie będzie żalu wyrzucić takiego potworka 😛

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *