Page 1 of 4

Modern Control

Posted: Sat Jul 23, 2011 8:47 pm
by ATG
Witam, chciałbym wszystkim ogłosić iż ruszyły pełną parą prace nad grą pt. Modern Control (tytuł roboczy). Będzie ona w dużym stopniu podobna do Original War lecz nie identyczna. Taki pomysł mam w mojej głowie od jakiś dwóch lat.

Prace nad grą rozpocząłem 12 miesięcy temu. Przez ten czas napisałem swój silnik 2D spędzając przy nim po kilkadziesiąt godzin tygodniowo. Zamierzam udostępnić go w przyszłości innym. Cały kod został napisany w C++, biblioteki z których korzystam:
  • + DirectX 9c - jako render.
    + Audiere - tymczasowo jako audio w przyszłości będzie OpenAl.
    + Lua - obsługa skryptów.
    + Luabind - łączenie C++ z Lua.
    + kilka bibliotek z pakietu Boost.
Co do gry. Mam już za sobą cały kod GUI i komunikacje pomiędzy grą a skryptami, odbieranie i wykonywanie sygnałów itd. czyli wszystko co potrzeba między grą a użytkownikiem. Interfejs można zbudować w banalny sposób za pomocą języka XML lub skryptów Lua (do wyboru do koloru). Aktualnie pracuję nad terenem i w międzyczasie skubię kod różnych jednostek. Napisałem bardzo dużo kodu, który jeszcze nie został użyty i dlatego nie chcę dawać screenów bo mało na nich widać. Nie mam grafika więc używam bitmap z pierwowzoru jako placeholderów.

Tak więc piszcie czego Wam brakuje w OW (najbardziej interesuje mnie kwestia skryptów) i co Wam przeszkadza, a ja będę się tym kierował. :lol:

Re: Modern Control

Posted: Sat Jul 23, 2011 9:04 pm
by Radzio
Szkoda, że nie OGL :<
Zmiana na OpenAL to dobry pomysł.
Czemu wszyscy wsadzają Luę do skryptów? Python zły? :P
A tak ogólnie to zapowiada się bardzo obiecująco.

Re: Modern Control

Posted: Sat Jul 23, 2011 9:12 pm
by Serpent
Witam. Na początku gratuluje i cieszę się że te zapowiedzi nie były tylko żartem i że to robione jest na serio.

Mi przede wszystkim brakuje możliwości stworzenia moda poprzez edycję prawie całej gry np. dodawanie jakiś rzeczy typu techy czy budynki.

Brakuje mi także:
- rozbudowanego systemu rozwijania postaci bo jak wiadomo obecnie mamy 40 poziomów podzielonych na 4 kategorie, wg. mnie lepiej by było gdyby poziomów było 100/4.

- opcji typu bieg/chód przy postaciach.

- bardziej realistycznego podejścia w kwestii walki.

- ekwipunku postaci typu nóż, plecak, apteczka, lornetka.

To tyle jeśli chodzi o mnie, jeżeli coś jeszcze sobie przypomnę to tu dopisze.

Re: Modern Control

Posted: Sat Jul 23, 2011 10:20 pm
by ATG
Python jest za wolny i zbyt duży, lua jest najlepsza tym przypadku (w końcu została zaprojektowana głównie do gier).

Serpent wezmę pod uwagę to co napisałeś. Dodawanie jednostek przemyślałem już wcześniej wszystko będzie polegać na dodaniu kilku linijek w pliku xml (przynajmniej taką mam nadzieję).

Re: Modern Control

Posted: Sat Jul 23, 2011 10:39 pm
by Serpent
Fajnie by było gdybyś udostępnił przynajmniej kilka skrinów z tego projektu.

A jak wygląda kwestia grafiki? Robiłeś już jakieś pojazdy?

Re: Modern Control

Posted: Sat Jul 23, 2011 11:38 pm
by Bren
Mam nadzieję, że będzie niezłe. Może dodaj coś o wymaganiach sprzętowych?

