Mały news

Jeśli kogoś to interesuję to napisałem mały wpis dotyczący VCMI na swojej stronie :slight_smile:

wikigames.ubuntu.pl/?q=node/34

Może jakieś komentarze?

VCMI nie było stworzone przez WOG team, tylko przez Towa i Tow dragona, a Heroesa 3 nie wydało Loki, tylko 3DO, projekt nie jest zamknięty.

Poprawiłem. Ale, Loki Games wydało Heroes3. Wydało ale wersje na Linuksa.
Jak na razie projekt jest zamknięty (nie widzę nigdzie źródeł do pobrania) ale skoro tak mówisz, może to oznaczać iż za niedługo ów źródła będą dostępne :wink:

Na razie niestety źródła projektu będą względnie zamknięte (nie stawiamy zbyt wysokich wymagań kandydatom na programistów VCMI, jak tylko się przyznasz, że umiesz trochę angielski i C++ to niemal na pewno weźmiemy), jednak póki co (póki jednomyślnie nie zgodzimy się na otwarcie źródeł) pozostaną one zamknięte dla chcących sobie je tylko osobiście skompilować (oraz nie chcącym nas co do tego oszukiwać).

Bardzo miło to słyszeć :slight_smile:
Kłamać nie będę… c++ znam tylko na tyle, że potrafię Hello World zrobić (no może troszkę więcej :wink: ).

Jednakowo postaram się znaleźć/przysyłać osoby chętne, które mogłyby by pomóc.
Pozdrawiam.

Dodatkowa pomoc zawsze się przyda, zwłaszcza jeśli znalazłbyś kogoś, kto by rzeczywiście napisał trochę kodu i poświęcił projektowi kilka miesięcy. Oczywiście, najważniejsza jest dobra znajomość C++ i przynajmniej komunikatywna w piśmie angielskiego.

ja moge coścosik dopisać w c++
nawet zrobiłem w c++ baardzo prostą gierkę

Nie mamy obecnie nadmiaru programistów w naszym teamie, więc z chęcią przyjęlibyśmy nowego. VCMI to jednak dość duży projekt i staramy się zachowywać w miarę wysokie standardy kodu. Aby ocenić twoje zdolności programistyczne, chcielibyśmy zobaczyć kod tej prostej gierki, którą napisałeś. Na przykład możesz mi napisać PMa i dołączyć do niego ten kod. Pozwoli nam to ocenić, czy mógłbyś nam pomóc.

wysłałem pm, proszę nie rozprowadzać dalej…
to jest jedna z najprostszych gier z grafiką jaka mi przyszła do głowy…
w ten sposób oswjałem się z c++, jedno z moich pierwszych dzieł w tym języku

kiedyś napisałem dużo ciekawszą (rozwinięta platformówka z “many more features”) ale była w egzotycznym języku blitz basic… nie udało mi się jej przenieść na c++…

oczywiście pracuje/pracowałem nad dużo większym projektem w c++ ale jest on w fazie rozwoju, a poza tym mam “dziwne opory” (pewnie sentyment) w podzieleniu się tym nowym kodem

mam nadzieję że VCMII stanie się open-source :mrgreen:

PS: pisałem jeden projekt open source ale jest on na tyle mały że tylko dla wtajemniczonych (była to zmodyfikowana wersja czyjegoś trainera do pewnej gry, która wraz z jej updatem się tj. zdezaktualizowała)

Kod wysłałem tylko Towowi, naszemu głównemu programiście i nikomu więcej nie zamierzam ;].

Obecnie najbardziej prawdopodobne jest, że będzie częściowo open-source. W wersji 0.7 planujemy podział kodu na klienta gry, serwer i wspólną bibliotekę, między innymi czytającą formaty Heroesa. Po dokończeniu tego podziału będzie istniała szansa na wypuszczenie klienta i serwera na LGPLu, zaś ta wspólna biblioteka pozostanie freeware. Niczego jednak nie obiecuję.

Tak poza tym to gratuluję przyjęcia na okres próbny do VCMI teamu. Zrób sobie konto na assembla.com/ i wyślij mi swój nick, dam ci wtedy dostęp do naszego kodu i wyślę pliki i instrukcje niezbędne do kompilacji. Będziesz miał możliwość commitowania swoich patchy bezpośrednio na serwer, prosiłbym jednak o wysyłanie ich do mnie lub do Towa zamiast tego - ocenimy, czy są wystarczająco dobre i jak będą, to je wgramy.

majaczek gratuluje,a VCMI przyda sie jakies wsparcie.

Jak jest pisany VCMI? Chodzi mi o to, jakie główne biblioteki są używane i przy pomocy czego (typu: allegro, winapi, itp)

C++ znam dosyć dobrze i z chęcią bym pomógł, ale jak dotąd głównie zajmowałem się algorytmiką, więc od razu nie mogę napisać, czy dam radę pomóc czy nie.

Całość oparta jest na SDL-u i jego przyległościach. Poza tym zlib do dekompresji i kilka bibliotek z boosta.

Generalnie brak znajomości samej biblioteki nie jest jakimś wielkim przeciwwskazaniem, mając opanowany język i ogólne pojęcie o programowaniu można szybko się nauczyć jej obsługi.
Jeśli miałbym wskazać cechę, na której najbardziej mi zależy u chętnych do pomocy przy VCMI, to byłaby to determinacja do działania. Ja rozumiem, że oswojenie się z projektem nie najmniejszych w końcu rozmiarów wymaga czasu, jednakże jak na razie wszyscy tryskający początkowo chęcią pomocy po przyjęciu do Teamu jakoś cichną i bardzo dobrym rezultatem jest jednorazowe wgranie patcha.
Jeśli więc uważasz, że masz w sobie tę iskierkę uporu w dążeniu do celu i wolny czas - jesteśmy otwarci :slight_smile:

Upór w dążeniu do celu mam.
Z czasem wolnym to już różnie, zależy ile tego czasu powinno być :slight_smile:
Generalnie, od września (szkoła :-/ ) mógłbym się zająć projektem średnio jakieś 5-10 godzin tygodniowo.
Jeśli to wystarczy to mogę spróbować.

EDIT:
Myślę, że jednak mam za mało doświadczenia w praktycznym programowaniu (algorytmikę traktuję jako teoretyczne, mimo, że pisze się tam programy, które się normalnie później uruchamia, itd). Jeśli się projekt przeciągnie lub po wersji końcowej będzie nadal rozwijany (własne dodatki do homm, czy coś w tym stylu) to pewnie w końcu pomogę.

@Tow :

Model rozwoju open source by tu chyba pomógł … Ogólno dostępne SVN lub GIT z kodem umożliwiłoby chętnym programistom nie proszenie się itp tylko zerknięcie na kod i ocenienie czy napewno chcą i czy podołają.
A jeżlei ktoś nie wie jak obsłużyć GIT czy SVN to i tak się wam by nie nadał (jak ta osoba na forum prosząca o kod w jednym pliku ;0)

Być może się mylę ale sporo osób zgłaszających się tu na forum miało zajęcia z C++, napisało w nim parę prostych programów w stylu książka adresowa , tudzież coś z Winapi i nie zdaje sobie sprawy jak to jest pracować nad dużym projektem, który dotakowo korzysta z zewnętrznych bibliotek jak SDL …

Inna sprawa, że część ludzi może i by coś wam dopisała poprawiła ale zrobiliby to jednorazowo bez stawania się członkiem teamu, bez zobowiązań … ale takie coś chyba i tak byłoby przydatne dla projektu ?

Tak, jest to w sumie jedyny sensowny argument za otwarciem kodu jaki tu padł (bo wcześniejsze argumenty dotyczące “niemoralności” raczej mnie ubawiły), zresztą także i w rozmowach wewnątrz Teamu się dość często przewija. Otwarcie źródeł oszczędziłoby nam roboty z prowadzeniem rekrutacji.
Z drugiej strony nie łudzę się, iż pojawiłyby się wtedy tabuny chętnych do pracy programistów, z których by był jakiś pożytek. Jeśli ktoś coś umie i chce zrobić, to i teraz nie będzie miał kłopotu z dostaniem się w nasze szeregi. Przejście procedury rekrutacyjnej i obecność w Teamie powinny nawet zapewniać lepszą motywację. Z drugiej strony nie każdemu się chce to przechodzić, więc ogólnodostępne repozytorium mogłoby nieco zwiększyć zainteresowanie.
A po prawdzie, to jestem zupełnie przekonany, iż oba te czynniki się w przybliżeniu równoważą i po otworzeniu źródeł realna pomoc zewnętrzna byłaby mniej więcej taka jak teraz - czyli w praktyce znikoma.

Hmm, jeśli projekt by był rozwijany po wersji końcowej, to nie byłaby ona chyba wersją końcową :wink:
Ale nie planujemy kończyć projektu po osiągnięciu głównych celów, jak się odtworzy funkcjonalności H3, to będzie nieograniczona ilość roboty z wdrażaniem nowych pomysłów i czynieniem całości łatwiej modowalną.
Projekt się na pewno będzie jeszcze długo ciągnął.

Cóż cżęść miłośników free software właśnie tak uważa (argument niemoralności) … inna ich część patrzy bardziej na techniczne zalety otwartego oprogramowania.

Zgadzam się, że otwarcie źródeł to nie jest magiczna różdzka , która przywoła nowych developerów w masowych ilościach :slight_smile: … ale IMHO wtedy są na to większe szanse niż teraz.

Szczerze mówiąc to otwierając się nic nie tracicie bo i tak nie chcecie na VCMI zarabiać :slight_smile:

Inne zalety otwartości są raczej długo terminowe. Otwarty charakter może:

  • zapewnić, że ktoś przygarnie projekt gdy wam już on się znudzi, lub też nie będzie już mieć dla niego tyle czasu co kiedyś …
    -jednocześnie dla użytkowników oznacza to większą pewność, że projekt będize kontynuowany.
    -zapewnić wam poprawki od innych gdy jakiś inny team postanowi wykorzystać silnik VCMI w ich projekcie np. gry.

Tak tylko jeszcze powiem, że zależnie od ilości osób pracujących nad VCMI , na zmiane licencji musi się zgodzić każdy autor kodu (ciekawe jak oznaczacie czyj jest kod teraz: ) ) … Zależnie od obrotu sprawy może być to trudne (np. jakiś były koder może nieodpowiadać na maile itp. itd) … dlatego im szybciej tym lepiej …

Apropo ukończenia. Moim zdaniem nie ma czegoś takiego jak wersja końcowa. Zawsze znajdą się jakieś funkcjonalności do dodania lub bugi do poprawy :slight_smile:

Właściwie werję końcową można nazwać tąktóra odnowi całego H3 i będzie I wersją (oficjalną),lecz do końcowych wersji wychozdą patche i poprawki.
przykład:
Diablo II wersja początkowa 1.0, można ją uznać za koncową,gdyż została ona oficjalnie wydana.
1.10 mówiono o niej końcowa
1.11b każdy myślał,że to finalna wersja (nawet ja),gdyż Blizzard inwestował wtedy tylko w WoW’a
1.12 najnowszy patch wydany 17.Czerwca.2008,który był zaskoczeniem dla graczy,lecz wiekrzość fanów uważa,że to koniec z Diablo II:
-Diablo III
-Patch nie poprawia nic prócz możliwości grania bez płyty.

Nie wydaje mi się, aby jakikolwiek w miarę powszechnie przyjęty system wartości faktycznie coś takiego zakładał. A wobec tego posługiwanie się tym argumentem wobec osób nie wyznających ideologii free-software jest bezsensowne. Ba, nawet wydaje mi się to być pewnym rodzajem fanatyzmu, którego to szczerze nie trawię (zwłaszcza gdy wziąć pod uwagę upór w tępieniu wszystkiego, co “nie nasze”).

Ze swojej strony mogę obiecać, że jeśli z jakichś powodów nie moglibyśmy kontynuować projektu (na co się nie zapowiada), to kod zostanie udostępniony. Nie grozi nam sytuacja, iż główny deweloper zniknie wraz z kodem (vide Sir Felgar i MMT), gdyż głównych deweloperów jest dwóch, a ponadto dostęp do repozytorium posiada dość wiele osób.

Nie wydaje mi się, aby VCMI się nadawało do zastosowania w innej grze (przynajmniej bez naprawdę dużego wkładu pracy) - jest dość ściśle związane z H3. Nie tworzymy ogólnego silnika heroesopodobnego do szerokich zastosowań.

Za wersję końcową danego projektu najlepiej chyba jednak przyjąć taką, po której już nie zamierza się dodawać nowych funkcjonalności. Wersja, która - w przypadku projektów komercyjnych - po długim okresie produkcji trafia do sklepów.
Teraz nam się to nieco rozmyło, bo wraz z upowszechnieniem internetu stała się możliwa łatwa dystrybucja łatek nawet znacznych rozmiarów. I niestety - niektórzy też producenci odkryli, iż można wypuścić do sklepów produkt niedokończony, nieprzetestowany i potem przez najbliższe miesiące (lata) uzupełniać braki i łatać błędy patchami ważącymi setki MB.
Tak więc coraz częściej mamy do czynienia z łatkami, które nie tylko łatają, ale też pełnią rolę małych dodatków.

@jeden plik kodu
oczywiście plik który wysłałem był paczką (zwykły zip, bo nie znam się na svn)
zawierał kilka plików kodu (projekt był typu wprawka programistyczna)
plik danych (1 bitmapa), oraz plik projektu
a także plik wykonywalny(skompilowany) + biblioteka dll konieczna do uruchomienia

paczka była podzielona ze względów technicznych, a kod zawierał zaczątki własnych klas, z których nie wykorzystywał wszystki features

++ zarejestrowałem przekazanie go drugiemu szefowi projektu VCMII, miałem na myśli nie upublicznianie go poza waszą dwójką :slight_smile:

@determinacja
cóż trudno mi dokończyć coś co zacząłem i doszło do jakiegoś-to-skutku, ale lubię wracać do czegoś co sobie zostawiłem, a choć trochę zacząłem i nie lubię gdy coś się marnuje, więc nie zamierzam w najbliższym roku was opuszczać, a i wtedy pewnie sentyment mnie u was zatrzyma

na pewno gdy poznam na jakich zasadach zbudowany jest projekt (a to trochę zajmie), nie będę miał ochoty tego zmarnować (taki już jestem), a to będzie implikowało coraz to dalszą pomoc wam :slight_smile:

PS: może nie jestem bez wad, ale jestem użyteczny