Thursday, December 23, 2010

L.B.A. remake

Ostatnie tygodnie były dla mnie dość ciężkie większość czasu poświęcałem : życiu prywatnemu, pracy i uczelni. Dlatego dość mało udało mi się zrobić w projektach ale zmiany są, jak zawsze :] Obecnie realizuję projekt na uczelnię oraz pracę magisterską w oparciu o swój silnik. Jako, że fajnie jest mieć środowisko do testowania algorytmów w warunkach jak najbardziej zbliżonych do tych rzeczywistych postanowiłem stworzyć grę.

Posiadając ograniczony czas zdecydowałem się na stworzenie remake'a starej gry. Dzięki temu mogę skupić się głównie na pisaniu i tworzeniu rzeczy bezpośrednio potrzebnych do tej produkcji nie martwiąc się wymyślaniem fabuły i mechaniki. Dodatkowym plusem takiego rozwiązania jest posiadanie konkretnego celu i założeń które w trakcie prac nie mogą się zbytnio zmienić gdyż chce aby gra była podobna do pierwowzoru.  Pierwsze efekty można zauważyć już poniżej :


Na koniec dodam tylko :

Wesołych Świąt Bożego Narodzenia 

w końcu już dziś wigilia :]

Wednesday, December 8, 2010

Projekt rozpoczęty

No więc rozpocząłem pierwszy konkretniejszy projekt na swoim silniku, oto efekt co da się już szybko osiągnąć  dzięki edytorowi:


w trakcie pracy nad tą wstępną wersją mapki wyszło parę rzeczy które można jeszcze poprawić a parę musiałem poprawić aby praca szybciej szla :] No ale jak widać nawet się udało coś porządnego uzyskać :] 


Dodatkowo dzisiaj przeprowadziłem pewne optymalizacje w wyświetlaniu grafiki a gDEBuger bardzo mi w tym pomógł :] dodatkowo uświadomił parę moich złych nawyków. Mianowicie przyzwyczajenie do standardowego pipelinu OpenGL. Widać ciągle przede mną długa :] no ale gdyby jej nie było to bym się pewnie nudził :]

Saturday, December 4, 2010

I kolejny post.

Ostatnio coś sporo się tych moich postów pojawia :] no więc nie mnie oceniać czy to powód do radości czy do płaczu :P No ale kontynuujmy to co zacząłem. Ostatnimi czasy udało się zrobić parę ciekawych rzeczy: Jedną z nich były obiekty i tak do tej pory w silniku dało dodawać się tylko modele i teren co nie dawało za dużych możliwości konfiguracji dodawanych danych. Ale niedawno się to zmieniło:] powstały małe skrypty wyglądające np. tak :

//// plik: FloorA.wro

def 0 : models/FloorA.wrm
{
    material = Floor000
}


//// plik: FloorB.wro
def 0 : models/FloorA.wrm
{
    material = Floor001
}

Niby nic nadzwyczajnego ale z powodu tego właśnie bajeru musiałem przebudować system modeli. Problemem był fakt, że w poprzedniej implementacji zakładałem, że każdy model ma materiał. Jak widać powyżej problem jest bo mam 1 model a chcę aby 2 obiekty nadawały mu dwa różne materiały. Stary system prezentował się tak :

A nowy tak :


Jak widać pojawiła się w nim nowa warstwa CMeshInstance która zastąpiła wszystkie użycia klasy CMesh w grze. Jednak mimo wszystko nie mogłem zrezygnować z warstwy klasa CMesh gdyż będzie ona przechowywać w sobie dane o L.O.D i parę innych współdzielonych rzeczy :]. 

No i na koniec trochę z innej beczki a mianowicie taki oto modelik :)