Witamy na forum! Informacje o projekcie VCMI

Cóż…
Z jednej strony całkowicie rozumiem twój punkt widzenia i ogólnie zgadzam się z tezami, które stawiasz. Z drugiej - i stwierdzam to z przykrością - nie widzę solidnego AI w przewidywalnej przyszłości. Cały czas żyję nadzieją, że jakaś dobra dusza okaże serce i się za to AI nam weźmie, ale jest ona coraz słabsza.

Wielu, naprawdę WIELU programistów zgłaszało się już do mnie, proponując napisanie AI, ale kończyło się to zawsze tak samo - urwaniem kontaktu. Zwykle wkrótce po tym, jak już spędziłem parę godzin na rozwiązywaniu problemów delikwenta z Visualem (przy czym stałe punkty to znalezienie w opcjach projektu pola “include directories” oraz - de facto nieodmiennie! - idea “working directory”) i budową projektu, czasem wyłuszczeniu podstaw.

Realną pracę wykonały tak naprawdę 3 osoby - ambtrip, który napisał obecny do tej pory zaczątek bitewnego AI; tstandley, który napisał zaczątek AI na mapę przygody (niestety zbyt wolne i niestabilne, by spożytkować) i red13, który “refaktorował” kod poprzednika. Teraz po 10 miesiącach przerwy tstandley znowu się pokazał i może coś ruszy naprzód. Choć ciemno to widzę, bo niezależnie od wszystkiego AI dla VCMI nie jest projekcikiem, który można machnąć w 2 miesiące wakacji i odejść.

Słusznie w końcu napisałeś - najtrudniejsza część gry.

Jeśli nikt inny nie napisze AI, to ja to zrobię - ale to będzie ostatni brakujący element VCMI za jaki się wezmę - po dodaniu MP, trybu cheat-proof i podstawowego interfejsu modów. Powody są dwa - po pierwsze, mam uraz do pisania AI. Po drugie, z perspektywy programisty nie opłaca się z tym spieszyć.

AI ma tę paskudną cechę, że jest zależna od WSZYSTKICH innych elementów logiki gry. Tak więc AI najoptymalniej (z punktu widzenia programisty naturalnie, nie testera czy gracza) byłoby zaimplementować na końcu, gdy już ta cała logika będzie. Teraz wiele części silnika wciąż jest poprawianych i przepisywanych na nowo - gdyby było jakieś zależne od nich AI, to i tam by trzeba robić poprawki. [Choć - na szczęście - większość zmian w wewnętrznych mechanizmach silnika dla AI pozostaje niewidoczna, skryta za wspólnym z GUI interfejsem. To jedna z moich szczęśliwszych decyzji projektowych.] I w miarę dodawania nowych ficzerów, rozbudowywać AI, by umiało z nich korzystać. A to może być problematyczne, jeśli autor dokona zbyt daleko idących założeń.

Tak więc jakkolwiek ze szczerą radością powitałbym istotny postęp w pracach nad AI - choćby z powodów, które wskazałeś - to nie boleję jakoś strasznie nad jego brakiem. Zwłoka też ma tu swoje plusy.

PS. Nie liczyłbym w jakiejkolwiek perspektywie na AI skoncentrowane przede wszystkim na odtwarzaniu zachowania AI z OH3. Jeśli już ktoś się weźmie za AI, to raczej jedynym celem będzie stworzenie jak najskuteczniejszego przeciwnika.

Kumam. Jedyne co pozostaje to mieć nadzieję, że nie wydłuży to nadto pojawienie się wersji 1.0.

Jak to mówią lepsze bywa wrogiem dobrego. Wiem, że pewnie trudniejszym byłoby odwzorowanie AI z OH3 ale obawiam się, czy wprowadzenie innych zachowań komputera jako gracza i neutrali jako przeciwników w bitwach, nie będzie zniechęcało herosowych “wyjadaczy” do sięgnięcia po VCMI. Trzeba mieć na uwadze, że wiele fixów jak i taktyk w zależności od poziomu trudności gry jest oparta na takich a nie innych zachowaniach komputera. Stworzenie innego / skuteczniejszego AI powoduje, że gry trzeba sie uczyć w jakiś sposób na nowo. Najlepszym rozwiązaniem byłoby odwzorowanie AI OH3 i dodanie jako feature nowego skuteczniejszego AI. No ale na to pewnie potrzeba by nie jednego ale grupy programistów którzy zajmowaliby się tylko tą częścią VCMI.

