To się rusza! Czyli mamy AI!

Jak wiadomo, w każdej grze, AI jest ważne. Nie inaczej jest z Beabest! Przecież, AI ma tu odgrywać kluczową rolę! Dlatego starałem się by moje AI było jednocześnie proste, niezawodne i łatwe w użytkowaniu. Jak mi to wyszło? Zapraszam do dalszej części artykułu.

Nie powiem, miałem z tym nie lada zagwozdkę, gdyż chciałem mieć takie AI, które jednocześnie będzie proste, będzie zrozumiałem, będzie „myślało”, nie będzie głupieć i jeszcze będzie posiadać kilka innych aspektów.

Moim pierwszym krokiem było wykorzystanie do tego celu navMesh oferowanego przez Unity. Działało tak jak chciałem, za wyjątkiem jednej rzeczy, mesh ten nie trzymał się powierzchni. Był jakiś metr ponad nią, efekt był wiadomy. Przeciwnicy po prostu latali. Na nic się zdało zmienianie offsetu w character controlller wroga.

Postanowiłem podejść do tego z innej strony, wtedy to zrodził się pomysł wykorzystania rigiidbody i powiem, że to działało jeszcze gorzej. Co prawda, przeciwnicy już nie latali, za to blokowali się na najmniejszym podwyższeniu. To nie było to,

Postanowiłem zasięgnąć rady na r/Unity3D (Polecam!). Tam użytkownik u/darkon76 polecił mi takie małe cudo : http://arongranberg.com/astar/

Gdy zobaczyłem do czego jest zdolne, od razu je zaimplementowałem. A o to efekty :

Pierwsze podejście nie było do końca udane, lecz miałem już coś więcej, byłem bliżej celu.

Drugie już było trafione, lecz ciągle czegoś mi brakowało no i miało kilka bugów.

Jednym z nich był bug powodujący, że AI nie potrafiło odnaleźć ze startu ścieżki i trzeba było je szturchnąć co oczywiście nie wchodziło w ogóle w grę! Postanowiłem to kompletnie zmienić.

Trudy zostały wynagrodzone idealnie działającym AI, które mogę przenieść na dowolnego przeciwnika, a w osobnych skrypcie napisać jego mechanikę i powiązać oba skrypty!

Co sądzicie o moich postępach? 😀

Reklamy

Mamy kowala!

Kojarzycie tego rosłego człeka z M1 lub M2? Tak, chodzi mi o tego, który palił wszystko gdy chcieliśmy ulepszyć dany przedmiot na poziom wyższy niż +5. Chyba każdy kto grał w Metina 2 go zna i chyba każdy też go nienawidzi!

Na szczęście, mój zgodził się pracować za najniższą krajową i niczego nie spalać jeśli tylko zrobię mu dobry domek. Czy mi się to udało, stwierdźcie sami!

screen1screen2screen3

Tylko proszę, nie myślcie, że przez ten tydzień zrobiłem tylko ten domeczek! Nie no, aż tak leniwy nie jestem! Ale wracając, udało mi się, po długiej walce, zmusić do pracy… AI! Tak, to kolejny krok milowy w rozwoju Beabest! Zaprezentuję działanie podstaw tego AI w jutrzejszym wpisie, coś czuję, że będzie długi!

 

Lecz co do samego Beabest, ciągle mam wrażenie, że czegoś w nim brakuje, coś jest nie tak. Ciągle dla mnie wygląda brzydko. Macie jakieś własne pomysły jakby go urozmaicić? 😀

Zapraszam do dyskusji!

Mechanika i pierwsi wrogowie!

W poprzednim wpisie trochę narzekałem, na to, że wiecznie robię tylko desing. Teraz zebrałem się i postanowiłem zacząć coś robić z mechaniką.

Efektem tej zabawy są prawie działające kukły, teraz obracają się na boki. Finalnie chcę by działały jak Wańka Wstańka.

Jak to wygląda, jeszcze nie pokażę, bo jak zauważyliście, jestem po formacie i nie mam jeszcze skonfigurowanego programu do nagrywania. W najbliższym czasie pokażę efekty!

Kolejną drobną nowością w grze, jest pojawienie się pierwszych, słabych przeciwników :

slime.PNG

Są nimi slimy, małe, wnerwiające, glutowate stworzonka. Ich animacje to idle, jump i land, atak będzie polegał na próbie uderzenia gracza i tym samym zatrucia go śluzem.

Niby proste, lecz nie mają jeszcze zaprogramowanej logiki, czyli jeszcze nie skaczą, nie zarażają i nie umierają.

Następną już kosmetyczną zmianą, jest dodanie rozsuwanych drzwi.

Niby banał, a cieszy oko!