Najbardziej w OW przeszkadzają mi bugi. Zrób grę bez bugów. :D
A tak na serio:
- wprowadzenie podklas postaci - np. zwykłego naukowca można przerobić w rozbudowanym laboratorium na medyka, który będzie szybko leczył, albo na wynalazcę, który będzie szybko badał. Jednak medyk mógłby badać technologie, ale i tak wolniej od wynalazcy (i na odwrót)
- dodać lotnictwo i statki - można by je robić, dodając rodzaje fabryki, czyli warsztat można przerobić albo na stocznię, albo na fabrykę

Gra ma jakąś stronę internetową? Jak tak, to podaj.

Re: Modern Control

Posted: Sun Jul 24, 2011 7:14 am
by Radzio
ATG wrote:Python jest za wolny i zbyt duży, lua jest najlepsza tym przypadku (w końcu została zaprojektowana głównie do gier).
Że za duży to się zgodzę, ale że za wolny to już nie. Na obecnych maszynach i przy aktualnej implementacji obu języków wydajność w praktyce nie ma większego znaczenia, choć teoretycznie Lua jest szybsza.

Zapomniałem dodać w poprzednim poście: zmień XML na YAML albo dodaj YAML opcjonalnie. Zmuszanie ludzi do edytowania (pisania?!) plików XML to sadyzm.

Co do możliwości jeszcze: obecne OW ma w SAILu dostępny system eventów. Generalnie idea dobra, ale na dłuższą metę okazuje się, że mało jest tych eventów. W swoim silniku powinieneś wyeksponować dla Lua jak najwięcej.

Re: Modern Control

Posted: Sun Jul 24, 2011 9:23 am
by ATG
Gra nie ma strony internetowej, to ile będzie podklas na tym etapie nie ma znaczenia. Nie robiłem jeszcze pojazdów, tak jak pisałem na razie używam grafiki z OW. Teraz interesują mnie kwestie techniczne.

Radzio kilka dni temu zrobiłem jako tako system eventów, na razie wygląda to tak:

Code: Select all

<hook signal="" function=""/>
Wszystko jest ograniczone do ilości sygnałów. Zawsze komuś będzie jakiegoś brakować :cry: Postaram się zrobić ich jak najwięcej.

Edycja XML to nie taki sadyzm, powstał w tym samym celu co YAML i wydaje mi się 'naturalniejszy' od niego. Jednak parser z którego korzystam oprócz XML potrafi obsługiwać także formaty JSON i INFO więc nie będę go ograniczał.

ps. Lua lepsza. :lol:

Re: Modern Control

Posted: Sun Jul 24, 2011 9:59 am
by Radzio
Hook do większości akcji, jakie można wykonać w grze. Np. funkcja "atakuj" wywoływana z interfejsu ma swój event i pozwala na sprawdzenie kto atakuje i kogo.

Wybacz, ale jakoś bawienie się z tagami mi się nie widzi. Bardziej naturalny jest YAML. Poza tym, skoro ten parser obsługuje JSON, to zmień na JSON. YAML to taki JSON wagi ciężkiej.

Lua lepsza do wbudowywania jej w coś. Co do gustów, to w Pythonie po prostu podoba mi się syntax.

Re: Modern Control

Posted: Sun Jul 24, 2011 1:34 pm
by YuriStriatov
Ja bym jednak na twoim miejscu zostawil jak najwiecej rzeczy do obslugi w lua. XML jedynie dobry by byl na to co w OW robia pliki .txt w owp (czyli lista pojazdow, technologii, budynkow, ich statsy, itd.). Jesli chodzi o eventy/hooki to definiowanie ich w pliku XML czy nawet YAML? Troche do dupy, lepiej by bylo tego rodzaju definicje trzymac w skryptach a nie w XMLu. W ten sposob bedzie mozna lepiej nimi manipulowac, ustawiac if/else itd. i bedzie to lepiej i przede wszystkim szybciej dzialac jak skrypter bedzie mogl sobie wybrac ile eventow postawic i kiedy, zamiast wszystkie eventy na chama stawiac na poczatku gry.