No cóż, skoro w VCMI chodzi głównie o zmianę mechaniki gry przez modowanie, to już z tego powodu starzy wyjadacze nie będą nas lubili. VCMI z założenia ma wnieść trochę świeżości w rozgrywkę i odtwarzanie oryginalnego AI wydaje mi się tutaj pomysłem niemal kuriozalnym, szczególnie w sytuacji, gdy żadnego w miarę rozsądnego jeszcze nie mamy. Poza tym nie bardzo rozumiem, jak kogoś może bawić wykorzystywanie specyficznych zachowań AI… no, ale co kto lubi. Jeśli ktoś będzie chciał napisać AI zgodne z oryginalnym do VCMI to nie będziemy narzekać, ale nie widzę powodu, aby do tego zachęcać.

Oczywiście nie mogę zgodzić się z tym, co napisałeś. Wręcz jestem bliski stwierdzenia, że nie do końca przemyślałeś to, co napisałeś lub napisałeś to tylko po to żeby zając całkowicie odmienne od mojego stanowisko w tej dyskusji.

Gracze online szukają poprawionej wersji HoMM3 ale nie nowej gry. Patrz przykłady mod TE lub WT. Pierwszy nie stał się bardzo popularny, gdyż wymagał do instalacji WoGa/opiera się na WoGu i zbyt bardzo ingeruje właśnie w mechanikę gry. Mimo wielu udogodnień i słusznych poprawek, niestety gry trzeba uczyć się od nowa. Grywany głównie na WCL i HW
WT ma duże szanse na stanie się bardziej popularnym po ukazaniu się finalnej wersji, jeżeli udałoby się wyeliminować brak stabilności. Mało ważący patch, który może być instalowany w oparciu o SoD/Complete. Co jest dużym atutem. Niestety oparcie jego na wersji TE czyli WoG, bo innej możliwości w modowaniu H3 w tym momencie nie ma, powoduje, że prawdopodobieństwo uzyskania dobrej stabilności jest nikła.

Nie znam się na programowaniu, ale zdaje sobie sprawę, że odtworzenie identycznego AI z H3 jest może nie tyle kuriozalne, co praktycznie niemożliwe/ czasowo nie uzasadnione bez znajomości jak mniemam kodu zródłowego. Co IMO nie powinno być argumentem do tego, żeby odciąć się od zachowań AI z OH3. Stworzenie nowej gry opartej na grafikach i obiektach z H3 może i jest potrzebne ale trzeba pamiętać, że danie możliwości grafikom/moderom wstawienia nowych jednostek budynków nie musi być wystarczającym argumentem, żeby w tą wersji H3 grać. A niestety bez graczy nawet najfajniejsze dodatki nie będą mialy racji bytu.

Z tym stwierdzeniem chyba najbardziej nie mogę się zgodzić. Nie wierze, że grając w jakąkolwiek grę, nie tylko na kompie, nie analizujesz zachowań przeciwnika i nie dostosowujesz swojej taktyki do jego. Wiem, że jest wielu graczy (w tym moja siora), którzy grają w hirki bo podoba im się jak koniki biegają, zbierają surowce, umożliwiają rozbudowę zamku itd. Niektórzy przecież wpisują kody tylko po to żeby być nieśmiertelnym i “przebiec” się po mapie i mają z tego fun. Ale mam nadzieje, że VCMI nie jest skierowany do tego typu graczy bo po 1 tacy gracze nie szukają nowej wersji gry a po 2 szybko każda grą się nudzą.
Fakt, że jak gralem mniej “zawodowo” w H3 czyli SP i offline z kumplami gdzie do spotkań często dochodziło w 2 lub 3 miesiącu to też szczegółowo nie analizowałem wszystkich banków jednostek, nie analizowałem jakie sa róznice w zachowaniach neutrali grając na 100% lub 200%, gdyż zawsze graliśmy na “impossiblu”, no ale takie rzeczy jak wyprowadzanie kompa w pole, żeby zając jego zamek, to że neutrale pierw walą w strzelaki czy tam dążą do ich zablokowania były i są oczywiste i sa chyba przez każdego wykorzystywane. Chyba grajac np Rampem nie zaatakujesz sharpshoterow z elfami tylko zostawisz je u innego hirka, chyba ze masz możliwośc zblokowania ich up pegazami.
Wiem, że w grze MP online analiza taktyki kompa i zachowań AI przy grze na różnych poziomach trudności wchodzi na wyższy poziom, ale gra kończy się tu najczęściej w 2 lub 3 tyg. Czyli jak zrobić conserve w 1 dniu shatkim grajac Dungiem czy jak zrobić min utopie z 3 hydrami jest często kluczem do wygranej. Dla innych tego typu przykładów poczytajcie ostatni rozdział ze znanego Wam Heroes 3: Tribute to Strategists, wręcz w zwykłym helpie do H3 są opisane zachowania komputera w zależności od poziomu trudności. Skuteczniejsze AI spowoduje, że rozgrywka się wydłuży co może być plusem ale w dłuższej perspektywie może się okazać minusem gry. Oczywiście nie przeczę, że AI w H3 wymaga usprawnienia ale nie radykalnej zmiany.
Powtórzę, że wiele templatów do tworzenia map typu random i fixów opiera się na możliwość zdymienia określonej “wartości” guarda w 2 lub 3 tyg bo AI w OH3 jest takie a nie inne. Oczywiście jest to tylko dodatkowy argument.

Ja bym właśnie do tego zachęcał ale nie protestował, jeżeli ktokolwiek będzie chciał to zrobić po swojemu. Bo mając jakiekolwiek AI zawsze będzie istniała możliwość, że zostanie ono poprawione przez Was lub przez kogoś innego.

Oczywiście nie patrzcie na to co pisze w taki sposób, jakbym coś próbował wymusić lub stawiać na ostrzu noża, że np. albo będzie tak albo minie mi chęć do pomagania w tym projekcie. Chciałem tylko pokazać swój pkt widzenia który jak się okazało jest diametralnie różny od Waszego. Może ponad rok temu bym tak się nie upierał bo wtedy jeszcze grałem głównie w WoGa i na HS, ale od sierpnia’09 odkrywam na nowo OH3 i jestem zaskoczony jaki potencjał jeszcze tkwi w tej grze mimo upływu 11 lat od jej stworzenia. Stad też mój udział w tym projekcie. Jestem zarówno fanem WoGa i wszelkiego rodzaju modów-dodatków typu HoTA, jak i funem rozgrywki MP online czyli modów-poprawiających rozgrywkę, która często opiera się na suchej strategii niczym gra w szachy. Połączenie w VCMI tych dwóch spraw byłaby dla mnie ideałem :slight_smile:

Swoją opinię o kierunku, w jakim powinien iść rozwój VCMI opieram na jedynym dobrze mi znanym silniku do starej, dobrej gry - Springu (odtwarza Total Annihilation w 3D). Ma całkiem sporą społeczność wokół siebie - przy VCMI na większą bym nie liczył. Mimo wieloletniego rozwoju i ogromnej społeczności, o ile wiem nie istnieje nawet mod (czy raczej gra, jak ostatnio je nazywają ze względu na uniwersalność silnika) do niego odwzorowujący oryginalną mechanikę - mimo wielu modów bazujących na oryginalnych modelach jednostek i o podobnej mechanice. Tak jak w Heroesa, tak w Total Annihilation dużo graczy gra przez sieć. Jakoś mimo swojej innowacyjności Spring zdołał skupić wokół siebie wielu graczy - czyli się da. Pełne odwzorowanie oryginalnej mechaniki poza tym wydaje mi się tak żmudne i pracochłonne, że zapewne nigdy nie zostanie ukończone. Jednakże bardzo możliwa będzie implementacja zbliżonej mechaniki - nieodróżnialnej od oryginalnej dla kogoś, kto nie spędził setek godzin na zdobywaniu wiedzy o różnych kruczkach i sztuczkach (jako przykłady elementów mechaniki, które bym tu zliczył, można wymienić np. rozróżnianie źródeł blokowania czarów na potrzeby różnych umiejętności jednostek, niektóre rzadziej przejawiające się odporności jednostek na efekty czy histereza występująca przy przypisywaniu graczy do kolorów przed rozpoczęciem gry (to ostatnie to akurat ukończony element GUI, ale poza tym pasuje)).

