W ramach naszej witryny stosujemy pliki cookies zgodnie z Polityką Cookie. Zasady przechowywania lub dostępu plików cookie możesz zmienić w swojej przeglądarce.
X

mywebcases
.com



Blog

Geekowy blog o łamigłówkach, JavaScript i wszystkim, co ciekawe.

Cheat Champ Battle: Co to?

Cheat Champ - Cheat Champ Battle -
napisał Jakub Caban

Wypełniliście swoją powinność i wykazaliście jako takie zainteresowanie. Aby Was za to nagrodzić dzisiaj piszę - co knuję w ramach Cheat Champ Battle?

Yyyyyyyyy...?

Na początek może ustalmy kilka rzeczy. Przede wszystkim pisanie ciągle Cheat Champ Battle dla takiego lenia, jak ja, to za dużo. Więc będę psiał CCB, a Wy będziecie wiedzieć o co chodzi. Dodatkowo - CCB (widzicie, jak fajnie?) od początku nie jest jednorazową akcją, ale raczej inicjatywą, w ramach której mogą (i będą) rozgrywane zawody, konkursy, etc.

No - kwestię nomenklatury mamy za sobą. Przejdźmy do merytoryki.

W ramach CCB użytkownicy będą uczestniczyć w bitwach algorytmów. Będzie określone zadanie ze z góry znanymi warunkami działania, kryteriami zwycięstwa oraz "API" pisania skryptu. Każdy uczestnik będzie mógł w ramach portalu tworzyć różne algorytmy, które będą miały za zadanie uczestniczyć w bitwie. Będzie mógł również walczyć ze swoim algorytmem grając ręcznie, bądź oglądać walkę dwóch swoich botów.

Ale na tym nie koniec! Może również wyzwać innych uczestników do pojedynku! Gdy druga osoba podejmie wyzwanie gra rozegra się automatycznie na serwerze, a jej wynik (z całym przebiegiem) będzie dostępny do podglądu.

A wszystko ma zmierzać w kierunku wielkiego (miejmy nadzieję z milion użytkowników będzie ;) ) turnieju. Idealnym rozwiązaniem będzie wtedy sytuacja, gdy turniej taki będzie mógł być rozegrany w systemie znanym z wszelakich gier sportowych - gra w grupach, potem play-off i wyłonienie Mistrza.

Eeeeeeeee...?

Dobra - za dużo ogólników. Czas na jakiś konkret i opis tego na przykładzie. Otóż pierwszą grą, którą szykuję w ramach CCB jest...

[werble i fanfary etc.]

PONG! Taki zwykły, znany każdemu pong. Teraz już możecie chyba łatwo się zorientować, jaka rola jest uczestnika takiej gry.

Każdy będzie mógł napisać algorytm/automat, którego zadaniem będzie na podstawie aktualnej pozycji na planszy i historii rozgrywki decydować w jaki sposób chce przesunąć paletkę. Oczywiście z celem ostatecznym pokonania paletki po drugiej stronie, którą steruje inny algorytm.

W jaki sposób to wszystko będzie się odbywało? (uwaga, trochę technicznie) Oczywiście nie będzie tak, że Wasze skrypty będą mogły wszystko. Będą one wykonywane w ramach kontekstu wydzielonego dlań Web Wroker'a, który będzie otrzymywał co klatka informacje o aktualnych pozycjach na planszy i jedyną komunikacją jego będzie wysłanie do wątku głównego informacji o planowanym ruchu. Ponieważ wątek ten jest niezależny od głównego będzie miał całą klatkę (aktualnie 40ms; może ulec zmianie oczywiście) na wysłanie informacji zwrotnej. Jeśli nie zdąży - ruch w kolejnej klatce będzie wzięty z ostatnio otrzymanej odpowiedzi.

W ten sposób można będzie stworzyć sobie całą bibliotekę algorytmów i rozgrywać między nimi gry na bardzo różnych planszach (różne wymiary, promień piłki, rozmiary paletek, prędkości etc.). W sytuacji gry turniejowej bądź wyzwania innego gracza techniczny aspekt gry trochę się zmienia. Całość będzie rozgrywana na serwerze, gdzie automat będzie emulował sytuacje z przeglądarki oraz zapisywał całą grę - po to, aby gracze mogli później obejrzeć swoje zmagania. Dodatkowe uzasadnienie takiego rozwiązanie jest takie, że przecież użytkownik A nie może mieć dostępu do treści algorytmów B! I nie będzie miał!

