Tworzenie gier w JavaScript – Object Pooling. Praktyka.

Ostatnim razem przedstawiłem teorię stojącą za ideą Object Poolingu. Omówiłem czym jest i dlaczego warto go używać. Dziś nadszedł czas na praktykę. W tym wpisie pokażę bardzo prosty przykład implementacji Object Poolingu.

Będzie to symulator cząsteczek spadających z jednego punktu na obszarze gry. Cząsteczki te mają krótki okres życia ale za to będą bardzo często się spawnować. Mój program będzie musiał poradzić sobie ze sporą ilością obiektów. Object Pooling sprawdzi się tu świetnie.

JavaScript Object Pooling w grach Czytaj dalej Tworzenie gier w JavaScript – Object Pooling. Praktyka.

Tworzenie gier w JavaScript – Object Pooling. Teoria.

W dzisiejszych czasach w gry webowe zagrać można na różnych urządzeniach, nie tylko na mocnych komputerach stacjonarnych ale też na znacznie skromniejszych urządzeniach mobilnych. Jako developerzy chcemy aby gra dotarła do jak największej grupy odbiorców, dlatego wydajność jest bardzo ważna.

W tym wpisie przedstawię prostą mechanikę, która pozwoli na znaczne polepszenie wydajności każdej gry. Object Pooling, bo o nim mowa to wręcz podstawa, bez której nie można mówić o wydajnie działającej grze. Wiem bo moje własne (też przedstawiane na blogu) gry cierpiały z powodu brak tego mechanizmu.

javascript tajniki programowania gier Czytaj dalej Tworzenie gier w JavaScript – Object Pooling. Teoria.

Tworzenie gier w JavaScript – Zaawansowany Game Loop

Prawie rok temu wrzuciłem tu posta o tworzeniu game loop’ów w grach JSowych. Bardzo dużo zmieniło się od tego czasu. Przede wszystkim nabrałem doświadczenia i nauczyłem się tego i owego. Innymi słowy, nie jestem już aż takim noobem jak kiedyś 🙂 .

Właśnie dlatego dziś wracam do tematu. Teraz, kiedy stworzyłem już kilka prostych gier, mogę powiedzieć co nieco w temacie 🙂 . W tym poście przedstawię bardziej zaawansowaną implementację pętli gry. Przyda się ona nie tylko w grach ale i we wszelkich animacjach i symulacjach.

Tworzenie gier w Javascript Game Loop Czytaj dalej Tworzenie gier w JavaScript – Zaawansowany Game Loop

GCM – Październik: Necropolis – Phaser + TypeScript. Pierwszy prototyp.

W ostatnim poście przedstawiłem podstawowy setup mojej październikowej gry. Tym razem gracz wcieli się w rolę brawurowego awanturnika, który w poszukiwaniu potęgi i chwały zapuścił się w odmęty przeklętych podziemi leżących na granicy świata żywych i umarłych. Niestety miejsce to okazało się niebezpieczną pułapką. Jeżeli nie uda mu się uciec na czas, zostanie w nim uwięziony na zawsze 🙂 .

Całkiem nieźle znam już Phasera, jednak ponieważ używam TypeScriptu zamiast zwykłego JSa, pewne konstrukcje w grze będą wyglądać trochę inaczej. Na szczęście różnic jest niewiele, i są one raczej na plus. W dzisiejszym poście przedstawię implementację podstawowych elementów gry w nowym środowisku, dzięki temu przejście na TSa powinno być bezbolesne.

Jak programowac Phaser TypeScript Czytaj dalej GCM – Październik: Necropolis – Phaser + TypeScript. Pierwszy prototyp.

GCM – Październik: Necropolis – Phaser + TypeScript. Podstawowy setup projektu.

Do stworzenia wrześniowej gry eksperymentalnie wykorzystałem język TypeScript. Bardzo podoba mi się konwencja typowanego JavaScriptu na sterydach. Jednak brakowało mi frameworka Phaser, który lubię i dobrze znam.

