.[ ČeskéHry.cz ].
Rigs of Rods (GPL)

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Hry pro PC, konzole, ...
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
only_a_ptr



Založen: 12. 01. 2014
Příspěvky: 2
Bydliště: Rajhrad

PříspěvekZaslal: 18. červen 2014, 14:57:44    Předmět: Rigs of Rods (GPL) Odpovědět s citátem

Ahoj vespolek.

Protože jsem tu ještě nic nenapsal, krátce se představím. Jmenuji se Petr Ohlídal, je mi skoro 30, jsem programátor webových stránek (PHP/Java/:NET, co je zrovna potřeba) a také amatérský C++ programátor který by se rád uplatnil jako herní vývojář. Byl jsem na GDS2013, někteří z Vás mě možná poznáte: https://www.linkedin.com/pub/petr-ohl%C3%ADdal/99/225/88a

Projekt který tu chci představit, či spíš připomenout je open-source sandbox simulátor vozidel Rigs of Rods: http://www.rigsofrods.com/content/
Hra je to poněkud zastaralá a opuštěná, protože původní vývojáři utekli a založili komerční projekt BeamNG: http://www.beamng.com/content/ Já si nicméně myslím že stojí za to původní RoR oprášit a omladit. Minimálně je to velká výzva pro málo zkušeného vývojáře. Hra má spoustu nedostatků které už jsou z hlediska common-knowledge podchycené, a já mám šanci je sem implementovat.

První úkol do kterého jsem se pustil byl redesign parseru formátu .TRUCK (definice vozidel). Starý parser bylo léta lepené monstrum, navíc byl těsně spojen (tightly-coupled) s fyzikálním jádrem, které bylo potřeba upravit. Zároveň ale formát nešlo jen tak zahodit, protože v něm bylo vytvořeno nezanedbatelné množství obsahu. Tak jsem se vrhnul do práce.
http://www.rigsofrods.com/threads/113499-RoR-TruckParser2013-test-build
https://sourceforge.net/u/only-a-ptr/ror-truck-parser-2013/ci/default/tree/

Další dílčí úkol byl pořádně uklidit ve zdrojácích. Hra byla založena na začátečnickém OOP frameworku navrženém pro single-thread aplikace. Během let se přidal multithreading a na hře spolupracovalo mnoho programátorů kteří lepili nové funkce kam se zrovna hodilo. Ze ctihodného OOP frameworku zbyly jen trosky které se pletly do cesty. Do toho se ještě rozšířila epidemie singletonů.
Vyřešil jsem to značnou redukcí OOP, odstranil jsem spoustu tříd které hrály dílčí úlohu při startu programu a nahradil je několika málo ucelenými funkcemi. Tím se odhalilo spousta duplicit a mrtvých úseků kódu. Striktně posuzováno je moje architektura špatná, ale velmi zlepšila čitelnost a dala se implementovat postupně a tím bez velkého rizika bugů.
http://www.rigsofrods.com/threads/113807-devs-only-please-RoR-s-software-architecture
https://sourceforge.net/u/only-a-ptr/ror-software-architecture/ci/default/tree/

Plán do budoucna: Přejít na linux, rozchodit Cachegrind http://valgrind.org/docs/manual/cg-manual.html a začít přepisovat jádro simulace. Podle mých teoretických znalostí je úplně špatně, ale jsem zvědav co se dozvím v praxi.

Vzato kolem a kolem nemám zatím moc co předvést. Hlavně se učím vnitřní mechanismy 3D her a experimentuji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Peto



Založen: 01. 08. 2007
Příspěvky: 206
Bydliště: Košice

PříspěvekZaslal: 23. červen 2014, 09:03:44    Předmět: Odpovědět s citátem

Vyzera to zaujimavo..

Chcel som skusit hlavne vrtulnik, na ten momentalne sa snazim urobit nejaku rozumnu fyziku...Nepodarilo sa mi to Sad

Stiahol som aj addony, najprv to neslo rozbehat, prepinal som stale medzi OGL a D3D.. nakoniec som sa nejako dostal k vrtulniku ale stroskotal som na tom ze nejde zapnut "ON" lebo mysku mi nevidno nad control panelmi.. Sad. A nielen ze nevidno proste to nic nerobi...

