Save’y

Aktualnie pracuję nad zapisywaniem stanu gry w RPGcore. Po wielu trudach udało się skodzić zapisywanie stanu mapy, dzięki czemu po zmianie mapy jej zawartość pozostanie taka sama. Po wyjściu z gry save’y mapy automatycznie znikają. Planuję tworzenie autosave’a.

Następnym etapem jest zapisywanie statystyk i ekwipunku gracza do pliku. Ostatni etap będzie polegał na umożliwieniu graczowi zapisywanie stanu gry. Po naciśnięciu klawisza odpowiadającego za save. Plik gracza będzie łączony z plikami mapy, by w czasie ładowania rozdzielić się i wczytać.

Nauka DX

Wznowiłem naukę DirectX, którą przerwałem z powodu braku czasu i chęć dokończenia projektu RPGcore. Czytając McCuskey’a dotarłem do działu z efektami 2d z których pierwszy jest ogień. Uważam, że jeżeli efekt tego typu faktycznie nie jest obliczeniowo ciężki to można by wykorzystać go w grach do tworzenia tekstur ognia dla np. świeczki lub płonącego domu.

Oto screen:
Efekt ognia

Dialogi finito

Zakończyłem pisanie dialogów do RPGcore, teraz będę się zabierał za save i load. Mam nadzieje, że mój pomysł wypali.

Polega on na tym, że w momencie zmiany lokacji zapisuje się wszystkie anormalności do pliku, a gdy gracz kliknie klawisz save’a te pliki są łączone w 1 duży. Load będzie to dzielił plik na poszczególne mniejsze pliki, które będą uwzględniane przy ładowaniu mapy.

Dużo nowości

Dawno tu nie zaglądałem, nie wiem czemu, pewnie nie chciało mi się, ale skoro już tu jestem, mogę zaprezentować nowości jakich doczekał sie mój RPG. Zacznę listą:

1. Każdy dostępny rodzaj armoru: hełm, naszyjnik, pierścienie, buty oraz pancerz.
2. Różne typy broni: miecze dwuręczne, jednoręczne, kusze, łuki oraz czary (niewiele bo 2 rodzaje)ofensywne i leczące.
3. Statystki bohatera, dzięki nim można podejrzeć aktualny rozwój gracza. Możliwe jest zdobywanie poziomów po zdobyciu punktów doświadczenia z zabijania potworów. Na każdym poziomie dostajemy po 4 punkty atrybutów i skilli do dowolnego rozdzielenia
4. Ekwipunek denata, każda zabita postać będzie leżeć na ziemi dopóki nie zmienimy mapy, po tym ciało znika, lecz dopóki ciało jest, dopóty możemy go przeszukać i zabrać przedmioty.
5. Dialogi, jeżeli postać jest nieagresywna to jest możliwość porozmawiania z nią (pod warunkiem, że istnieje plik z dialogami dla tego npca). Aktualnie postać może nam wręczyć przedmiot jeżeli go ma przy sobie (istnieje opcja sprawdzenia czy ma przedmiot)
6. Strzelając z broni dalekiego zasięgu możemy ujrzeć dolatujący do przeciwnika pocisk, który ma ustalony zasięg 8 kratek, jeżeli nie trafi w nic to znika. Pociski reagują na kolizje, jeżeli wlecą w coś w co postacie nie mogą normalnie wejść to znika.

Jak widać wiele się zmieniło, ale jeszcze trochę zostało do napisania aktualna lista TODO w uproszczeniu wygląda tak:
1. Zmodyfikować AI npców, aby mogli korzystać z broni dalekiego zasięgu.
2. Rozbudować dialogi.
3. Zapisywanie stanu gry.
4. Jakieś menu.

[=====>.60%]

Dorzuciłem przedmioty, ekwipunek. Oczywiście jest GUI na to, dzięki, któremu można przejrzeć ekwipunek(chwilowo bez przesuwania), można przenosić miksturki na paski i z powrotem. Oraz można używać (jak narazie tylko) miksturek HP i MP

RPG ciąg dalszy

Dodałem możliwość dodawania własnych NPC, które poruszają się za graczem (zombie AI), maja przy tym animacje taką jak postać gracza, a poza tym nic wielkiego nie robią

Postęp pracy: [====>..50%]

Następnym etapem pracy jest, dodanie licznych statystyk dla postaci oraz możliwość atakowania NPCa.

Silnik RPG

Pisanie silniczka jakoś leci, aktualnie w dostępnym demie można:
– stworzyć własną mapkę
– stworzyć własne obiekty, które odpowiednio w pliku .dat opisać będą miały swoje kolizje
– poruszać się po mapce (ludzik ma animacje i różne pozycje stania)
– zmieniać mapę
Postęp pisania:
[==>….35%]

RPG ciag dalszy

Napisałem już klasę silnika w części oraz stworzyłem prowizoryczna klasę postaci. Gra się uruchamia, można poruszać się po trawie po wodzie nie.
RPGcore
Program: Gra.exe

Gra RPG

Chciałbym przedstawić mój następny projekt. Jest to gra RPG, z wyglądu podobna będzie do Tibii, oparta na SDL. Niestety nie mam pomysłu na fabułę, dlatego dodam ją na końcu. Jest to projekt na dłuższy termin i jest sporo trudniejszy od poprzedniego(Arkanoida). Ekran gry będzie składał się z pojedynczych kosteczek 25×25 pixeli. W założeniach gra będzie mogła wczytywać pliki mapy, dialogów, części mapy.

Gra jest w fazie projektowania, ale już zacząłem pisać klasę odpowiadającą za mapę.

Arkanoid

Przedstawiam mój następny program, a raczej grę, którą na pewno każdy z was zna. Arkanoid jest grą opartą na SDLu. Zasady są proste, wystarczy zbić wszystkie klocki. Gra nie jest zbyt nowoczesna, ale jest to projekt, w charakterze nauki programowania.

Arkanoid
Program: Arkanoid.exe