Dlatego w tym miesiącu, do stworzenia prostej gry, postanowiłem wykorzystać obie te technologie. Październikowa gra powstanie we frameworku Phaser i napisana zostanie w TypeScript. Zdradzę wam od razu, że to połączenie spisuje się doskonale.

Gra napisana w Phaser TypeScript Czytaj dalej GCM – Październik: Necropolis – Phaser + TypeScript. Podstawowy setup projektu.

GCM – Wrzesień: Gra w TypeScript. Skończona Gra.

Dziś przedstawiam ostateczną wersję mojej pierwszej napisanej w TypeScripcie gry. Szczerze mówiąc ani nie jest to moja najlepsza gra, ani nie jest to wybitny program TypeScriptowy. No ale tak zazwyczaj wyglądają początki, nic na to nie poradzę 🙂 .

Kolejne programy będą na pewno coraz lepsze. Póki co jestem zadowolony, że udało mi się napisać działającą grę bez pomocy żadnych frameworków, nawet jeżeli z założenia jest bardzo prosta.

TypeScript Komplena Gra Czytaj dalej GCM – Wrzesień: Gra w TypeScript. Skończona Gra.

GCM – Sierpień: Space Shooter. Kolejna aktualizacja.

Pora na kolejną aktualizację mojej sierpniowej „gry co miesiąc”. Tym razem dodałem dwa nowe elementy, jeden duży i jeden mały 🙂 .

Pierwszy nowy element to kolejny wróg, który porusza się po generowanych losowo ścieżkach. Za każdym razem ścieżka ta jest inna! Drugi element to licznik, dzięki któremu gra może „dozować” przeciwników. Bardziej zaawansowani wrogowie pojawiać się będą dopiero po upłynięciu określonego czasu.

JavaScript Noob tworzenie gier javascript Czytaj dalej GCM – Sierpień: Space Shooter. Kolejna aktualizacja.

GCM – Sierpień: Space Shooter. Przeciwnicy.

Pojawiające się do tej pory w sierpniowej grze asteroidy (tak, tak te zielone kwadraty to kosmiczne głazy 🙂 ), przeszkadzają graczowi, ale ciężko nazwać je wrogami. Dlatego w dzisiejszej aktualizacji, do gry dodałem dwa rodzaje prawdziwych przeciwników.

Pierwszy z nich to wieżyczki, które z powierzchni planety próbują zestrzelić sterowany przez gracza statek. Drugim rodzajem przeciwnika są okręty przedstawicieli wrogiej bohaterowi frakcji, również wyposażone w broń dalekosiężną 😉 .

JavaScript Noob gra co miesiac Czytaj dalej GCM – Sierpień: Space Shooter. Przeciwnicy.

GCM – Sierpień: Space Shooter. kolejna gra mobilna.

Spodobało mi się granie we własnoręcznie napisaną grę na telefonie. Dlatego postanowiłem, że sierpniowa gra, też będzie mobilna. Od jakiegoś czasu nosiłem się z zamiarem napisania czegoś w rodzaju klonu popularnego Space Impact, gry znanej każdemu kto miał telefon-cegłę Nokia 3310.

Tak właśnie powstał prototyp gry na ten miesiąc. Już na sammym początku dodałem do niej funkcjonalność pozwalającą na grę na telefonie.

gra mobilna JavaScript Czytaj dalej GCM – Sierpień: Space Shooter. kolejna gra mobilna.

GCM – Czerwiec: Robot. Przeciwnicy, pierwszy szkic.

Prace nad czerwcową grą idą jak burza 🙂 . Tym razem prezentowana aktualizacja jest niewielka. Do gry dodałem wczesny szkic mechanizmu obsługującego przeciwników. Będą oni przeszkadzać graczowi w osiągnięciu celu, jakim jest dojście do końca poziomu.

Jak za chwilę udowodnię w treści posta, dodanie wrogów do gry zbudowanej w Phaser jest naprawdę bardzo proste 🙂

Javascript tworzenie gier w phaserJS Czytaj dalej GCM – Czerwiec: Robot. Przeciwnicy, pierwszy szkic.