Programowanie gier
Dlaczego Unity 3D ???
by kubagert on sty.22, 2011, under Programowanie gier, Unity3D
Gdy pisałem swoje pierwsze gry, budowałem je samodzielnie od podstaw, czyli – engine – przygotowanie asetów, wbudowany edytor i jednocześnie grę. Pisanie własnego silnika jest bardzo modne. W zasadzie każdy programista którego pasja oscyluje wokół tworzenia gier, takowy silnik stworzył (a przynajmniej doprowadził do jakiejś sensownej formy). I na tym kończy się przeważnie etap prac. Programista się wypala, czasem walczy z własnymi błędami projektowymi, babolami we własnych, super genialnych algorytmach, itp. Z czasem odkrywa, że chciał zrobić genialną grę, a utknął na podstawie zwanej silnikiem, lub zauważa, że tak bardzo skupił się na rozwoju silnika, że zapomniał robić grę. (continue reading…)
Sublustrum / Outcry
by kubagert on gru.29, 2010, under Programowanie gier
Daaawno dawno temu wpadła w moje ręce gra pt. Sublustrum ( znana także jako Outcry ). Jako że jestem fanem gier point&click grę postanowiłem przejść.
Grało się całkiem ciekawie. Jako że po przejściu gry pozostał mi pewien niedosyt, postanowiłem zobaczyć jak jest zbudowana od środka.
Szybki podgląd paczek plików utwierdził mnie w przekonaniu, że struktura jest bardzo prosta. Każdy plik pak zawiera w swojej strukturze:
- ilość plików w paczce
- nazwę pliku
- offset pliku względem początku
- długość pliku
Wypakowanie wszystkich plików z paczki było pryszczem, ale okazało się, że są one zaszyfrowane, lecz za pomocą bardzo prostego klucza. Na klucz wpadłem analizując nazwy plików, założyłem, że pliki graficzne są plikami DDS, dźwiękowe WAV lub OGG. Szukając powtarzających się wzorców odkryłem klucz: każdy bajt został rozbity na dwa półbajty (starsza i młodsza część. Z takiego podziału otrzymujemy 4 bity (wartości od 0-15). Każdej wartości przyporządkowana została nowa wartość z tego samego przedziału (czyli szyfr Cezara). Raz dwa powstał programik, który wypakowywuje wszystkie pliki z paków, oraz je poprawnie dekoduje. Dwie małe próbki:
Bober The Beaver – puzzle
by kubagert on wrz.24, 2010, under Programowanie, Programowanie gier
W momencie ukończenia gry Bober The Beaver powstał projekcik poboczny – puzzle. Aktualnie mamy do wyboru 6 obrazków do ułożenia. Zapraszam.
Bober The Beaver Puzzle
Bober The Beaver Demo
by kubagert on wrz.22, 2010, under Programowanie gier, Różne
Po roku ciężkiej pracy, jednej zmianie silnika, po 2 przeprowadzkach, po ślubie, wyprawie na Opener’a, Woodstock oto i jest,
BOBER THE BEAVER demo
Pograć można w przeglądarce internetowej, oraz ściągnąć wersję na pc’ta ( w sensie pod windowsa ).
Zapraszam wszystkich pod adres: www.boberTheBeaver.com/demo/
Bober The Beaver
by kubagert on lip.12, 2010, under Programowanie gier, Różne
Bober The Beaver from Dash Dot Creations on Vimeo.
Więcej na www.dashdot.pl/blog
Taglines system, cutscenes system
by kubagert on wrz.10, 2009, under Programowanie gier, Unity3D
Udało mi się w końcu ukończyć moduł „Taglines”. Co to takiego „taglines” ?? Jest to system skryptów graficznych służacych do skryptowania rozgrywki w grach. Powstał początkowo jako edytor graficzny dialogów do projektu „Afterfall” ale szybko przeszedł metamorfozę, został przeprojektowany, przepisany i teraz jest świetnym pełnowartościowym narzędziem. Narzędziem nieocenionym do skryptowanai gry, level designerzy nie muszą rozumieć zasad programowania, gdyż skryptowanie odbywa się poprzez tworzenie odpowiednich grafów i odpowiedniego łączenia „końcówek” bloków grafu. (continue reading…)
Pathfinder
by kubagert on kwi.30, 2009, under Programowanie gier
Nadeszedl moment w ktorym mogłem przetestować w końcu swój system wyszukiwania drogi na potrzeby gry. Pierwsza generacja bazuje na znanym i popularnym algorytmie A*. Wszystko sprzężone jest z silnikiem UNIGINE. Cała siatka wykorzystywana do wyszukiwania drogi generowana jest z geometrii świata. Fajnie jest w końcu zobaczyć jak postaci same zmierzają do wybranego przez nas miejsca
. Następnym krokiem będzie wygładzanie odnalezionej ścieżki. Na deser zapraszam do obejrzenia działania
(continue reading…)
FemtoEngine – pierwszy projekt
by kubagert on kwi.28, 2009, under Programowanie gier, Unity3D
Prace nad silniczkiem idą jak przysłowiowa krew z nosa. Manager plików i katalogów został nieco rozbudowany, i jest juz prawie przygotowany do działania
. Dodatkowo postanowiłem w koncu napisać renderer od początku (stary bazował jeszce na funkcjach z OpenGL 1.2). Oczywiście zostaję przy OGL’u bo dx’a trochę nie lubię, lecz nie zmienia to faktu że muszę nauczyć się kolejnych nowych rzeczy (pisanie shaderków). Spowoduje to na pewno opóźnienia w ukończeniu pierwszej produkcji, ale na szczęście ta produkcja jest grą 2D, więc shadery tez nie będa „Crysisowe” lecz maksymalnie proste. Przez czas od ostatniego wpisu do teraz edytor ma już opcję wstawiania nowych elementów do levelu, oraz możliwość ich przesuwania. Jeszcze by się przydała możliwość ich kasowania, grupowania itp, ale nie wszysto na raz. Hmm, tak w sumie piszę o produkcji i grze ale nie napisałem jeszcze co to będzie dokładnie. A będzie to STRIKE
FemtoEngine
by kubagert on kwi.08, 2009, under Programowanie gier, Unity3D
Chyba dorosłem już do napisania nowego silniczka
Przez około dwa tygodnie do dnia dzisiejszego męczyłem się z implementacja LuaPlus w swoim frameworku. Przysporzył mi trochę problemów, ale udało mi się w końcu tę bibliotekę poskromić (a przynajmniej tak mi się wydaje). Nie tracąc ani chwili oddechu od razu napisałem prosty manager plików i katalogów wraz z interfejsem do LUA. Dzięki temu mogę tworzyć nowe jednostki w grze
Heh, teraz te słowa i tak brzmią trochę pusto
. Więc: Tak jak mówiłem na początku piszę swoj nowy silniczek, który będzie się nazywać FemtoEngine i będzie podstawą do tworzenia prostych (?) gier platformowych. Będzie to kolejna ewolucja silnika który napisałem na potrzeby gry WłatcyMóch ale piszę go zupełnie od początku. Czyli kompletnie od zera. Nie wiem ile razy jeszcze będę wałkować te same fragmenty kodu, ale swój kod można poprawiać w nieskończoność. Tak jest i tym razem, z nowym bagażem doświadczeń silnik powinien być lepszy, elsatyczniejszy, i w ogóle fajniejszy
. Co wyjdzie z tego potworka – zobaczymy