Btw: V tych zdrojakoch sa aj trochu vyznas? Smile
_________________
Code or die!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
]semo[



Založen: 29. 07. 2007
Příspěvky: 1520
Bydliště: Telč

PříspěvekZaslal: 23. červen 2014, 10:41:52    Předmět: Re: Rigs of Rods (GPL) Odpovědět s citátem

only_a_ptr napsal:
těsně spojen (tightly-coupled)

Neměl bys prosím i španělský překlad? :-)

Jinak paráda, moc krásný projekt. Dělám vlastně na něčem podobném, jen to je spíš zaměřený na letadla a nemá to tak vychytaný destrukce.

Co se týče programování, doporučuju ti zůstat u OOP, je naopak pro multithreading vhodný. Jen se stačí držet dobrých zásad: vyhodit ty singletony (stačí jeden na logování a ten musíš ošetřit mutexama), nehrabat na nic globálního (tzn. pro každý objekt jasně určit jeho operační kontext a ten klidně předávat jako další objekt...)....no ale to je vlastně na delší povídání :-)

A hodím ještě pár otázek na to jádro simulace:
- Ty vozdila skládáte z nějakých komponent?
- Jsou v tom jádře vyřešeny interakce mezi jednotlivýma částma "vozdila"? Například u letadel se chovají křídla jinak, když jsou poblíž sebe. Křídla dvouplošníku se chovají dohromady jinak, než kdyby byly zvlášť, protože se mezi nima vyrovnávají rozdíly tlaků.
- Máte na to editor? Neumím si už představit ladit tu fyziku jen v nějakým souboru.


Zareagoval jsem na více věcí z toho, co si psal, protože vlastně neni jasné, na co se ptáš, nebo o čem chceš diskutovat. Tak jako tak, rád se do takovéhle diskuze zapojím. To je přesně téma pro mě ;-).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1520
Bydliště: Telč

PříspěvekZaslal: 23. červen 2014, 11:15:52    Předmět: Odpovědět s citátem

Peto: PM (abys nemyslel, že to je spam ;))
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
only_a_ptr



Založen: 12. 01. 2014
Příspěvky: 2
Bydliště: Rajhrad

PříspěvekZaslal: 7. červenec 2014, 13:57:03    Předmět: Odpovědět s citátem

Peto napsal:
Btw: V tych zdrojakoch sa aj trochu vyznas? Smile


Podařilo se mi zorientovat v kódu pro menu a spuštění hry. Proto jsem si vytvořil větev https://sourceforge.net/u/only-a-ptr/ror-software-architecture/ci/default/tree/ kde jsem ho přepsal do čitelné podoby. Samotná simulace už není tak nečitelná, i když je tam páté přes deváté (hlavně threading + zvuky přes fyziku)

]semo[ napsal:
only_a_ptr napsal:
těsně spojen (tightly-coupled)

Neměl bys prosím i španělský překlad? Smile

Tightly-coupled beru jako terminus technicus, zatímco česká varianta je celkem vágní.

]semo[ napsal:

- Ty vozdila skládáte z nějakých komponent?


Základem je kostra z vrcholů a hran (takzvaná N/B, tj, Node/Beam). Další jsou kola, definovaná šířkou a poloměrem (N/B se vygeneruje automaticky). Potom tzv. "props", tedy meshe umístěné na N/B připojením k některým nodům. A pak spousta dalších možností.

]semo[ napsal:

- Jsou v tom jádře vyřešeny interakce mezi jednotlivýma částma "vozdila"? Například u letadel se chovají křídla jinak, když jsou poblíž sebe. Křídla dvouplošníku se chovají dohromady jinak, než kdyby byly zvlášť, protože se mezi nima vyrovnávají rozdíly tlaků.

Letadla + lodě jsou do RoR doplněna dodatečně a simulace proudění vzduchu (nebo vody) je celkově hodně základní. Nezapadá to do současné architektury, je to dodělávané hromadou patchů vkládajících kód na nevyhovující místa a nic moc to neumí.

]semo[ napsal:
- Máte na to editor? Neumím si už představit ladit tu fyziku jen v nějakým souboru.

Já si to taky neumím přestavit ne, ale přesto to tak dosud všichni dělali. Editor tam není. Existuje pár externích nástrojů a možnost exportovat N/B z blenderu, ale celkově stojí podpora editace za pendrek.
Já samozřejmě chci tvořit svoje vlastní vozítka, bez toho ta hra nemůže bavit, ale bez editoru nehraju. Takže jsem se pustil do jeho tvorby: http://sourceforge.net/u/only-a-ptr/ror-vehicle-editor/ci/default/tree/ Zatím je tam jen základ který ukazuje prázdnou obrazovku. Teď pracuju na zobrazení N/B kostry a její editaci myší.

]semo[ napsal:

Zareagoval jsem na více věcí z toho, co si psal, protože vlastně neni jasné, na co se ptáš, nebo o čem chceš diskutovat...

Sám pořádně nevím, prostě jsem to téma hodil do placu. Zajímalo mě jestli tu někdo RoR zná/hrál a jak tu zafunguje diskuse o open-source projektu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1520
Bydliště: Telč

PříspěvekZaslal: 7. červenec 2014, 15:16:58    Předmět: Odpovědět s citátem

Ad Node/Beam:
Aha, asi rozumím. A ty deformace meshe jsou přes kosti? Jakože kosti připojený nějakou váhou k tomu N/B grafu?

Ad Letadla + lodě:
Je jen málo lidí, se kterými se o tom můžu bavit, nikdo tyhle věci moc neřeší. Jenom Peto, kterého jsem s tim minule asi dost přepadl :-).
Tak kdyby tě to zajímalo, rád přijdu se svou troškou do mlýna.

Ad editor:
máš namysli editor určený pro vývojáře, nebo i pro hráče/komunitu? Tohle by taky mohlo být téma, o kterém by se dalo bavit. Prošel jsem obdobím, kdy jsem měl exporter z maxu, který exporotoval základ fyziky do XML. To se pak dál ručně editovalo. Teď mám editor a fyzika se připravuje daleko líp. Je sice jen pro vývojáře, uplně oddělenej od hry, nicméně myslím, že celkem "nadupanej".
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 7. červenec 2014, 19:21:43    Předmět: Odpovědět s citátem

Máš nějaký reálný plán, udělat z toho hru/aplikaci, nebo to má zůstat jen takovou fyzikální hříčkou?
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Peto



Založen: 01. 08. 2007
Příspěvky: 206
Bydliště: Košice

PříspěvekZaslal: 9. červenec 2014, 06:29:33    Předmět: Odpovědět s citátem

Ja by som odporucal, vybrat z toho nejaku najlepsiu cast (simulaciu auta alebo tak) a urobit z toho nejaku mensiu samostatnu hru, ked to nieje velmi prehladne a velke).. Aj co som skusal demo, tak clovek ked vidi na youtube videa alebo nieco sam rozbeha.. je to zaujimave.. ale do user friendly.. resp user usage to ma daleko.. Sad
_________________
Code or die!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 9. červenec 2014, 17:15:13    Předmět: Odpovědět s citátem

Já - a teď řeknu pouze svůj názor, se kterým může kdokoliv nesouhlasit - si nemyslím, že by bylo dobré z toho udělat závodní hru.
V závodní hře jde hrozně moc o ladění hratelnosti a docela málo o přesnost fyzikálního modelu (viz NFS, TMN) a už vůbec nejde o model poškození.
A udělat _úspěšnou_ závodní hru, kde bys kvality toho enginu vyzdvihl, to je problém ještě větší.

Ale bylo by zajímavé udělat z toho nějakou hříčku typu Porrasturvat/Rekkaturvat (jestli to ještě někdo pamatuje Smile ), snad o něco sofistikovanější.

No, já si to dovedu představit, jak třeba nějakým opatřením minimalizovat (nebo naopak maximalizovat?) následky nehody, srážka s vlakem ... mohlo by to být i naučné (a požádat Besip o sponzorství Smile )
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1487

PříspěvekZaslal: 9. červenec 2014, 22:24:51    Předmět: Odpovědět s citátem

Demoliční derby PLS (k mému avataru asi není třeba nic dodávat Wink )
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Hry pro PC, konzole, ... Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna