22 listopada 2016

Rogalik cd. :)


Projekt toczy się powoli do przodu.
Program (bo daleko mu jeszcze do jakiejkolwiek gry) rozrasta się i zyskuje kolejne moduły. Proces jest czasochłonny, ale z mojego punktu widzenia dosyć ciekawy. Pokazuje inne podejście do programowania i wymaga zmiany niektórych przyzwyczajeń.
Ekran gry. W pasku widać wylosowane potwory.
Sama gra - z punktu widzenia osoby patrzącej z zewnątrz - zmienia się niewiele. Od ponad tygodnia nadal mam tylko główne okno gry, które generuje labirynt. Z tą różnicą ze klocki są większe niż ostatnio - w oczekiwanej przeze mnie wielkości 112x112 px. Wynika to z tego, że krawędź pola pokoju będzie składała się z 6 grafik ścian i jednej grafiki drzwi. Tak ja widać poniżej - pole typu pokój. Wersja ASCI:


            ╔══─══╗
            ║               ║
            ║               ║
            │               │
            ║               ║
            ║               ║
            ╚══─══╝

Korytarze będą oczywiście węższe i opakowane grafiką. :).
Napisałem też pierwsze elementy, które wiążą rozsypany kod gry ze sobą. W efekcie rośnie poziom komplikacji i pojawiają się trudne w stworzeniu moduły - np. zarządzanie fazami gry czy główna pętla graficzna. Ale do rzeczy.

 W tej chwili jest (i działa - dodałem testy w JUnit :) ) :
- losowania zdefiniowanych przez grę bohaterów
- wstępny projekt gui dla statystyk i ekwipunku bohaterów (wzorowany na tym z Diablo / Torchligt ale bez grafiki)
Ekran bohatera
- moduł określający fazę gry (to chyba będzie, poza walką i rozpatrywaniem czarów, jeden z najbardziej skomplikowanych elementów gry)
- wyświetlanie okien wykrywania pułapek, przekupstwa, napotkania potworów, ekwipunku i statystyk postaci
- pełny mechanizm generujący labirynt (na tę chwilę 1 poziomowy)
- wylosowane w ramach labiryntu pomieszczenia otrzymują w pełni funkcjonalne wyposażenie w postaci pułapek/potworów/skarbów
- mechanizm generowania potworów i ich cech
- mechanizm generowania skarbów i cech skarbów
- wstępne mechanizmy dotyczące bufora grafiki i cięcia grafiki na klocki (będą w wielkości 16x16 pixeli)
- wstępny mechanizm silnika graficznego do animacji

Posiedziałem przy generatorze mapy (właściwie to główne okienko gry), tak aby był przyjazny użytkownikowi - np. poprzez centrowanie obszaru na klocku, w którym znajduje się drużyna czy też umożliwienie przeglądania obszaru z pomocą myszy. Jednak po zmarnowanych na to kilku godzinkach doszedłem do wniosku, że za wcześnie na ten element i powinna nim zarządzać pętla generująca grafikę, a nie z poziomu javaFX.
Zrezygnowałem też z włączenia wcześniej wykonanego generatora podziemi do gry bo efekt końcowy nie był tak fajny jak zastosowanie znalezionej grafiki.

Ale jeszcze go wykorzystam!

W tej chwili (nie liczę grafiki) gra "zbudowana" jest z ok. 68 klas, a pewnie dojdzie drugie tyle. Tak właśnie wygląd ta prostota :].

Ehh siadając przy tym nie sądziłem, że tyle tego wyjdzie, a nie oszukując się - to dopiero początek.



Brak komentarzy:

Prześlij komentarz

Tu możesz wstawić swój komentarz