Cape Knight

Wspinaczka w stylu Jump Kinga. Ładujesz skok, puszczasz — i już nic nie poprawisz. Grafika z PixelLaba, poziom z generatora, teraz też razem ze znajomymi.

0zależności runtime
3biomy z pogodą
5żywych kafli
seedów góry

O grze

Zero kontroli w powietrzu

Kierunek i siła skoku zamykają się w momencie wybicia — to jest cała gra. Żadnego sterowania w locie, żadnego cofania błędu. Poziom generuje się od nowa z każdego seeda, ale nigdy losowo w sensie "może się nie dać przejść": generator planuje trasę tą samą fizyką, której używa silnik gry, więc każda góra jest przechodnia z definicji.

Generator

Nigdy ta sama góra

Każdy seed to inna trasa — inne przeskoki, inne rykoszety od ścian, inne skróty. Fizyka lotu jest symulowana krok po kroku, więc żadna półka nie stoi poza zasięgiem.

Fizyka

Rykoszet to nie kara

Prędkość pozioma w locie jest stała. Dla danej różnicy wysokości istnieje nie tylko maksymalny, ale i minimalny odskok — dlatego czasem jedyną drogą jest odbicie się od przeciwnej ściany.

Konsekwencje

Ciężki upadek boli

Długi spadek kończy się rozpłaszczeniem i utratą kontroli na kilkadziesiąt klatek. Krucha deska pęka pod stopami. Nic tu nie wybacza w locie — tylko na ziemi.

Biomy

Im wyżej, tym zimniej

Góra dzieli się na trzy pasy wysokości. Każdy ma własny tileset, własną pogodę i — na wyłączność — własne elementy mapy: biom da się odczytać z samej mapy, zanim jeszcze zobaczysz kafle.

Omszałe ruiny u podnóża góry, sylwetki sosen na tle nocnego nieba

Ruiny · parter

Sucho, spróchniałe belki pod stopami. Bez pogody — czyste powietrze, zanim wejdziesz wyżej.

krucha deska
Las deszczowy w środkowym pasie góry, sylwetka wieży we mgle

Las deszczowy · środek

Leje. Pnącza na ścianach łapią zamiast rykoszetu, sprężyste rośliny odbijają w górę.

pnączesprężyna
Oszroniona skała powyżej chmur, lodowe półki i sople

Zima · szczyt

Śnieży. Lód prawie bez tarcia — ładowanie skoku nie hamuje, celujesz w ruchu. Komin powietrzny unosi w locie.

lódkomin powietrzny

Sprężyna

Lądowanie zamienia się w wybicie — nawet upadek "na splat".

Krucha deska

Pęka po ok. 0,4 s stania, trzeszczy coraz szybciej jako ostrzeżenie.

Pnącze

W locie chwyta zamiast rykoszetu — zsuwasz się powoli po ścianie.

Lód

Prawie zerowe tarcie. Ładowanie skoku nie hamuje.

↑↑↑

Komin powietrzny

Jedyny nielity kafel — unosi w locie, na ziemi nic nie robi.

Umiejętności

Dwa wyjątki od reguły

W powietrzu nie ma żadnej kontroli — poza dwoma świadomymi, głośnymi gadżetami. Żaden z nich nie zastępuje skoku, tylko czasem ratuje z niekorzystnej pozycji.

Q

Rocket Grab

Trzymaj, żeby celować — strzałki obracają celownik w górnym półkolu. Puść, żeby strzelić: trafienie w kafel dociąga do niego, ignorując grawitację. Kropkowana linia pokazuje dokładnie, dokąd doleci pięść — złota z ramką znaczy chwyt, szara przelot.

Zasięg ~13 kafli Cooldown ~0,8 s
E

Rzut kamieniem

Tapnij, żeby rzucić odruchowo, w stronę patrzenia. Przytrzymaj dłużej, żeby wejść w celowanie — pełny okrąg, w tym w dół, na niższą półkę. Czas trzymania ładuje moc rzutu, a podgląd to prawdziwa parabola z tą samą grawitacją co pocisk.

Tryb tap / hold Cooldown ~0,75 s

Sterowanie

Proste w założeniu

KlawiszDziałanie
spacja Wprzytrzymaj = ładowanie skoku, puść = skok
A Dchodzenie i kierunek — skok zawsze leci tam, gdzie patrzysz
QRocket Grab — celuj i strzelaj hakiem
Ekamień — tapnij dla odruchu, przytrzymaj dla celowania
FLALKARZ (umiejętność) — przejmujesz sterowanie najbliższym rywalem na 3 s
CZAMIANA (umiejętność) — teleport miejscami z najbliższym rywalem w zasięgu
Rod nowa, ta sama góra
Nnowa góra, losowy seed
Mwycisz
F1podgląd diagnostyczny (hitbox, ścieżka generatora)

Na dotyku: lewa/prawa tercja ekranu to kierunek, dotknięcie ładuje skok.

Wspólna góra

Razem, nie przeciwko sobie

Jeden serwer, jedna góra, wszyscy naraz. Każdy wchodzący dostaje ten sam seed i widzi resztę jako duchy tego samego rycerza w innym kolorze. Model sieciowy jest świadomie najprostszy z możliwych: każdy klient liczy własną fizykę, serwer tylko przekazuje pozycje.

Gracze nie kolidują ze sobą przypadkiem — cudzy hitbox spychający z półki byłby najgorszą możliwą karą za czyjś lag. Za to można wesprzeć się (albo uprzykrzyć) hakiem i kamieniem.

Odpalenie własnego serwera

node tools/server.mjs 8080 nazwagory 8

port, seed i liczba pokoi — wszystko opcjonalne. Serwer wypisuje też adres w sieci lokalnej, więc druga osoba dołącza bez internetu.

Nick ustawia się przez #name=TWOJNICK w adresie.

Zaczynamy

Zero builda, zero zależności

Grasz od razu w przeglądarce — wspólna góra już tu stoi. Chcesz własną, niezależną sesję (np. dla siebie i znajomych, bez dzielenia się z resztą odwiedzających)? Uruchom to samo lokalnie — dwie komendy niżej.

Własna sesja, z multiplayerem
npm start
# gra + wspólna góra, http://localhost:8080
Solo, bez WebSocketa
npm run solo
# zwykły python3 -m http.server