Dwarfs and Goblins

Postaw się w roli wodza i poprowadź swoje oddziały do boju! Zadbaj o zwycięstwo i zapewnij przetrwanie swojej rasy. Opowiedz się po stronie dzielnych krasnoludów lub przebiegłych i sprytnych goblinów. Rozbudowuj i fortyfikuj bazę, zajmuj złoża surowców i wycinaj lasy, aby zapewnić teren do życia swoim podwładnym.

s1

„You have to support one race and defeat your enemy’s great armies! Lead your Goblin’s or Dwarf’s units in the attack in many battles.

Dwarfs and Goblins is a turn-based strategy game in fantasy world. Those two races compete for place for themselves on continent. You have to support one race and defeat your enemy’s great armies! Lead your Goblin’s or Dwarf’s units in the attack in many battles during campaigns or single skirmish. Prepare yourself for battle with your friends in online game and prove your strategy abilities.

Command your brave Dwarf warriors, protect your mountain settlement, mines and houses against savage Goblin’s tribes! Use your armoured Longbeard and Gunners to form a front line which stops even the biggest Goblin’s tribe! Remember, that uninterrupted access to resources is crucial for the survival of the dwarven camp.

Become a leader of Goblin’s tribe and defeat ranks of dwarven defenders! Plunder dwarven mines searching for gold and try to deprive them of resources! Use your majority and mobility of your Goblin’s units to set traps and snares for slow and ponderous Dwarfs. Do not ignore sharp axes and heavy hammers which have been forged in mountain forge. Make use of your unpredictable, suicidal Kamikadze goblin and blow up your enemies!” – opis konkursowy.

logo

Dwarfs and Goblins jest pierwszą poważną grą, przy której pracowałem. Projekt ten rozpoczął się w ramach zajęć na Politechnice Wrocławskiej z zakresu sztucznej inteligencji. Dostaliśmy możliwość realizacji gry, na podstawie której przebadamy algorytmy wykorzystujące sztuczną inteligencję do sterowania zachowaniem gracza komputerowego. Projekt realizowany był w 3-osobowym zespole studentów. Dodatkowo celem była zbliżająca się kolejna edycja konkursu Microsoft Imagine Cup 2014, w którym postanowiliśmy wystartować w kategorii Games. Wraz z zespołem opracowaliśmy całą koncepcję gry, zastanowiliśmy się, w co chcielibyśmy zagrać na swoich telefonach i tabletach i czego brakuje nam w sklepach. Projekt w całości powstał w oparciu o silnik Unity3D w wersji 4.x , assety ze sklepu Unity Asset Store oraz assety wykonane własnoręcznie na potrzeby gry.

Poniższy wpis stanowi ogólny zarys dotyczący projektu Dwarfs and Goblins, nie zawiera szczegółów implementowanych rozwiązań.

Czym jest Dwarfs and Goblins

Dwarfs and Goblins jest turową grę strategiczną w stylu fantasy. Trójwymiarowy świat gry oparty jest o mapę zbudowaną z heksagonalnych bloków, po których poruszają się postacie, na których wznoszone są budowle i umieszczane inne elementy świata gry.   Gracz wciela się w rolę dowódcy oddziałów jednej z dwóch ras, krasnoludów lub goblinów. Gra zawiera tryb rozgrywki jednoosobowej, w którym graczowi przychodzi zmierzyć się ze sztuczną inteligencją sterującą przeciwnikiem w ramach misji kampanii oraz swobodnych potyczek. Istnieje też prosty tryb multiplayer pozwalający zmierzyć się z ludzkim przeciwnikiem bez udziału sztucznej inteligencji. Każdą rasę tworzą 4 typy jednostek oraz bohaterów odpowiadających każdemu z tych typów. Bohater jest jednostką znacznie silniejszą i posiadającą dodatkowe umiejętności w stosunku do jednostki podstawowej.

dwarfs

Krasnoludy

goblins

Gobliny

Każda z jednostek charakteryzuje się własnymi atrybutami, takimi jak siła ataku, obrona, punkty życia, zasięg ruchu oraz punkty akcji potrzebne do używania umiejętności. Dodatkowo każda jednostka zdobywa doświadczenie za pokonywanie przeciwników, co skutkuje osiąganiem coraz to wyższego poziomu i przekłada się na wzrost atrybutów. Wszystkie postaci w grze dysponują umiejętnościami charakterystycznymi dla swojego typu i charakteru. Dla przykładu Gunner – krasoludzki strzelec posiada precyzyjny strzał pozwalający unieszkodliwić przeciwnika celnym strzałem w głowę. Natomiast goblin Shaman miota ognistą kulą zadającą obrażenia obszarowe.

Każda rasa dysponuje również zestawem budynków niezbędnych do rozwoju, zdobywania surowców, rekrutowania wojska oraz obrony. Budynki specjalne pozwalają na ulepszanie oręża i pancerza jednostek. Każdą z budowli można ulepszać zwiększając jej punkty wytrzymałości oraz zwiększając parametry pracy w przypadku budynków wydobywających surowce.

db

Cechy gry

System turowy

Gracz w każdej turze może wykonywać określoną liczbę czynności. Przemieszczać jednostki o określoną liczbę kroków, wykonywać akcje wydając punkty akcji jednostek. Rozbudowa i ulepszanie budynków odbywa się w turze danego gracza i zależne jest od posiadanych surowców.

