Modern Control

To, co nie pasuje do pozostałych kategorii, ma swoje miejsce tutaj.
ATG
Soldier level 1
Soldier level 1
Posts: 14
Joined: Mon Nov 01, 2010 7:44 pm

Modern Control

Post 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:
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Modern Control

Post 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.
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4169
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Modern Control

Post 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.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
ATG
Soldier level 1
Soldier level 1
Posts: 14
Joined: Mon Nov 01, 2010 7:44 pm

Re: Modern Control

Post 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ę).
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4169
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Modern Control

Post 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?
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Bren
Soldier level 6
Soldier level 6
Indonesia
Posts: 398
Joined: Tue Mar 08, 2011 8:37 am

Re: Modern Control

Post 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.
*Matrix* wrote:Nie ma czegos takiego jak mniej niz polowa lub wiecej niz polowa...
Polowa to polowa.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Modern Control

Post 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.
ATG
Soldier level 1
Soldier level 1
Posts: 14
Joined: Mon Nov 01, 2010 7:44 pm

Re: Modern Control

Post 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:
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Modern Control

Post 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.
User avatar
YuriStriatov
Site Administrator
Site Administrator
Cuba
Posts: 1395
Joined: Fri Feb 17, 2006 3:02 am
Contact:

Re: Modern Control

Post 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.
Image
ATG
Soldier level 1
Soldier level 1
Posts: 14
Joined: Mon Nov 01, 2010 7:44 pm

Re: Modern Control

Post 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.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: Modern Control

Post 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.
User avatar
Marcinszabla
Soldier level 6
Soldier level 6
Posts: 443
Joined: Tue Aug 17, 2010 3:15 pm
Location: Zamojszczyzna

Re: Modern Control

Post 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.
Jego Wysokość: z Bożej łaski Cesarz trolli youtubowych, Król trolli forumowych, Wielki Książę n00bów OWowych oraz wierny, a jakże pokorny uczeń WIELKIEGO PANA I WŁADCY BLACKMENA I CREATIVA W JEDNEJ OSOBIE, MarcinSzabla I !
User avatar
pomek
Soldier level 7
Soldier level 7
Poland
Posts: 656
Joined: Mon May 03, 2010 9:05 pm

Re: Modern Control

Post 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...
User avatar
Marcinszabla
Soldier level 6
Soldier level 6
Posts: 443
Joined: Tue Aug 17, 2010 3:15 pm
Location: Zamojszczyzna

Re: Modern Control

Post by Marcinszabla »

Może i tak , ale element RPG NA PEWNO powinien być inaczej MODERN CONTROL NIE BĘDZIE PODOBNE DO ORIGINAL WAR!
Jego Wysokość: z Bożej łaski Cesarz trolli youtubowych, Król trolli forumowych, Wielki Książę n00bów OWowych oraz wierny, a jakże pokorny uczeń WIELKIEGO PANA I WŁADCY BLACKMENA I CREATIVA W JEDNEJ OSOBIE, MarcinSzabla I !
Post Reply