drzwiW czasie tworzenia, tych dodatków, napotkałem kilka drobnych problemów, ale tym się nie martwcie 🙂

Kolejne zmiany w wyglądzie! (znowu…)

Tak wiem, wiem i jeszcze raz wiem. Cały czas pojawiają się tylko zmiany w wyglądzie i praktycznie zero mechaniki. Wiem, mnie też to już powoli wkurza, no ale gra musi też ładnie wyglądać.

Tym razem, zmiany są na lepsze, gra wygląda już na tyle dobrze, że w końcu mogę się wziąć za wszelką mechanikę, a nie tylko za „zalążki”, ale nie przedłużając. Tak wygląda teraz :

SCREEN1

pierwsza zmiana to więcej szczegółów terenu, teraz wygląda jeszcze bardziej low poly 😀

Kolejna (tym razem już trochę mechaniki jest) to dodanie pola treningowego z manekinami :

SCREEN3

Reagują one i na kontakt z graczem i na uderzenie mieczem, tymczasowo nieskoordynowanie i nie powracają do punktu styczności, ale to tylko chwilka by to zrobić.

Za to, da się z nich wyciągną ciekawe efekty :

SCREEN2

No i jest przy tym niezła zabawa! 😀

SCREEN4

zmieniłem też całkowicie model chaty alchemika, teraz wygląda o niebo lepiej, a zastosowanie palety znacznie ułatwia mi utrzymanie spójności kolorów na moich modelach.

Dodatkowo, niektóre kwiaty i eliksiry dostały efekt neonu, przez co jeszcze większy uzyskuję „klimat fantasy”.

Mam nadzieję, że dotychczasowe zmiany się wam podobają, mam też gotowe kilka modeli wrogów wraz z ich mechaniką, ale to w następnym wpisie. 🙂

System walki…A raczej jego zalążek!

Wczoraj mówiłem, że już dziś zaprezentuję mój malutki krok milowy w tworzeniu Beabest!

Krokiem tym jest system, a raczej jego zalążek, melee! nie chcę przynudzać i od razu go pokażę!

Poza tym, wziąłem się za dopracowywanie szczegółów i smaczków w designie, tak oto mogę wam z czystym sumieniem zaprezentować… półkę z fiolkami!

chatkav2

Teraz znajduje się na niej kilka fiolek, same fiolki będą jeszcze w jego chatce bardziej porozrzucane, toż to bałaganiarz przecie! 😀

Tak więc, czas na mojego dość duże przemyślenia. Od jakiegoś czasu noszę się z pomysłem czy nie udostępnić moich modeli za darmo na assets store? Sam wiem jak trudno o dobre i darmowe modele, moje może nie są dobre, ale będą przynajmniej darmowe! Kolejną z myśli to, to, że chcę teraz dopracować bardziej to co już mam. Zacząć oddawać Beabest w ręce testerów by był jak najlepszy! Wiem, że przez to nie wyrobię do końca trwania konkursu, ale mi na tym nie zależy. Mi zależy na tym by gra była jak najlepsza. Przecież robię to dla was, nie dla siebie.

Co sądzicie o tych pomysłach? A co o postępach? Zapraszam do komentowania! 🙂

Więcej „dizajnu”!

Jak dobrze pamiętacie, tydzień temu obiecałem, że w następnym wpisie pokaże wam krok milowy dla mnie i dla Beabest. Niestety, to jeszcze nie ten wpis gdyż ten krok milowy wymaga drobnego dopracowania szczegółów bym się go nie wstydził! Ale zdradzę wam odrobinę tej pysznej tajemnicy!

Słowo klucz : broń!

Ale co dziś? Dziś chce wam pokazać kilka drobnych, lecz kluczowych dla projektu zmian!

Pierwszą z nich jest zmiana zamysłu zapisu stanu naszej gry. Z czego to wynika? Rozkminy pod prysznicem no i własne doświadczenie z grami! 😀 Wcześniej miał działać na zasadzie łóżko == zapis gry, teraz będzie to na zasadzie łóżko == zapis gry oraz… skrzynia == zapis gry! Nie pytajcie skąd pomysł ze skrzynią…

Dla tego celu zacząłem bliżej przyglądać się serializacji i myślę, że już w tym tygodniu tego dokonam! Ale wracając do sedna pomysłu… Specjalnie dla tego celu przygotowałem model skrzynki, przy okazji ogarnąłem, jak się animuje za pomocą kości! Fakt faktem, nie sam z siebie. Byłem zmuszony skorzystać z tego mega tutoriala: https://www.youtube.com/watch?v=OKfGY5F1Bew

Swoją drogą, jego modele jak i tutoriale są cudowne!

alchemik

postanowiłem użyć tych skrzynek także jako element wystroju! Co ciekawe, one tam pasują! Jak też widzicie, chatka alchemika jest prawie gotowa, mam już nawet półki na jego wywary!

alchemikchata

Tak się prezentuje z zewnątrz, jeszcze nie naniosłem wszystkich kolorów bo sam nie wiem w jakie dać, może wy macie jakieś pomysły?

rekazmieczem

Ostatnią zmianą w wyglądzie jest zmiana umiejscowienia naszej ręki, teraz jest ona troszkę wyżej! Brakuje jej jeszcze kości, ale to już jutro dodam. Dodatkowo obniżyłem tarcze by miecz o nią nie zahaczał.

 

To by było na tyle w dzisiejszym wpisie, jutro zaś trochę moich przemyśleń jak i obiecany krok milowi doczeka się oficjalnej premiery!

Czas na Main Menu!

Jak wczoraj mówiłem, dziś pokażę wam prototypowy wygląd main menu wedle mojego zamysłu. Muszę przyznać, iż wyszedł on znacznie lepiej niż oczekiwałem ale to oceńcie sami!

Desktop_2016 (3).gifDesktop_2016 (2).gif

Jak widzicie, działają mi wszystkie przyciski, samo menu się skaluje odpowiednio do rozdzielczości, nie zwracajcie uwagi na konsolę błędów wypluwającą lawinę czerwonego tekstu, zapewniam, że te errory nie wpływają na rozgrywkę!

Jak sami widzicie, nasza kamera orbituje wokół głównej wyspy, bardzo prosty do zrobienia bajer w unity, a daje tyle frajdy!

Poza tym, mam już prototyp pause menu lecz on jeszcze nie działa więc nie mam po co go pokazywać, nawet tutaj mam pewien łatwy do zauważenia błąd! Ehm, symetria przycisków!

Powoli też zbliżam się do ukończenia melee systemu, na razie jest on zbugowany i nie działa tak jak powinien :/

To by było na tyle w krótkim wpisie, jak mówiłem, muszę jeszcze te menu troszkę doszlifować jak i dodać jakieś opcje do opcji :p Spodziewajcie się w następnym wpisie kolejnego kroku milowego!

Tymczasem do zobaczenia!

Bugi, bugi i po bugach!

Jak pamiętacie, w przedostatnim wpisie opisałem kilka wrednych bugów, które dotknęły Beabest. Cóż, wkurzały mnie one tak bardzo, że już dwa dni później ich nie było.

To mi się nie chciała zmienna przenieść, a tu skrypt zgłupiał, a tu ten tag nie pasuje, itd itp.

Zaparzyłem więc sobie pysznej aromatycznej kawki, bo rano nie miałem, przywdziałem mój hełm smoczego dziecięcia i wyposażyłem się w mój miecz gromiący wszystko co stanie na drodze jego klawiszy – moją kochaną klawiaturę!

Rozpocząłem więc poszukiwania, po dwóch dniach rwania sobie włosów z głowy, wszystko, a przynajmniej tak  mi się zdawało, było gotowe!

Coś jednak szepnęło mi do ucha „gdzie debilu masz dev build?!”, postanowiłem posłuchać tego przemiłego głosu i zrobić go. I bardzo dobrze na tym wyszedłem, otóż swoje rogi pokazały kolejne błędy logiczne, tym razem w GUI. Tak  o to, pasek z hp, magicznie lądował na środku ekranu. Jednakże i z tym sobie poradziłem, a o to efekt! : Desktop_2016 (1).gif

Teraz efekt fade zajmuje cały ekran, niezależnie od rozdzielczość, tak samo z paskiem HP! Teleport teleportuje nas tam gdzie powinien bez zająknięcia, Jedyny problem to ta zbyt ciemna scena z wyspą na samym początku, lecz ten problem występuje tylko wewnątrz Unity,

Jak zapewne zauważyliście, jest znacznie więcej fps na wszelkich scenach. To zasługa kolejnej fali optymalizacji!

Jest też drobny, cieszący oko dodatek przy łóżkach, otóż : Przycisk E również na efekt fade co nawet fajnie wygląda!

Tak to na tyle z bugów, jutro zrobię w końcu main i pause menu po czym daję testowego builda dla szerszej publiczności 🙂

Tym czasem, co sądzicie o postępach? Zapraszam do komentowania!

Zgodnie z obietnicą!

Wczoraj obiecałem, że dzisiejszy wpis w całości poświęcę level designie, dalszemu rozwojowi Beabest i takim tam duperelom.

Niestety, tak się jednak nie stanie. Otóż wprowadziłem pewne drobne ulepszenie do systemu łóżek, którym chcę się z wami podzielić!

Mam tylko nadzieję, że mój głos was nie odstraszył i nadal to czytacie 🙂

To by było na tyle z systemem łóżek, jego kod prezentuje się następująco : http://pastebin.com/wcBTxk9k

Poza tym, rozwiązałem tego buga związanego z systemem HP. Niestety, pojawiły się dwa kolejne, które już prawie naprawiłem.

Czas na gwóźdź programu!

 AND HIS NAME IS DESIGN!

Pierwszą zmianą są wrota do portalu. One, tak jak chciałem, weszły pod kontrolę magii mojego kodu i automatycznie otwierają się o odpowiedniej godzinie. Oraz zamykają również o odpowiedniej godzinie!

wrota

Dodatkowo, na powyższym, niechlubnym filmiku zobaczyliście część wnętrza mojej karczmy. Czas pokazać jej całość. Więc bez zbędnego ględzenia łapcie jeszcze gorące screeny!

wnetrzewnetrze2

wnetrze3

wnetrze4

wnetrze5

Uff, dość dużo ich co nie? No, nic na to nie poradzę :p

Sam lubię widzieć wszystko z każdej możliwej strony, więc staram się i wam zapewnić podobną możliwość.

Tak więc, co sądzicie? Lub lepiej, co sądzicie o nowej formie pokazywania wam zmian, w formie filmu? Wolicie go z głosem czy bez? A może lepiej pozostać przy screenach? 🙂

Ugi Ługi Bugi! Czyli zabawę czas zacząć!

Jak wiecie, level design stoi już na dość wysokim poziomie. Postanowiłem więc, wprawić go w ruch. Zacząłem od punktów życia, które już mieliście okazję zobaczyć.

Działają wyśmienicie. Wystarczy, że późniejszym stadium napiszę odpowiednią funkcję i gracz będzie mógł w spokoju (lub nie) umrzeć z rąk potwora, lub własnej głupoty (skok z klifu wyspy to dobry przykład 🙂 ).

Ale same życie, walka i ewentualne umieranie to nie wszystko. Czasem chcemy też się wyspać (Tak. Bohaterowie z gier też to lubią :p). Więc wziąłem sobie za drugi cel, napisanie systemu łóżek. Całkiem proste, a jakie przydatne!

Tak więc, jak on wygląda?

Kod stojący za jego działaniem wygląda na razie tak :

http://pastebin.com/zqgfMLgK

A jak w grze?

bedsystem.png

Ubogo prawda? Zgadzam się, wygląda ubogo. Lecz standardowo, jest to tylko zamysł, i gdy tylko dobiorę się do Inkscape, zacznie to wyglądać o niego lepiej 🙂

Co ma on oferować?

Jego uboższa wersja (Tak, podzieliłem to na dwie wersje, „Ubogą” i „Bogatą” bo tak :p). Ma za zadanie przewinąć czas na rano. Z niej możemy korzystać tylko w czasie wieczornym (włączy się stosowna opcja w menu w karczmie.). Jego droższa wersja nie tylko zmieni czas na rano lecz i doda nam specjalnego buffa na dany czas. Z niej również możemy korzstać tylko wieczorem. Dodatkowo, obie wersje zapisują grę.

Ktoś może powiedzieć, a co jeśli chciałbym zapisać grę w ciągu dnia? Wystarczy pogadać z karczmarzem! On mam wtedy otworzy drzwi i będziemy mogli zapisać grę.

Poza tym, ulepszyłem skrypt na HP. To właśnie on ma pewnego wrednego buga. Otóż ulepszenie to miało działać na zasadzie mam 100 HP i idę na arenę. Tam również mam 100 HP. Obrywam troszkę i mam 70 HP. Wracam do wioski i po powrocie nadal mam te 70 HP dopóki się nie wyleczę miksturą. Działa to prawie idealnie. Otóż. Wartość HP w odpowiedniej zmiennej się przenosi, jest tylko problem z jej reprezentacją bo skrypt na HP nie potrafi wyszukać obiektu savera i wszystko się psuje.

12910822_887952411322246_1314589043_n.jpg

Mam pewien plan naprawy tego cudacznika, ale to dopiero jutro.

Tymczasem, dla ciekawskich : http://pastebin.com/VNuYRVCe oraz http://pastebin.com/W4iVVZMS

To na tyle ze skryptów. W między czasie, po długiej walce naprawiłem GITA! Yuhu! Będą commity, wreszcie. Zrobiłem także model domku karczmy oraz kilka innych.

To jednak zostawiam na jutro. Gdyż nazbierało się tego trochę i warto to pokazać w innym wpisie, a tym czasem mam dla was pytanie : Co sądzicie o moich postępach? 🙂