Wczoraj w Warszawie odbyło się kolejne spotkanie z serii DevMeetings, tym razem zajęliśmy się detekcją kolizji w grach Javascript. Skupiliśmy się na konkretnym przykładzie, mianowicie na nieśmiertelnym klasyku gier - Asteroids. W ciągu jednego dnia stworzyliśmy działającą grę obsługującą zaawansowane metody detekcji kolizji.

devmeetings detekcja kolizji w grach js


Prowadzący, Marek Pawłowski, na początku zaserwował nam odpowiedni wstęp do tematu, zarówno opowiadając o samym Javascripcie (było całkiem sporo osób, które zajmowały się głównie backendem), jak i pzedstawiając matematyczną stronę rozwiązywania problemu detekcji kolizji. Drobny szczegół, ale dosyć istotny - tym razem dostaliśmy dostęp do całej prezentacji, dzięki czemu podczas kolejnych zadań można było wracać do poprzednich slajdów, jeśli się o czymś zapomniało. Już na samym początku dostaliśmy zadanie rozgrzewkowe - należało zaimplementować w języku Javascript dwie szczegółowo opisane funkcje. Jako, że zostało jeszcze jedno spotkanie z tej serii, nie będę psuł nikomu przyjemności z bycia na DevMeetingu i nie opublikuję ani tego przykładowego zadania, ani slajdów z prezentacji. Zapewne zdecyduję się na to po zakończeniu tej serii spotkań (ostatnie za tydzień we Wrocławiu), jeśli oczywiście nikt nie będzie miał nic przeciwko. Natomiast kilka moich fotek ze spotkania w Warszawie znaleźć można tutaj.

Na poprzednim moim spotkaniu z DevMeetings, programowaniu gier w Javascript, było 10 osób. Tym razem pojawiło się aż 18, z czego zgłoszonych było podobno aż 23. Spotkaliśmy się w tym samym miejscu co w styczniu - w małej, kameralnej salce hotelu Hetman. Już po krótkim wstępie i zadaniu rozgrzewkowym podzieliliśmy się na dwuosobowe zespoły. Zadanie w teorii było proste - po kolejnych dawkach teorii dostawaliśmy polecenie do wykonania, czy funkcje do zaimplementowania, dzięki czemu z godziny na godzinę nasze twory wyglądały i działały coraz lepiej. Pod koniec dnia każdy zespół prezentował swoją wersję gry Asteroids - jedna szczególnie przypadła mi do gustu: zamiast asteroidów w przestrzeni kosmicznej dryfowały charakterystyczne jabłuszka Apple, a pociskami do dyspozycji gracza były małe czerwone ludziki.

Podsumowanie

Było to kolejne świetne spotkanie, a ja cieszę się, że mogłem wziąć w nim udział. Przed spotkaniem niewiele wiedziałem o detekcji kolizji, teraz jestem bogatszy o sporą dawkę wiedzy, którą będę chciał wykorzystać przy najbliższej możliwej okazji. Organizatorzy jak zwykle o wszystko zadbali, prowadzący świetnie przekazywał swoją wiedzę, atmosfera wśród uczestników była bardzo dobra, czego chcieć więcej? Zaryzykuję nawet stwierdzenie, że nie ma w Polsce w tym momencie lepszych, stojących na tak wysokim poziomie darmowych szkoleń front-end i Javascript z tak ciekawym materiałem do przerobienia. Jeśli tylko masz możliwość, zapisuj się od razu - na pewno nie pożałujesz!

Update - materiały

Zgodnie z obietnicą wrzucam materiały ze spotkania - pierwszą wersję Asteroids naszego dwuosobowego zespołu, oraz wersję ostateczną. Wspomniana przeze mnie wersja z jabłuszkami Apple autorstwa ekipy obok (pozdrawiam!) jest godna pozazdroszczenia. Dodatkowo warto spojrzeć na rozwiązanie zadania rozgrzewkowego z aspektami, pozwoliłem sobie wrzucić je na swój serwer, żeby można było zobaczyć pomyślne przejście wszystkich 23 testów. Dla siebie zatrzymuję świetną prezentację autorstwa Marka Pawłowskiego - jest to argument za tym, by zapisywać się samemu na kolejne spotkania, jeśli chcecie mieć w zbiorach tak przydatne materiały.