sobota, 18 czerwca 2011

[Moth] Wstęp



Nazwa: M.O.T.H. (potem wymyślę coś lepszego)

Technologie: XNA Framework 4.0

Jest to projekt o którym myślałem od jakiegoś czasu. Prosta gra należąca do gatunku vertical scrolling shooterów, do którego należały takie hity jak

Po prawej znajduje się wstępny render statku gracza. Pierwotnie pomysł zakładał stworzenie bardzo pompatycznej i zbyt przesadnej otoczki fabularnej w okół całej gry. Ziemię zaatakowali obcy a ty jesteś jednym z pilotów walczących z najeźdźcą. Fabuła miałaby być przedstawiona w formie filmów propagandowych w stylu Starship Troopers.

O ile z konceptu fabularnego pewnie nic nie zostanie, o tyle postanowiłem zrealizować sam gameplay. W miarę możliwości będę starał się zrobić z tego pełnoprawną grę od początku do końca.

czwartek, 16 czerwca 2011

[Sokoban] #3

Dziś skończyłem pracę zaliczeniową z Technologii Multimedialnych. Link do efektu końcowego znajduje się prawej stronie.

Gra nie posiada preloadera, więc u niektórych gra może zamarznąć na krótką chwilę po uruchomieniu. W ogóle sama gra ma dziwny problem z przechowywaniem danych w pamięci, bo z każdym kolejnym etapem, fps zaczyna spadać w sposób niekontrolowany, sprawiając że na ostatnich poziomach gra jest niegrywalna. Nie mam pojęcia co może to powodować.

W między czasie znowu zmieniłem silnik graficzny, tym razem z powrotem na Papervision. Okazało się, że Sandy3D nie ma bladego pojęcia jak zarządzać buforem głębokości (albo ja nie umiem tego skonfigurować, albo po prostu twórcy nie przewidzieli czegoś takiego). Nie mniej na S3D nauczyłem się pewnych rzeczy i powrót do Papervision był czystą formalnością. Papervision po bliższym zapoznaniu okazało się być bardzo wygodnym środowiskiem do tworzenia 3D we Flashu, ale to nie zmienia faktu, że to w dalszym ciągu poroniony pomysł.

Dlatego też nie mam zamiaru kontynuować tego projektu w żadnej formie. To toporna, niewygodna i bardzo niestabilna technologia, od której dziś się odchodzi na rzecz prostszych i bardziej wydajnych rozwiązań. Zostawiam to tak jak jest i nie mam zamiaru do tego wracać.

BTW, jeżeli ktoś jest ciekawy - projekt został oceniony na 4.5

czwartek, 9 czerwca 2011

[Sokoban] #2

Dobra, nie wiem kto kiedyś wpadł na ten pomysł, ale renderowanie grafiki trójwymiarowej przy użyciu Flasha to jakaś pomyłka.

Po długiej walce z Papervision stwierdziłem, że nie jestem w stanie ogarnąć sposobu działania tej biblioteki, dlatego wczoraj podjąłem decyzję o przejściu na Sandy3D. Największym problemem Papervision jest zupełny brak intuicyjności w wykonywanych operacjach. Sandy3D też nie jest wolne od tego problemu, ale tutaj nie miałem problemu w zrozumieniu sposobu działania 3D we Flashu. Czy raczej powinienem napisać pseudo3D, bo zadaniem biblioteki S3D jest przekonwertowanie trójwymiarowych bytów na sprite'y wyświetlane później na scenie. W przypadku dużej liczby obiektów, generowanie sprite'ów po prostu nie może trwać krótko. Flash sam w sobie jest dosyć pamięciożerną technologią a dodatkowe obliczenia geometryczne gwarantują spadek fps'ów nawet przy prostej grafice. Zatem pytanie brzmi - po co generować trzeci wymiar we Flashu? Zwłaszcza, że teraz możemy to robić tańszym kosztem.

Innym problemem związanym z generowaniem sprite'ów jest ich kolejność. S3D nie uwzględnia czegoś takiego jak bufor głębokości przez co sprite'ty nakładają się na siebie w sposób który burzy iluzję trzeciego wymiaru. Problem ten jest widoczny w nowej wersji kodu który wgrałem na serwer.