Heksagonalny świat

Jednostki poruszają się po mapie zbudowanej z heksagonalnych bloków. Eksploruj świat i zdobywaj surowce.

Rozwój jednostek

Każda z jednostek zdobywa doświadczenie podczas walki. Doświadczenie zależne jest od zadawanych przeciwnikowi obrażeń. Podczas awansu na kolejny poziom doświadczenia statystyki jednostki zwiększają się. Podczas awansu jednostka odzyskuje utracone zdrowie i punkty akcji.

Ulepszanie uzbrojenia i pancerzy

Specjalny budynek Kowala pozwala ulepszać uzbrojenie i opancerzenie naszych jednostek. Ulepszenia nie są tanie, ale dają wielką przewagę nad wrogiem podczas walki.

kowal

Leczenie ran na polu bitwy

Niektóre jednostki posiadają specjalne umiejętności umożliwiające leczenie siebie i kompanów podczas bitwy. Leczyć rany można również w świątyniach.

leczenie

Specjalne umiejętności bohaterów

Bohaterowie są jednostkami znacznie potężniejszymi od zwykłych żołnierzy. Bohater jest bardzo cenny na polu bitwy, jego działania potrafią przechylić szalę zwycięstwa.

Rozbudowa i ekonomia

Żadna armia nie jest w stanie wygrywać bez dobrego zaplecza ekonomicznego. Rozbudowuj swoją bazę, wydobywaj surowce i buduj koszary do rekrutacji nowych żołnierzy. Nie zapominaj o fortyfikacjach obronnych, twoja baza nie może zostać bez obrony kiedy ty wyruszysz na front.

Sztuczna inteligencja

Celem projektu w ramach zajęć na Politechnice Wrocławskiej była implementacja i przetestowanie algorytmu sztucznej inteligencji odpowiedzialnego za sterowanie zachowaniem gracza komputerowego. Sztuczna inteligencja w grze Dwarfs and Goblins została zaimplementowana przy użyciu Rozszerzonych Sieci Behawioralnych (ang. Extended Behaviour Network, EBN). Sieci te składają się z połączonych między sobą modułów i celów, między którymi przepływa energia aktywacyjna. Przepływ energii aktywacyjnej między elementami sieci zależy od ich połączeń, oraz od parametrów modułów jak i celów. W każdym kroku przetwarzania sieci wykonywane są moduły o najwyższej energii aktywacyjnej. Aby moduł mógł zostać wykonany, konieczne jest spełnienie warunków jego wykonywalności, oraz muszą być dostępne wymagane zasoby.

Cel

Pojedynczy cel definiowany jest jako:
– warunek, którego spełnienie jest wymagane,
– potencjał, określający istotność celu globalnie,
– propozycja alternatywna,  określająca istotność celu lokalnie, w aktualnym kontekście.

Moduł

Składa się z warunków wstępnych, akcji jaka ma być wykonana, listy efektów oraz listy zasobów. Aby akcja modułu mogła zostać wykonana, wymagane jest aby koniunkcja warunków była spełniona, oraz aby były dostępne wszystkie wymagane zasoby. Lista efektów pozwala nam przewidzieć jakie zmiany w środowisku gry wprowadzi wykonanie akcji danego modułu.

Zasób

Jest to para: nazwa zasobu, ilość. Zbiór zasobów definiuje nam dostępne zasoby, z których będą mogły korzystać moduły.

Zastosowanie sieci w grze

Sztuczna inteligencja w grze Dwarfs and Goblins została stworzona na podstawie wielu sieci behawioralnych. Jedna, główna sieć steruje gospodarką, strategią i podejmuje decyzje globalne. Każda jednostka wybudowana przez gracza sterowanego przez komputer, również sterowana jest przez sieć behawioralną, lecz nie tą samą, a dostosowaną do charakteru danej jednostki. Dzięki temu istnieje możliwość różnicowania zachowań poszczególnych jednostek, ponieważ oczywiste jest to, że lekka szybka jednostka przyjmie inna strategię walki, od ciężkiego strzelca. Dodatkowo istnieje możliwość określenia zachowań charakterystycznych dla jednostki. Przykładem może być tchórzliwy zwiadowca, który eksploruje mapę, a po otrzymaniu nawet niewielkich obrażeń ucieka z powrotem do bazy aby się wyleczyć. Pojedyncze jednostki mogą wpływać na zachowanie głównej sieci sterującej strategią (np. jeżeli jednostka otrzyma rany i będzie chciała się wyleczyć, to główna sieć powinna rozkazać budowę świątyni), oraz oczywiście działania sieci strategicznej mogą wpływać na zachowania poszczególnych jednostek.

Losy projektu

Na chwilę obecną projekt jest zawieszony. Nie został wydany, ze względu na zbyt duże nakłady finansowe jakich wymagał, jako studenci nie mogliśmy sobie pozwolić na finansowanie tak dużego przedsięwzięcia. Nie jest jednak wykluczona możliwość powrotu do tego projektu. Jeśli jesteś zainteresowany, chciałbyś pomóc lub zwyczajnie wyrazić swoją opinię na temat tego projektu, napisz proszę na adres mailowy, zostaw informację w komentarzu lub skontaktuj się ze mną za pomocą Facebook lub LinkedIn.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s