Spring znowu jest tu dobrym argumentem…

Szczerze powiedziawszy to nie widziałbym nic złego w atakowaniu sharpshooterów z elfami… moją taktykę w hirkach możnaby opisać jako “zrób jednego bohatera na bardzo wysokim levelu i z ogromną armią i atakuj wszystko po kolei od najsłabszego i najbliższego do najmocniejszego i najdalszego”, a w bitwach “atakuj jednostki od najpotężniejszej do najsłabszej dając waita na jednostki, które nie mogą niczego zaatakować, żeby ich nie wystawiać na atak przeciwnika”. Jeśli chodzi o czary, to stosowałem w sumie tylko te o efekcie natychmiastowym - slow, berserk, blind, ofensywne zadające obrażenia. Czasem jakieś pozytywne na swoje jednostki, ale bez przekonania i analizowania, ile faktycznie dadzą w przypadku konkretnej jednostki. Możliwe, że czasem zauważałem jakieś schematy zachowania się AI, ale nigdy nie starałem się ich zapamiętywać. Poza tym od kilku lat nie ukończyłem już żadnego scenariusza do Heroesa… no cóż, wiem, nie jestem idealną osobą do przepisywania silnika Heroesa. Schematyzm jakoś zawsze mnie odstraszał od gier.

Ciężko mi się odnieść. Na pewno jest dużo racji w tym co piszesz. Pewnie to ja mam już wypaczone, zbyt “radykalne” podejście do H3.

No właśnie :wink: Tego nie wziąłem pod uwagę.
Zapomniałem, że przecież nie każdy gra, żeby “wyśrubować” jak najlepszy wynik. Oczywiście, żeby nie było, ja też w pierwszej kolejności czerpie przyjemność z grania czy to delektując się kampanią czy tez SP. Jednak jeżeli jakaś gra zalega u mnie na dłużej na kompie typu H3, Starcraft, UT itd to zaczyna się granie w MP, gdzie żeby pokonać innego gracza trzeba być coraz lepszym lub w SP żeby poprawiać wynik jaki się osiągnęło wcześniej.

Reasumując, dobrze że taka dyskusja się wywiązała to przynajmniej wiem coś więcej czego oczekujecie po VCMI. Może i dobrze dla VCMI, że nie jesteście jakimiś zapalonymi graczami bo pewnie nie mielibyście czasu na programowanie i tworzenie VCMI, oraz że większą przyjemność sprawia Wam samo tworzenie VCMI i chęć osiągnięcia produktu finalnego niż granie :wink:

Powiedzenie mające zastosowanie tylko wtedy, gdy już mamy to “dobre”. W tej chwili nie mamy nic, pytanie czy chcemy w przyszłości aspirować do “lepszego” czy “dobrego”.

Nisko mierzysz :wink:
Widzę przynajmniej dwa powody dla których VCMI powinno zgromadzić istotnie większą społeczność:

  1. OH3 ma wciąż dużo większa społeczność niż OTA kiedykolwiek miało, istnieje też ogromny potencjał “uśpionych” graczy. OTA nigdy nie odniosło sukcesu komercyjnego na szeroką skalę, podczas gdy Heroesy zna praktycznie każdy, a zainteresowanie serią wciąz jest podbijane przez kolejne sequele (H5, przypuszczalnie wkrótce H6).
  2. Spring jest nastawiony praktycznie wyłącznie na szybkie rozgrywki MP - do tej pory nie udało im się zrobić dobrze działająej funkcjonalności zapisu-odczytu gry. VCMI ma zaoferować jeszcze lepszą rozgrywkę SP niż OH3.

