Autor Wątek: For Gold and Sweetrolls  (Przeczytany 952 razy)

Offline szczypiorofix

  • Użytkownik

  • +2
# Lipiec 12, 2018, 17:03:45
Gra na WSoC 2018.

#Update: 20.07.2018

Tytuł: For Gold and Sweetrolls
Gatunek: roguelike (lub raczej rogue-lite) w klimatach klasycznego fantasy
Język i technologia: Java + Slick2D
Assety: głównie: http://pousse.rapiere.free.fr/tome/tome-tiles.htm oraz kilka z opengameart.org

Co chcę zrobić (podstawowe informacje):
  • postać należy do jednej z kilku (kilkunastu? zobaczę na ile wystarczy mi czasu), które będą różnić się głównie statystykami
  • walka, poruszanie się oraz akcje rozgrywają się w turach
  • mapa świata ustalona z góry, będzie można wchodzić do oznaczonych miast, wiosek, kapliczek, podziemii
  • podziemia będą z reguły generowane proceduralnie (zobaczę na ile fajnie mi to wyjdzie, na ile czas pozwoli)

Co chciałbym zrobić ale na co może nie wystarczyć czasu:
  • gildie z systemem questów
  • najemnicy/towarzysze

Co udało mi się zrobić do tej pory:
  • zrezygnowałem z domyślnego parsera Slicka do plików Tiled Map Editora - napisałem własny parser, który sprawdza się bardzo dobrze i mogę używać wielu spritesheetów na raz, dodawać różne warstwy zarówno tilesów jak i obiektów. Obiekty (z dodatkowymi properties) zaś przerabiane są na konkretne obiekty w grze np. npc, przedmioty do podniesienia, skrzynie itp.
  • system zarządzania i rysowania tilesów
  • menu główne
  • podstawowy GUI


Nad czym obecnie pracuję:
  • podstawowe statystki gracza
  • planuję dodać interakcje z obiektami oraz podstawowe kolizje
  • planuję dodać jakiś inventory system


Przykładowy screenshot:
« Ostatnia zmiana: Lipiec 23, 2018, 00:21:00 wysłana przez szczypiorofix »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline szczypiorofix

  • Użytkownik

# Sierpień 03, 2018, 15:36:11
#Update 03.08.2018

Już w tym momencie wiem, że nie zdążę ze wszystkimi ficzersami, które chciałbym upchnąć do gry (głównie z powodu małej ilości czasu na kodzenie oraz tego, że zawsze chciałem zrobić grę tego typu i nazbierało sie trochę za dużo różnych pomysłów i rozwiązań). Zobaczymy co wyjdzie do końca WSoC.

Co do tej pory udało się zrobić?
- jakbym miał w skrócie powiedzieć co poprawiałem i rozwijałem to byłoby: parsowanie xmli.
- rozbudowa i poprawki parsera TiledMap Editora: mogę używać różnych różnych tilesetów, zarówno zagnieżdżonych w plik mapy jak i luźnych zapisanych w plikach .tsx. Poprawiłem obsługę dodawania obiektów do mapy: miejsce spawnu playera, NPCów (dodawani z template'a lub nie, czego obsługę też zrobiłem), miejsc i obiektów (też z templatów). Każdy z NPCów i każde miejsce (jako "wejście") do wewnętrznej mapy ma swoje własności np. miejsce ma odnośnik do innego pliku mapy. Łopatologicznie: wchodzimy na tiles miasteczka, wciskamy E i wchodzimy do nowo załadowanej mapy miasteczka (rejestr wykrywa odwiedzane miejsca i pobiera je z listy zamiast ladować dwa razy to samo).
- własny bitmap font, na podstawie fontu Immortal, z racji tego, że slick nie lubi polskich ogonków (znów parsowanie xmli)
- kolizje definiowane z poziomu tiledmapy: dany typ kafelka np.woda ma przypisane kolizje i gdziekolwiek się nie pojawi to dany obiekt posiada od razu zdefiniowane kolizje
- wstępne dialogi, jeszcze nie wyglądają ale już jako-tako działają. Moim marzeniem jest zrobienie obsługi Articy Draft 3 i tworzeniem w nim całego drzewka dialogów ale to znów parsowanie xmli i zabawa z całym flow i maaasą id, nie wiem czy wystarczy mi czasu
- losowo generowane lokacje: każdy tiles na mapie, który nie posiada obiektu miejsca ma losowo generowaną mapę wewnętrzną. W ten sam sposób generowane będą też dungeony ale na trochę innych zasadach (np wyjście będzie losowo umieszczane w dungeonach, w mapach na powierzchni - wystarczy dojść do krawędzi mapy - jak w starych Falloutach). Losowe mapy na otwartej przestrzeni pozostają otwarte a losowy będzie układ drzewek, kamieni, znajdziek itd.
- zliczanie czasu w grze w zależności od typu terenu (to jeszcze muszę poprawić)
- bardzo "tani" efekt dnia i nocy, nie pytajcie jaki ;)

Co chcę zrobić w najbliższym czasie?
- poprawić system dialogów
- rozdzielić dungeony od losowych map na powierzchni
- poprawić nieznośne bugi związane z offsetami i dochodzeniem do krawędzi ekranu
- dodać statystyki postaci, jakieś itemki i zrobić inwentarz

Offline szczypiorofix

  • Użytkownik

  • +1
# Sierpień 12, 2018, 02:54:22
#Update 12.08.2018

W skrócie:
  • mapa główna i mapy wewnętrzne
  • system dialogów (2 typy: prosty jako zwykłe odzywki bez opcji dialogowych, dialog właściwy - z opcjami wyboru)
  • do każdego tilesa na mapie głównej nie będącego miejscem (miasto, dungeon) można "wejść" gdzie gracz przenoszony jest na generowaną mapę (przechowywaną w pamięci na czas gry).
  • system ekwipunku (podnoszenie i upuszczanie przedmiotów - to wymaga jeszcze wielu poprawek
  • kolizje tilesów, cechy przedmiotów i NPCów definiowane bezpośrednio w TiledMap Editorze

Przykładowa rozgrywka: https://www.youtube.com/watch?v=1YaVYPC4bk8

Offline ld

  • Użytkownik

# Sierpień 12, 2018, 20:40:23
Cześć,

Podoba mi się pomimo prostej grafiki. Chciałbym stworzyć grę takiego rodzaju.

Powodzenia:)

Offline szczypiorofix

  • Użytkownik

# Sierpień 13, 2018, 01:10:23
Dzięki :)
akurat grafiki prawie na pewno nie będę zmieniał (chociaż kto wie...). Mogłaby być nawet prostsza.
Nie wiem jeszcze jak rozwiążę walkę, która jest istotna w takich grach ale tu mam w głowie kilka opcji do wyboru: klasycznie postać przeciwnika, która porusza się po mapie wewnętrznej, coś jak w Ultimie IV (którą się, pomijając interfejs, częściowo inspiruję) - pojawia się postać przeciwnika ale walka rozgrywa się na osobnej planszy jeśli nastąpi kontakt gracza z przeciwnikiem, albo może jeszcze coś zupełnie innego np. w nowym Bard's Tale czy Lords of Xulima.