Modern Control

To, co nie pasuje do pozostałych kategorii, ma swoje miejsce tutaj.
ATG
Soldier level 1
Soldier level 1
Posty: 14
Rejestracja: pon lis 01, 2010 7:44 pm

Modern Control

Příspěvek autor: 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
Posty: 2898
Rejestracja: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Re: Modern Control

Příspěvek autor: 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.
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posty: 4169
Rejestracja: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontakt:

Re: Modern Control

Příspěvek autor: 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
Posty: 14
Rejestracja: pon lis 01, 2010 7:44 pm

Re: Modern Control

Příspěvek autor: 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ę).
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posty: 4169
Rejestracja: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontakt:

Re: Modern Control

Příspěvek autor: 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
Posty: 398
Rejestracja: úte bře 08, 2011 8:37 am

Re: Modern Control

Příspěvek autor: 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* píše:Nie ma czegos takiego jak mniej niz polowa lub wiecej niz polowa...
Polowa to polowa.
Radzio
Site Administrator
Site Administrator
Poland
Posty: 2898
Rejestracja: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Re: Modern Control

Příspěvek autor: Radzio »

ATG píše: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
Posty: 14
Rejestracja: pon lis 01, 2010 7:44 pm

Re: Modern Control

Příspěvek autor: 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:

Kód: Vybrat vše

<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
Posty: 2898
Rejestracja: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Re: Modern Control

Příspěvek autor: 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.
Uživatelský avatar
YuriStriatov
Site Administrator
Site Administrator
Cuba
Posty: 1395
Rejestracja: pát úno 17, 2006 3:02 am
Kontakt:

Re: Modern Control

Příspěvek autor: 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.
Obrázek
ATG
Soldier level 1
Soldier level 1
Posty: 14
Rejestracja: pon lis 01, 2010 7:44 pm

Re: Modern Control

Příspěvek autor: 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:

Kód: Vybrat vše

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

Kód: Vybrat vše

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

Kód: Vybrat vše

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

Kód: Vybrat vše

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
Posty: 2898
Rejestracja: pát črc 28, 2006 10:58 am
Bydliště: Bialystok, Poland

Re: Modern Control

Příspěvek autor: Radzio »

To tylko Yuri się zgubił.

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

Kód: Vybrat vše

"button": {
  "id": "ZamknijGre",
  "function": "Zamknij",
  "position": [100, 100]
}
Co wydaje mi się dużo czytelniejsze niż to samo w XML-u.
Uživatelský avatar
Marcinszabla
Soldier level 6
Soldier level 6
Posty: 443
Rejestracja: úte srp 17, 2010 3:15 pm
Bydliště: Zamojszczyzna

Re: Modern Control

Příspěvek autor: 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 !
Uživatelský avatar
pomek
Soldier level 7
Soldier level 7
Poland
Posty: 656
Rejestracja: pon kvě 03, 2010 9:05 pm

Re: Modern Control

Příspěvek autor: 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...
Uživatelský avatar
Marcinszabla
Soldier level 6
Soldier level 6
Posty: 443
Rejestracja: úte srp 17, 2010 3:15 pm
Bydliště: Zamojszczyzna

Re: Modern Control

Příspěvek autor: 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 !
ODPOWIEDZ