Oczywiście są i przeszkody:

  1. Spring ma kilka lat przewagi czasowej :stuck_out_tongue:
  2. VCMI wymaga zainstalowanego H3:WoG. O ile sam WoG powinien sie bez istotnych trudności zintegrować z potencjalnym instalatorem VCMI, to wymogu posiadania H3 raczej nie uda nam się przeskoczyć.
    Jedyną alternatywą byłoby stworzenie nowych grafik - i uzyskać kompletnie nową, wolną grę typu HMM. (Val-gaav postulował coś takiego)

To naprawdę ostatnia rzecz, o jaką bym się martwił. Chyba, że przez wydłużenie czasu rozgrywki miałeś na myśli, że AI usiłujące być skuteczne, będzie robić turę przez pół godziny. :stuck_out_tongue:

Ale pisząc już poważniej, twoje poglądy są dla mnie dość zaskakujące. Naturalnie, byłem świadom istnienia rozpisek “jak jednym aniołem pokonać dwustu pięćdziesięciu magogów” i pokrewnych, natomiast nigdy nie myślałem o nich jako o części logiki gry. Przeciwnie, dla mnie były to błędy w AI Heroesa - że gra w sposób schematyczny i podkłada się.

Piszesz, że istotną częścią rozgrywki jest analiza zachowań przeciwnika i dostosowywanie własnej taktyki, by odkryć jego słabości i jak najlepiej je wyzyskać. Uważam tak samo, tyle że schematyzm postępowania AI w mojej opinii jest tu przeszkodą. Bo gdzie tu miejsce na analizę, gdy zachowania zostały już skatalogowane, a dobry gracz zamiast rozgryzać zaskakujące posunięcia przeciwnika, rozgrywa bitwę krok po kroku według wskazań z PDF-a otworzonego w tle?

Ten obraz wydaje mi się zupełnym zaprzeczeniem elementu gry polegającego na analizie zachowań przeciwnika. Pewna nieprzewidywalność / adaptowalność zachowań gracza komputerowego wydaje mi się jej koniecznym warunkiem.


A po prawdzie, to te nasze dyskusje - jakkolwiek zawsze warto poznać inną perspektywę - przypuszczalnie w samej sprawie nic nie zmienią. Kształt AI zależeć będzie od dewelopera, który je będzie implementować - a ten pewnie będzie już miał własny pogląd. :wink:

“Sequel” Total Annihilation, Supreme Commander, jest w miarę popularny z tego co widziałem. Może nie dorównuje H5 ale skoro słyszałem o planach kolejnej części, pewien sukces komercyjny musi być… z drugiej strony SC znacząco zmienia mechanikę rozgrywki… no cóż, może masz rację, ale na 100 - 200 graczy regularnie widzianych na głównym serwerze też bym nie narzekał. A TA, mimo braku sukcesu komercyjnego, ma więcej działających rewirite’ów silnika niż OH3 (nawet jakby zsumować mniej lub bardziej udane zaczątki).

Istnieje kilka w miarę zaawansowanych projektów miast, jest projekt New Interface for WoG… jakby to pozbierać, to byłaby znacząca część grafik. Większy problem z całkowitym pozbyciem się IP Ubisoftu z tak przygotowanej paczki…

Witam
Dopiero dziś odkryłem waszą stronę i projekt VCMI. Gratulacje podjęcia tematu. Liczę, że heroes 3 znowu odżyje. Myślę, że najważniejsze jest AI, gdyż mi osobiście gra z przeciwnikiem komputerowym z powodu jego schematyczności już się znudziła. Czy są jakieś postępy? Kiedy uda wam się ukończyć? Co prawda jestem programistą C#, ale znajomość jakich bibliotek jest potrzebna do dołączenia do projektu?
pozdrawiam i życzę zapału do pracy

Z tego co ja wiem, to całość działa na SDL a poza tym używane są biblioteki boost, ale poczekaj aż wypowie się ktoś z ekipy :wink:

Witamy i dziękujemy za ciepłe słowa!
W sprawie AI do tej pory nie było znaczących postępów, ale mam dobrą wiadomość — zamierzam je stworzyć w ramach pracy inżynierskiej. Prace nad jego implementacją ruszą w wakacje. Choć nie wiem jeszcze, jak to AI mi wyjdzie, to chyba najtrudniejsze zagadnienie z całego silnika.

Biblioteki AlienX dobrze wypisał. Żeby dołączyć nie musisz ich jakoś szczególnie znać, czego będzie trzeba, to można łatwo douczyć się w miarę potrzeb. Konieczna jest jednak dobra znajomość C++. Jeśli jesteś zainteresowany rozwijaniem projektu, zapoznaj się ze wskazówkami, jak go zbudować na naszym wiki wiki.vcmi.eu ].

Szkoda, że nie wiedziałem o VCMI wcześniej, bo może udałoby mi się podpiąć jakiś projekt na uczelni pod VCMI :stuck_out_tongue_winking_eye: Myślę, że z C++ bym sobie poradził, po przypomnieniu sobie składni i zapoznaniu z bibliotekami (całkiem sporo rzeczy na uczelni robiłem w C) Jeśli będę miał miesięczne, a nie 3-miesięczne praktyki w wakacje, to się do was zgłoszę i ustalimy czym mógłbym się zając.
pozdro

A, właśnie. VCMI jako projekt uczelniany to świetna praktyka, pozwalająca na łączenie pożytecznego z przyjemnym i pożytecznym. :slight_smile: Inna sprawa, że nie zawsze się da oraz nie zawsze te akurat elementy, które byśmy chcieli.
Daj znać, jeśli Ci się korzystnie te praktyki wyklarują, roboty jeszcze mnóstwo zostało, choć to już w sumie bardziej poprawki i uzupełnienia niż jakies wielkie nowe ficzery.

Co do AI, to nie da się wykorzystać tego z freeheroes2?

Freeheroes2 ma zupełnie inną architekturę i inaczej rozwiązane interfejsy. U nich mechanika gry jest przemieszana z logiką gracza, u nas jest to silnie rozseparowane. Niby można otworzyć w jednym oknie źródła AI z FH2, a w drugim sobie napisać to w zgodności z VCMI, ale to już bardziej jak pisanie od zera w oparciu o obcą logikę, niż ponowne wykorzystanie tamtego AI.

Po drugie AI w FH2 jest bardzo proste, coś takiego można bez problemu napisać wieczór bądź dwa. (Niby jest tego sporo, ale AI w AI mają bardzo malutko…) Moje prace nad AI już trwają, choć właściwego tempa nabiorą dopiero we wrześniu. Pewnie oryginalnemu heroesowemu AI tak zaraz to nie dorówna, ale do końca roku będzie się dało w miarę normalnie grać w trybie SP — a to już ważny kamień milowy dla projektu.

Witam wszystkich. Śledzę wasz projekt od prawie 2 lat, ale jakoś tak wyszło, że konto założyłem dopiero teraz. W każdym razie szczerze podziwiam to co robicie i życze powodzenia w dalszej pracy. :wink:

Dzięki, miło nam to słyszeć! :slight_smile:

ja tez, trzymam kciuki :stuck_out_tongue:
To juz blisko 4 lata :))

Widzę, grupa fanów rośnie. Również czekam co dobrego z tego projektu wyniknie. Życzę powodzenia :slight_smile:

A jak sprawa ma się teraz?
Zgłosiłem niedawno buga (odtwarzalnego) i nie wiem czy cisza wiąże się z natłokiem pracy, feriami czy brakiem żywotności projektu.

Obserwuję aktualizacje na gicie i paczka na launchpadzie ostatnio się zaktualizowała, ale jak jest w rzeczywistości? Czy mam się bawić w wyłapywanie i zgłaszanie błędów?

Niemniej, chciałbym serdecznie podziękować wszystkim osobom mającym wkład w rozwój projektu - większość błędów i problemów z jakimi się spotykam (crashe, niedopracowania graficzne i stosunkowo niska trudność na 200%) jest zdecydowanie pomijalna w zamian za… no, efekt:

Dzięki!

Pozdrawiam!