Tak czy siak bedziesz musial napisac API dla lua zeby mozna bylo skryptowac to MC w jakis porzadny sposob, wiec rownie dobrze mozesz i to przerzucic.

Re: Modern Control

Posted: Sun Jul 24, 2011 3:29 pm
by ATG
Nie wyjaśniłem dokładnie na czym polegają te hooki dlatego trochę się nie rozumiemy. XML jest własnie po to by zdefiniować pojazdy, budynki i zbudować interfejs. Dodatkowo jest to 'wrapper' na funkcje Lua tak więc to bez różnicy w czym ktoś będzie pisał.

Każda misja będzie posiadać plik XML z utworzonymi hookami dla czytelności oraz plik Lua z funkcjami z których chcemy korzystać.

Mamy taka własną funkcje lua i chcemy żeby była wykonana jak naciśniemy przycisk:

Code: Select all

function Zamknij()
	if a == 1 then 
		GameExit() 
	end
end
Teraz otwieramy plik xml i definiujemy przycisk:

Code: Select all

<button id="ZamknijGre" function="Zamknij">
  <position x="100" y="100"/>
</button>
albo jeśli funkcja jest krótka to razu piszemy jej definicje:

Code: Select all

<button id="ZamknijGre" function="if a == 1 then GameExit() end end">
  <position x="100" y="100"/>
</button>
albo jeszcze inaczej, napisać wszystko w lua:

Code: Select all

ZamknijGre = Interface:CreateButton("ZamknijGre")
ZamknijGre:SetPosition(100,100)
ZamknijGre:SetFunction("if a == 1 then Function::GameExit() end")
Lua ma dostęp do tego co jest w XML i na odwrót. To co można zrobić w XML da się 'ręcznie' w Lua ale wtedy kod niepotrzebnie rośnie i jest mało czytelny.

Re: Modern Control

Posted: Sun Jul 24, 2011 3:52 pm
by Radzio
To tylko Yuri się zgubił.

A ja dalej będę namawiał na YAML/JSON:

Code: Select all

"button": {
  "id": "ZamknijGre",
  "function": "Zamknij",
  "position": [100, 100]
}
Co wydaje mi się dużo czytelniejsze niż to samo w XML-u.

Re: Modern Control

Posted: Sun Jul 24, 2011 10:37 pm
by Marcinszabla
Mamy jeszcze dwie kwestie:
1.Fabuła - swobodnie możesz ściągnąć z Original War ,tylko wehikuł ma mieć inną nazwę i inaczej wyglądać,
2.Surowce-skrzynie bym zastąpił drewnem (oczywiście tartak budowany przy drzewach) , ropa niech będzie , a dla syberytu zrób swój odpowiednik.Do szybu , kopalni i tartaku można też dodać animacje , np pracę specjalnego robota.

Re: Modern Control

Posted: Mon Jul 25, 2011 12:37 am
by pomek
Jestem wielce przeciwny ściaganiu czegokolwiek z OW. Nasza giera ma swoj niepowtarzalny klimat i jestem pewien, ze nikt nie sciagnie MC tylko dlatego, ze ma mniej bugow, lepsza grafike czy srelemorele.

Jezeli autor chce byc oryginalny to niech nie inspiruje sie OWarem, tylko stworzy cos wedle swojej idei, w ktorej oczywiscie kazdy z nas moze wziasc udzial i zostac wspolautorem od strony pomyslu, pozniej kampani, map oraz detali, ktore sa najwazniejsze...

Re: Modern Control

Posted: Mon Jul 25, 2011 7:57 am
by Marcinszabla
Może i tak , ale element RPG NA PEWNO powinien być inaczej MODERN CONTROL NIE BĘDZIE PODOBNE DO ORIGINAL WAR!