Ponadto ciągle nie mogę się zorientować w jaki sposób S3D przechowuje informacje o tych sprite'ach dlatego też po przejściu z jednego etapu dwa etapy rysują się jednocześnie. Mam kilka pomysłów jak to rozwiązać, ale muszę odstawić na chwilę ten projekt, żeby zająć się zaliczeniami innych przedmiotów.

wtorek, 7 czerwca 2011

[Sokoban] #1

Na serwer trafiła nowa wersja kodu. W poprzedniej wersji pchanie klocków nie zawsze działało tak jak powinno, dlatego teraz napisałem te funkcje całkowicie od nowa. Ponadto dodałem dwa liczniki, jeden odpowiada liczbie ruchów jakie gracz wykonał od rozpoczęcia etapu a drugi liczbie pchnięć. Oba zerują się w momencie przejścia do następnego etapu.

A skoro o nich mowa - odwzorowałem 3 kolejne etapy z klasycznego Sokobana. Po ustawieniu wszystkich skrzynek w niebieskich polach gra wczytuje następny etap. Można także przejść do następnego etapu wciskając klawisz TAB. Jeżeli gracz wykona błędny ruch uniemożliwiający mu rozwiązanie zagadki, może wtedy nacisnąć przycisk BACKSPACE który zresetuje cały etap.

Wychodzi na to że w kwestii logiki gry to zrobiłem już wszystko co jest potrzebne. A to oznacza, że od jutra zaczynam zabawę z trzecim wymiarem w Papervision.

Link do nowej wersji znajduje się po prawej stronie.

niedziela, 5 czerwca 2011

[Sokoban] Wstęp

Nazwa projektu: SOKOBAN 3D

Technologia: ActionScript 3.0 wsparty Papervision3D

Jest to projekt zaliczeniowy na przedmiot Technologie Multimedialne. Gra ma być remake'em klasycznego Sokobana, ale przeniesionym do pełnego 3D. Gracz będzie mógł ustawić kamerę w dowolnej pozycji, pod dowolnym kątem w stosunku do obszaru gry. Gra ma zawierać minimum 10 etapów z czego każdy będzie odczytywany z pliku (w tym wypadku każdy etap będzie zapisany w oddzielnym pliku xml).

W tym projekcie, przede wszystkim, będę starał się głównie spełnić wymagania przedmiotu. Jeżeli efekt końcowy będzie zadowalający, przerobię go na pełnoprawną flashówkę. Na razie skupiam się na zaprogramowaniu logiki, a potem będę starał się rozwiązać kwestię trzeciego wymiaru.

Za każdym razem będę starał się publikować najnowszą wersję kodu. Link do niej znajduje się po prawej stronie.


Hello world!

Nie tak dawno twierdziłem, że blog jest ostatnią rzeczą jaka jest mi potrzebna. Nie jestem osobą która lubi rozpisywać się o swoich przemyśleniach, nie jestem osobą która lubi prowadzić publiczny pamiętnik. Ponadto notorycznie zdarza mi się kaleczyć język polski. Materiał na blogera ze mnie żaden. Nie mniej jednak, postanowiłem ten blog założyć. Dlaczego?

Najpierw powinienem się przedstawić. Jestem Ret, mam 23 lata. Studiuje informatykę na Politechnice Łódzkiej a moja specjalizacja to Technologie Gier i Symulacji Komputerowych.

Gry to całkiem spora część mojego życia, od dziecka marzyłem by je tworzyć. Studia na których jestem dały mi taką możliwość. W Polsce, większość studiów developerskich przyjmuje chętniej ludzi którzy mają doświadczenie scenowe. Dlatego postanowiłem, że od dnia dzisiejszego będę starał się tworzyć małe proste gry, oparte na różnych pomysłach i różnych technologiach. Ten blog będzie pewnego rodzaju motywatorem w mojej działalności. Będę starał się pisać tutaj o postępach w tych projektach. Nie zależnie od tego, czy w danym dniu zrobiłem dużo czy mało, będę starał się aktualizować ten blog w miarę regularnie (codziennie, lub co 2-3 dni).