Ahaaaaaa...?

Ciężko mi od razu opisać wszystko, co jest istotne, więc może teraz krótkie "selFAQ" - czyli w formie prostych pytań i odpowiedzi tematy, które mogą jeszcze Was nurtować. Jednocześnie informuję, że od dziś możecie pytać o wszystko, co chcecie, dotyczącego CCB i nie będę uciekał od odpowiedzi.

Kiedy?

Bardzo dobre pytanie. cieszę się, że ktoś je zadał. Odpowiedź w skróci brzmi "when it's ready". A tak na prawdę, to celuję w koniec lipca z uruchomieniem otwartej wersji beta portalu. I od tego momentu już wszystko zależy od tego, kiedy ja i Wy uznamy, że system rozgrywek jest stabilny i ciekawy. Ciekawy, bowiem na etapie beta testów na pewno będzie się zmieniać fizyka samej gry, aby dawała jak najbardziej interesujące możliwości.

Dla kogo?

Dołączyć do CCB będzie mógł każdy. Nie jest wymagana biegła znajomość JavaScript. Jeśli programujesz w dowolnym innym języku - na pewno sobie poradzisz. Owszem - algorytmy na zawody muszą być napisane w JS, ale będą wykorzystywały bardzo podstawowe (rzekłbym leksykalne) aspekty tego języka. A z tymi poradzi sobie każdy - tym bardziej, że dostępne będą przykładowe algorytmy grające, na których wszystko będzie można podejrzeć.

Ile kręgów szyjnych ma żyrafa?

Siedem.

Akcja będzie się działa w nocy?

W ramach zawodów początkowy zamysł jest taki, by w godzinach porannych rozgrywały się turniejowe gry. W ten sposób już rano uczestnicy wiedzą, z kim będą się zmagać kolejnego dnia i będą mieli cały dzień na dostosowanie i wybranie algorytmu grającego, który zostanie "wystawiony" do walki.

Czyli muszę siedzieć nad tym co dzień?

Nie. Równie dobrze możesz raz pobawić się godzinkę i puścić algorytm do zawodów bądź rzucać wyzwania, co bawić się dniami i nocami szukając nowych, lepszych rozwiązań. Idea jest taka, byś CCB poświęcił tyle czasu, ile chcesz. To w końcu ma być rozwijająca rozrywka.

Co mogę wygrać?

Tego jeszcze nie wiem. Jest za wcześnie, byśmy rozmawiali z potencjalnymi sponsorami zawodów.

Tylko pong? Trochę żenada i smuteczek...

To już zależy tylko i wyłącznie od Was. Jeśli temat okaże się interesujący i będziecie chcieli się weń bawić, to z pewnością Was nie porzucę. Na początek chcę oczywiście dopracować jedną grę do perfekcji, ale wcale nie mam zamiaru na niej poprzestać. Kolejne pomysły poza pongiem już z tyłu głowy się kołaczą i na pewno będę chciał je wprowadzać w życie, jeśli będzie dla kogo.

Łaaaaaał...

Podoba Wam się idea? Piszcie! Nie podoba Wam się? Również piszcie! Macie pomysły, pytanie, sugestie, fajne zdjęcia żyraf? Również - piszcie!

Ja jestem jeden i wiem, co mnie bawi. Ale chciałbym, aby CCB bawiło jak najwięcej z Was, a do tego potrzebuję pomocy. Mogę na nią liczyć?

Jeśli chcecie być na bieżąco, to poza śledzeniem My Web Cases warto odwiedzić nową wersję strony battle.cheatchamp.pl i zapisać się na listę mailingową!

Cheat Champ Battle
Cheat Champ Battle to wojna między użytkownikami, w której nie poleje się krew, a zmęczenie zaspokojone będzie jedynie przez piwo, kawę i Red Bulle. Odważysz się dołączyć do gry?

Podobne artykuły:

Skomentuj: