Wszystkie wpisy, których autorem jest troll

Karawany

W tej chwili cała funkcjonalność która ma występować w grywalnej wersji 0.7 jest już zaimplementowana (czyli eksploracja mapy, zakładanie nowych miast, budowa ulepszeń terenu oraz przesyłanie zasobów między miastami). Niestety gra nie nadaje się jeszcze do udostępnienia, muszę poprawić interfejsy użytkownika, stabilność oraz zbalansować zasady. Dopracowanie tych elementów zajmie mi około 1-2 miesiące, przewidywana data premiery na dzień dzisiejszy to koniec czerwca.

W tym miesiącu umożliwiłem tworzenie karawan. Karawany mogą przenosić zasoby między miastami. Oprócz tego prowadziłem prace nad poprawą stabilności oraz dopieszczałem GUI.

Troll

Osadnictwo!

Przez ostatni miesiąc udało mi się oprogramować osadnictwo, czyli tworzenie nowych miast. Poprawiłem również część błędów, usprawniłem niektóre elementy interfejsu. Poniżej screenshot z aktualnej wersji:

osadnictwo - nowe miasto
Osadnictwo – nowe miasto Błękitny Most

Oprócz tego wygłosiłem referat na konferencji Inżynierii Gier Komputerowych dotyczący zastosowania baz danych noSQL w grach komputerowych. Udostępniam artykuł oraz prezentacje.

Niestety przygotowanie referatu zajęło mi dość dużo czasu, w związku z tym miałem mniej czasu na rozwijanie Gizarmy niż w innych miesiącach.

W następnym miesiącu mam zamiar oprogramować przede wszystkim szlaki handlowe, dzięki którym będzie można przesyłać zasoby między miastami. To już jeden z ostatnich elementów brakujących do wersji grywalnej.

Troll

NoSQL w grach

Referat na temat baz NoSQL w grach, który wygłosiłem na konferencji Inżynierii Gier Komputerowych. Tutaj można zobaczyć prezentacje. Poniżej zamieszczam abstrakt artykułu. Całość można ściągnąć tutaj.

Abstrakt:

Artykuł dotyczy zastosowania baz danych noSQL, jako alternatywy wobec baz relacyjnych w grach online. Omówiono właściwości baz najczęściej używanych przez twórców gier. Na przykładzie Redis, MongoDB oraz CouchDB, przedstawiono ich wady i zalety, oraz podano rozwiązania stosowane w istniejących produkcjach. Ponadto przeprowadzono analizę wymagań gier komputerowych wobec oprogramowania, na tej podstawie przedstawiono powody, dla których warto stosować nowe technologie bazodanowe.

 

Ulepszenia terenu

Przez ostatni miesiąc zajmowałem się przede wszystkim wymyślaniem, a później implementacją grafiki ulepszeń terenu. Niestety zajęło mi to dużo czasu. Na przykład farmy rysowałem 3 razy zanim udało mi się stworzyć wersję ostateczną. Oprócz tego musiałem częściowo przepisać generator map, ponieważ stara wersja nie pozwalała na rysowanie ulepszeń terenu w taki sposób jak chciałem.

W tej chwili narysowane są drogi, farmy oraz kopalnie. Tak to wygląda:

gizarma-032

Poza tym Jawbone narysował kilka kolejnych sprajtów jednostek (jest coraz mniej zaślepek grafiki :)).

Nie udało mi się skończyć interfejsów do obsługi ulepszeń terenu, chociaż są one już rozpoczęte. Podobnie wygląda to od strony serwera, obsługa ulepszeń jest rozpoczęta, ale nie skończona.

W następnym miesiącu mam zamiar ukończyć całkowicie obsługę ulepszeń terenu, oraz rozpocząć prace nad karawanami.

Niestety nie uda mi się dokończyć grywalnej wersji 0.7 do końca zimy. Spowodowane jest to głównie niedoszacowaniem czasu potrzebnego na stworzenie brakującej grafiki. Obecnie oceniam, że potrzebuje jeszcze 2 dodatkowych miesięcy na doprowadzenie gry do porządku. Planowany czas wypuszczenia wersji 0.7 to obecnie maj 2012.

Troll

Miasto

Udało mi się wreszcie przywrócić do życia i trochę rozwinąć interfejs miasta. Dodałem obsługę murów obronnych. Miasta portowe i śródlądowe mają różne możliwości, usunąłem kilka błędów występujących w wersji 0.65. Można również rekrutować jednostki wojskowe, którymi da się zarządzać na mapie głównej.

Tak wygląda teraz miasto portowe otoczone murem:

miasto - interfejs
miasto – interfejs

Poza tym zacząłem już pracować nad ulepszeniami terenu (farmami, kopalniami, drogami …). Gotowy jest już projekt graficzny niektórych ulepszeń, część logiki związana z nimi jest zaimplementowana.

W kolejnym miesiącu mam zamiar dokończyć obsługę ulepszeń terenu oraz wprowadzić karawany które będą mogły przenosić zasoby między miastami.

Troll

Opóźnienie

Jestem trochę do tyłu, nie udało się w tym miesiącu uruchomić interfejsu miasta. Jest to spowodowane głównie tym, że musiałem dorobić sporo grafiki. W wersji 0.70 dodam miasta portowe oraz możliwość budowy murów obronnych, wymusiło to pewne zmiany w widoku miasta. Na szczęście w tej chwili cała potrzebna mi grafika jest już gotowa, pozostaje tylko kodzić.

W tym miesiącu muszę wreszcie ukończyć formatkę miasta, poza tym mam zamiar dodać obsługę osad (farm, kopalni, winnic) i dróg (renderowanie, zlecanie budowy, …). Mam nadzieje, że więcej opóźnień już nie będzie.

Troll

SQL vs noSQL

W ostatnim czasie zastanawiałem się nad zmianą bazy danych serwera Giazrmy. Obecnie stan gry przechowywany jest w bazie danych Mysql oraz pliku binarnym. Mógłbym jednak używać bazy tupu noSQL, ponieważ nie używam skomplikowanych zapytań łączących wiele tabel (nie korzystam z relacyjności bazy). Żeby sprawdzić, czy w ogóle mi się taka zmiana opłaca przeprowadziłem następujący test dla trzech typów źródeł danych: bazy Mysql, bazy MongoDB oraz pliku binarnego.

Test sprawdza szybkość odczytu / zapisu bloków danych (update i select).

  1. Tworzę testowy zbiór danych składający się z dużej liczby binarnych bloków danych o stałej długości

  2. Sekwencja testowa (powtarzana wielokrotnie):

    • Odczytaj wszystkie bloki danych

    • Zapisz wszystkie bloki danych

Parametry maszyny:

Intel Core 2 Duo 2.2GHz, 3GB ram

Parametry testów:

liczba powtórzeń odczytu / zapisu: 100
rozmiar bloku: 10000B
liczba bloków: 300

Implementacja:

kod testujący napisany został w PHP. Tutaj można pobrać kod źródłowy

Średni czas dla wykonania sekwencji testowej:

Mysql: 140ms
MongoDB: 80ms
Plik: 8ms

Oczywiście należy traktować te wyniki orientacyjnie, bo czasy zależą od chwilowego obciążenia systemu, sposobu instalacji serwerów baz (np. czy są na tej samej czy innej maszynie) i innych czynników.

Troll

Coś grywalnego

W tym miesiącu udało się zaimplementować graficzny interfejs do obsługi jednostek. W tej chwili można wydawać rozkazy jednostkom na mapie głównej oraz je kolejkować. Działa również przeliczanie stanu gry na serwerze, w związku z tym jednostki wykonują rozkazy które im się wyda a klient jest w stanie wyświetlić wszystkie zmiany na bieżąco. Krótko mówiąc grywalny zalążek wersji 0.7 jest już gotowy. Poniżej screen z gry:

Jednostka z wydanymi rozkazami
Screen z gry

W kolejnym miesiącu mam zamiar przywrócić do życia i jednocześnie poprawić interfejs zarządzania miastem który działał w wersji 0.65. Z powodu głębokich zmian w kodzie widok miasta przestał działać.

W tej chwili do wypuszczenia wersji którą mógłbym dać do testowania osobom niezwiązanym z projektem (tak jak wersje 0.64 i 0.65) brakuje:

  • Interfejsu zarządzania miastem
  • Możliwości zakładania nowych miast
  • Możliwości budowy farm / kopalń / dróg
  • Możliwości przesyłania zasobów między miastami

Szacuję, że wykonanie tej funkcjonalności zajmie mi około 3 miesięcy. W związku z tym grywalnej wersji można się spodziewać pod koniec zimy.

Troll

Większy team

W ostatnim miesiącu do zespołu pracującego nad Gizarmą dołączył grafik Kacper „Jawbone” Żuchowski. Jego głównym zadaniem w tej chwili jest tworzenie assetów (sprajtów jednostek, budynków, potworów). Poniżej załączam jeden z koncept-artów przedstawiający wojownika wykonany przez Kacpra.

Wojownik
Wojownik, rys. Kacper Żuchowski

 

 

 

 

 

 

 

 

 

 

 

 

W październiku pracowałem głównie nad komunikacją klient-serwer, oraz wizualizacją mapy i obsługą jednostek. Nowy format mapy rysuje się poprawnie, poza tym dodałem tak zwany fog of war, zacząłem tworzyć interfejs pozwalający wydawać rozkazy jednostkom poza miastami. Screenshot:

kawalerzysta na mapie
Jednostka z wydanym rozkazem

 

 

 

 

 

 

 

 

 

Troll