Sezon na podsumowania kwitnie w najlepsze. Rozrosło się postów na sam koniec konkursu, że hoho!
Więc oto i moje podsumowanie konkursu Daj się poznać.
Wymagania i cele
Wymaganiami w konkursie były:
- 10 tygodni x 2 posty
- Projekt open-source
A celami jakie ja sobie obrałem:
- Postawić solidnego bloga
- Nauczyć się Clojure’a
Retrospekcja
Wstępniak – czyli konkurs i wybór projektu:
Środowisko i narzędzia:
- Clojure – Introduction
- Clojure – Environment choice
- Clojure – Environment setup
- Clojure – Structural editing & keybindings
- Clojure – Code coverage
- RL Engine – Continuous integration
- Code quality checks
Pierwsza funkcjonalność:
- RL Engine – Architecture
- First feature of RL Engine
- Dungeon generation algorithms
- Road to BSP
- BSP implementation
I tutaj post kończy się zdaniem:
Poza tym, w środku implementacji leży mały problem…
Problem polega na rekursywnym tworzeniu i obrabianiu drzewa lochów.
Jak to z rekursją bywa, jest ona podatna na StackOverflow – tak też było w tym wypadku.
Zostawiłem sobie więc
;TODO: change to recur
i zacząłem drążyć temat optymalizacji ogonowej:
Po zaopatrzeniu się w odpowiednią wiedzę stwierdziłem, że odłożę ten temat na później – lepiej skupić się na dokończeniu generatora poziomów.
Brakowało w nim jeszcze przycinania pokoi oraz łączenia ich.
Najpierw dodałem obcinanie pokojów a potem zabrałem się za łączenie pokojów.
No i tutaj, w sumie dalej jestem…
O ile samo łączenie działa – to gryzie się z obcinaniem.
Gdzieś w połowie tego procesu stwierdziłem, że zajmuje on stanowczo za dużo czasu.
Doszło nawet do tego, że zacząłem żonglować pojedynczym commitem między komputerami:
Wymyśliłem więc alternatywę i zamiast pisać posty na temat debugowania, testowania i grzebania w algorytmie, to zaplanowałem serię postów na temat portowania Clojure.
- RL-Engine for CLR hosted languages – ClojureCLR
- Merge libraries into single executable
- RL-Engine for JavaScript – ClojureScript
- Rendering RL-Engine in Unity3D
Pomysł okazał się idealny – portowanie okazało się super przyjemne i szybkie.
No i tak oto ostatni post w barwach DSP przenosi nas z powrotem w teraźniejszość.
Podsumowanie
Więc co tak naprawdę udało się zrobić w ciągu tego konkursu?
- Zakwalifikować się jako finalista (21 postów)
- Ogarnąć i postawić solidny blog
- Wypracować sobie nawyk pisania na blogu
- Nauczyć się Clojure’a
- Zacząć projekt RL-Engine
A co się nie udało?
Z racji brakującego czasu (jak zawsze), niestety nie udało mi się ukończyć generatora poziomów.
A szkoda, liczyłem, że chociaż jedna funkcjonalność będzie pełna.
Coś jeszcze?
Tak! Kilka bonusów:
- Super sprawą okazał się Slack dla konkursowiczów!
- No i projekt zyskał profesjonalne logo: RL-Engine just got logo
Quo Vadis?
Cóż, blog będę na pewno prowadził dalej…
A ten generator wypadało by przecież dokończyć 😉
Be First to Comment