Nie trwóż się, śledź shoutbox
Jakkolwiek studia i inne przedsięwzięcia pochłaniają sporo mojego czasu, nad VCMI pracuję ciągle. Powoli, prawda, powoli, ale konsekwentnie. Przygotowuję bardzo dużą przeróbkę kodu bonusów, nie wgrywam jej wersji pośrednich, bo ciągle zbyt wiele rzeczy jest rozwalonych. To taki niewdzięczny kawałek kodu, bo wynik mojej pracy będzie w najlepszym razie niewidoczny dla użytkowników. Ale przyda się, gdy przyjdzie implementować doświadczenie jednostek, specjalności bohaterów, itp.
Jak się uporam z tymi nieszczęsnymi bonusami (tj. gdy nowy system będzie działać mniej-więcej jak stary), to wypuszczę wersję deweloperską (może poprawiając po drodze parę drobiazgów z Mantisa), w nadziei, iż wyłapie możliwe nowe błędy. Przy dobrym wietrze - jestem meteopatą - będzie to przyszły tydzień.
Potem już standardowy cykl poprawić - dodać.
Wobec tego wydanie 0.81 przewiduję najwcześniej na 1 czerwca.
(A bieżący brak działań innych deweloperów jest nawet korzystny w zakresie unikania konfliktów )
I love Chrome’s Translate extension. I can read both sections of the forum as if they were both in English. I hope it doesn’t come out as “invasion of privacy” from your perspective.
Anyway, on topic, I guess we had some bad planet alignment on this project the last month or something. Just by visiting the place it really does seem like neither devs nor testers managed to find time for VCMI for quite while. Not really true (see wiki and the code cleaning mentioned above), but I can imagine we kinda gave this feeling. In my case, my agenda will start to clear out only around mid-May, probably just in time for testing the dev version before the 0.81. Let’s cross fingers for a more active summer.
Od siebie jeszcze dodam, że ostatnimi czasy przygotowałem fragmentaryczny opis struktury kodu VCMI na wiki. Nie przybywa tego szybko, ale staram się w miarę możliwości rozbudowywać. Może się komuś kiedyś przyda.
Dopóki Tow nie wgra nowego systemu bonusów na repozytorium, nie będę nic robił przy VCMI aby nie robić konfliktów (Tow niedawno mówił, że jego patch ma już 300kB, a więc zmienia naprawdę sporo kodu).
No, wgrałem moje straszne zmiany. Teraz poczekam kilka dni, aż całość okrzepnie, wyjdą co bardziej ewidentne problemy i po uporaniu się z nimi - dev release
To akurat nic do chwalenia się. To bardzo zła praktyka robić takie commity - giganty. Nie bierzcie ze mnie przykładu.
Of course it doesn’t. Feel free to read and join our discussions here
Może i zła praktyka, ale przepaści małymi kroczkami nie przeskoczysz. W sumie mogłeś zrobić brancha i w nim rozwijać kod i co kilka dni uploadować małe zmiany. Dziwne, że dopiero teraz wpadłem na ten pomysł…
Praca Plus komputer, który dostałem w zeszły czwartek, nadal nie działa. A bardzo chciałbym wypróbowac go w warunkach bojowych, zamiast programowac na laptopie.
A ja wyjechałem na wakacje, a od października zaczynam studia na drugim fakultecie. Za dużo nie zrobię do przerwy międzysemestralnej, wątpię, abym choć kampanie dokończył. Poza tym zaczynam już myśleć o pracy inżynierskiej…
może jest też coś czym ja na moich “przymusowych wakacjach” mógłbym się zająć? mogę być tą osobą która trochę to rozrusza.
tylko proszę coś prostego, bo czytając kod erm-parsera/interpretera nie mogłem nic zrozumieć… szkoda.
Przerwę? Przecież prace nad VCMI ciągle się posuwają. Tylko polska część forum trochę zamarła… widać nie ma o czym dyskutować.
Co do parsera/interpretera - nie używałem tam żadnych brzydkich sztuczek, jak przejrzysz ze zrozumieniem tutorial do boost.spirit.qi to wszystko (lub prawie wszytko) powinno być jasne. No, i oczywiście musisz znać podstawy teorii kompilacji (co to jest parser, notacja EBNF itp.) oraz choć trochę język ERM.
W święta to ja się dopiero budzę do życia ;). Nie spodziewałbym się większej aktywności w środku tygodnia, w środku semestru… na wiosnę też jakoś nie chce się siedzieć przed komputerem. Miłość wzywa!
Inna sprawa, że sam nie wiem, co jeszcze można by napisać w miarę szybko, aby wnieść istotne funkcjonalności do 0.85 … Parser ERM, jak wspaniały by nie był, nie posuwa projektu do przodu, a reszta ekipy podsyła jakieś drobne detale albo milczy całkowicie.
Jeśli chcesz koniecznie coś zrobić, zajrzyj do listy brakujących umiejętności i czarów… albo na TODO. Bugów do naprawienie tez jest całe mnóstwo, ale rzeczy te wymagają już znajomości konkretnej części silnika, a może i kilku.
Rozwijanie VCMI nie jest dziś tak proste jak ongiś, całość nabiera coraz większej złożoności. Elementy, które wciąż nie zostały zaimplementowane (bądź niepoprawione bugi) są zwykle trudne lub pracochłonne i dlatego właśnie nikt ich nie ruszył. No dobrze, pewnie znajdzie się też trochę kwestii banalnych, którymi mi się po prostu nie chciało kłopotać… ale nieraz trudno odróżnić łatwą poprawkę od trudnej.
Myślę, że po części jest to przyczyną mniejszej niż kiedyś aktywności deweloperów. Coraz częściej czas się spędza bardziej na wymyślaniu, jak coś zaimplementować, niż na samym pisaniu kodu.
Nie śmiej się, on jest naprawdę wspaniały. I rozszerzamy ERM o rozszerzenia rodem z Lispa, efekt będzie niesamowity!
Naprzód faktycznie nie posuwa za bardzo, niemniej była sposobność, by coś takiego zrobić jako projekt zaliczeniowy. Alternatywą byłoby kodzenie czegoś niezwiązanego z VCMI — niewykluczone, że nawet w czymś tak obrzydliwym jak Java.
W bliskiej przyszłości raczej nie będzie porządnie działających skryptów, opracowujemy przede wszystkim interpreter… ale powstaną też ogólne interfejsy dla modułów skryptowych, które nawet jeśli pozostaną w znacznej mierze niezaimplementowane, to kiedyś bardzo się przydadzą.
Ja mam takie trochę krępujące pytanie: Czy w VCMI będzie zachowana oryginalna ilość podłoża H3, czy będzie można w miarę postępu dorzucać nowe typy podłoża?
Teoretycznie taka możliwość istnieje, jeśli chodzi o nowe typy charakterystyczne dla nowych frakcji, na przykład.
Większy problem może sprawić dodanie wielu grafik dla tego samego typu terenu - jak w H5, gdzie możemy wybierać spośród bardzo licznych trawników, łąk i wydeptanej ziemi, a wszystkie one są traktowane przez mechanikę gry jako trawa - w chwili obecnej ani format mapy, ani silnik VCMI tego nie umożliwia.
Rozsądne wydaje się dodanie kolejnego bajtu opisującego używaną grafikę do struktury TerrainTile i zarządzanie dostępnymi typami w klasie MapHandler.
Ostatnie zagadnienie jest o tyle ciekawe, że istnieje również cała masa grafik nowych pól bitew gotowych do użycia. Byłoby dobrze, gdyby dało je się swobodnie przypisać do dowolnego terenu i na początku walki wylosować pole bitwy, jak w pewnym bardzo popularnym modzie do H5.
Tu pojawia się kolejny problem, mianowicie w H3 każde pole ma konkretny przypisany ukłąd przeszkód terenowych, w VCMI wszystko jest losowane. Jeśli będziemy generować te przeszkody w przyszłości za pomocą algorytmu deterministycznego, to zmiana typu terenu spowoduje zmianę występujących na nim przeszkód. Dalej, gdy dodawanie terenów będzie rozwiązane dynamiczne, to rozkład przeszkód może zależeć od konkretnych zainstalowanych modów - to już może stanowić nieoczekiwany problem.
Od dawna sympatyzuję z VCMI, ale zaglądając sporadycznie na stronę byłem przekonany że do teoretycznej grywalności jeszcze bardzo daleko(dlatego piszę w tym temacie).
Ostatnio przejrzałem trochę forum i pogooglałem, wyczytałem że hotseat działa, ale do AI jeszcze daleko.
Teraz że AI już powstaje i będzie za kilka miesięcy, otwierając drogę do działającego SP.
Wielkie podziękowania i gratulacje, wykonujecie wspaniałą robotę!
Pobrałem najpierw Heroes 3 Complete, następnie ERĘ 2.4 i do folderu z grą ( I ERĄ co za tym idzie ) wypakowałem VCMI wersję 0.98 pobraną z tej strony bodajże. Dlaczego zatem modu VCMI nie mogę odpalić poprzez ERĘ? Dodawałem także inne mody np. z miastem i także w Managerze Modów ERY nie mogę uczynić ich “Enable” , działającymi. Mody działają tylko wtedy gdy odpalę VCMI clienta. Dlaczego tak jest, co można z tym zrobić?
Czy są dostępne mody takie jak Bastion Town lub Miscellaneous? Próbując pobrać je z tej strony napotykam na ślepe uliczki i martwe linki.
Czy jest opcja aby wyłączyć niektóre nowinki takie jak np. informator o kolejności wykonywania akcji poprzez poszczególne stworzenia na polu bitwy itp.?