Light Style© by Fisana

Jump to content


Photo

modern warfare reaches 0 A.D.


  • Please log in to reply
235 replies to this topic

#1 Ilves

Ilves

    Discens

  • Community Members
  • Pip
  • 41 posts

Posted 25 October 2012 - 10:39 AM

Good day, guys. I and a bunch of other fellows make a game dedicated to tanks, cruise missiles and jet planes instead of horsemen and chariot. Namely, this one: http://www.moddb.com.../rogue-republic
We were reviewing several engines and now I finally reached yours :P

Posted Image

Posted Image

So I have a pack of questions:

1) I was trying to export an object into 0 ad - it seemed to allow only objects consisting of single mesh. Quickly enough, I sussed out that you need to use prop objects in that case. But what a scorn! I'm a user of 3ds max 2011 and the plugin include in your wiki doesn't seem to be willing to co-operate with this version. So, is downloading Bible-old 3ds max 6 a necessary move or there is a solution to import prop object using just 3ds max 2012?
2) in the same wiki you mentioned that the recommended properties of the models are max 800 polies and 512x512 textures for buildings. Are those requirements still actual or is there major improvement since then?
3) again 'bout prop objects. Can a prop act like a rotating-shooting tank turret attached to a tank hull? (or can it act only static)
4) and all-in-all, is it feasible to create a modern-warfare type of RTS using your engine?

with best regards

Edited by Ilves, 25 October 2012 - 10:44 AM.

  • 0
Posted Image

#2 dvangennip

dvangennip

    Sesquiplicarius

  • Community Members
  • PipPip
  • 145 posts

Posted 25 October 2012 - 11:42 AM

Hi, I will try to answer some of your questions, but others may have more details.

2) in the same wiki you mentioned that the recommended properties of the models are max 800 polies and 512x512 textures for buildings. Are those requirements still actual or is there major improvement since then?


The reason for this advice is mostly performance-based. It depends on how many units you think are going to be in the game at any point. With sword 'n sandal units it can be quite a lot, so to keep it playable the per-unit details needs to be limited. I think this is not a technical limit, but a computer might come to a crawl with high-poly units and buildings.

3) again 'bout prop objects. Can a prop act like a rotating-shooting tank turret attached to a tank hull? (or can it act only static)

As far as I am aware, for now any prop is static in its connection to a prop-point. I do not know how difficult it is to adjust code to make it possible. Currently, your complete tank would turn towards the target, similar to how ships do it in 0 A.D (which will be adjusted in time).

4) and all-in-all, is it feasible to create a modern-warfare type of RTS using your engine?

Yes, I would say you can. I assume most of the things you need are in the game and/or can be added. I would make a list of how your RTS would differ in behaviour/requirements from 0 A.D. There are a few performance issues with 0 A.D. for the moment, which relate to pathfinding and the AI (which are both being worked on), plus it lacks multi-core support for now. That does affect how well it runs with lots of units and AI bots, but gameplay itself should not be affected.

Maybe it is good to know there is already rudimentary support for planes. There is a demo map for that.
  • 1

#3 feneur

feneur

    Cartographer of imaginary worlds

  • 0 A.D. Project Leader
  • 7,926 posts

Posted 25 October 2012 - 12:55 PM

1) I was trying to export an object into 0 ad - it seemed to allow only objects consisting of single mesh. Quickly enough, I sussed out that you need to use prop objects in that case. But what a scorn! I'm a user of 3ds max 2011 and the plugin include in your wiki doesn't seem to be willing to co-operate with this version. So, is downloading Bible-old 3ds max 6 a necessary move or there is a solution to import prop object using just 3ds max 2012?

For any later version of 3DS Max Collada (.dae) support should be built in iirc. I don't have Max installed so I don't know the exact menu commands etc, but look for Collada/.dae in the export.


About the requirements: For buildings you can go higher than that, especially for rarer buildings. Generally speaking I think the things to be cautious about are: gradual transparency, how detailed animated objects are, and to a lesser degree model resolution/texture resolution. And of course, units/buildings/objects which there will be fewer of on the screen at the same time/are big enough to take up a lot of the screen can be more detailed.
  • 0

Erik Johansson [ aka feneur ]

Wildfire Games
Contact me: feneur@wildfiregames.com



Support Wildfire Games!


#4 Ilves

Ilves

    Discens

  • Community Members
  • Pip
  • 41 posts

Posted 25 October 2012 - 02:57 PM

About the requirements: For buildings you can go higher than that, especially for rarer buildings. Generally speaking I think the things to be cautious about are: gradual transparency, how detailed animated objects are, and to a lesser degree model resolution/texture resolution. And of course, units/buildings/objects which there will be fewer of on the screen at the same time/are big enough to take up a lot of the screen can be more detailed.


If you won't mind, I am going to tell I'm a former veteran of 3D C&C modding and there 800-poly building were never popular :huh:
We use 1000-2000 polies for units (depending on the unit), 600 for infantries and 2000-3000 for buildings. Unit number - currently unknown precisely, but approximately I think that it should be the same as in C&C Generals, were you had 30 units simultaneously. 1024x1024 skins for most vehicles, 2 1024x1024 for tanks (one for the hull, second for turret and an another one for tank tracks). 2048x2048 for buildings.

For any later version of 3DS Max Collada (.dae) support should be built in iirc. I don't have Max installed so I don't know the exact menu commands etc, but look for Collada/.dae in the export.


The problem is not with Collada, which works, but with Prometheus 3ds Max propping tools, which do not launch

I do not know how difficult it is to adjust code to make it possible. Currently, your complete tank would turn towards the target, similar to how ships do it in 0 A.D (which will be adjusted in time).


That kinda sucks :\ The only absense of rotating turrets makes a modern warfare game impossible. Browsing the renders I put above you can judge how many units have rotating weapons, i.e. almost everyone.


Appoximate list:
- ability to capture neutral "towns" which have a town hall and 3-4 civilian buildings. Destroy the buildings - the owner of the town gets lesser income. Buildings self-rebuild with time.
- BFME1-style base-building - in the start you have a main building and a fenced area of concrete with "build here" slots were you can place any building by clicking on it.
- ability to select your own combination of units, buildings and etc, in other words - a faction editor.
- squaded infantry
- indirectly-controlled planes: you "summon" a plane like a magical special power by clicking a button in the interface, select an area where the plane should "work" and after that the plane does its work interdependently from player by attacking foes in the selected area.

Edited by Ilves, 25 October 2012 - 03:00 PM.

  • 0
Posted Image

#5 Pedro Falc„o

Pedro Falc„o

    Centurio

  • Community Members
  • PipPipPipPipPip
  • 651 posts

Posted 25 October 2012 - 03:54 PM

Loved the idea, but... Where are the famous russian katyusha?
  • 0
Pedro Falc„o
Latin: Petrus Falco; Literally means 'Stone Hawk'.
English equivalent: ' Peter ';


Undergraduate Computer Scientist by UFCG
Shotokan Karate Adept, 3rd Kyu (Green Belt) & Muay Thai initiate

#6 zoot

zoot

    Primus Pilus

  • Community Members
  • PipPipPipPipPipPip
  • 1,562 posts

Posted 25 October 2012 - 03:56 PM

If you won't mind, I am going to tell I'm a former veteran of 3D C&C modding and there 800-poly building were never popular :huh:
We use 1000-2000 polies for units (depending on the unit), 600 for infantries and 2000-3000 for buildings. Unit number - currently unknown precisely, but approximately I think that it should be the same as in C&C Generals, were you had 30 units simultaneously. 1024x1024 skins for most vehicles, 2 1024x1024 for tanks (one for the hull, second for turret and an another one for tank tracks). 2048x2048 for buildings.

I don't think the recommended limit is a hard limit of any kind. 0 A.D. has always aimed to support quite low-end stuff. If you are willing to drop support for the lowest-end machines, you can probably use 1000-2000 polys just fine. Or you can get someone to optimize the engine for your requirements - it is open source, after all.

Nice modelling, by the way.

Edited by zoot, 25 October 2012 - 04:00 PM.

  • 0

#7 fcxSanya

fcxSanya

    Centurio

  • WFG Retired
  • 685 posts

Posted 25 October 2012 - 04:35 PM

Loved the idea, but... Where are the famous russian katyusha?

Here: :)
Posted Image
  • 1

Alexander Olkhovskiy [ aka fcxSanya ]
Wildfire Games Programmer
E-mail: fcxsanya at wildfiregames dot com


#8 fcxSanya

fcxSanya

    Centurio

  • WFG Retired
  • 685 posts

Posted 25 October 2012 - 04:58 PM

Re polycount, that information on wiki is quite outdated (at least 4 years old). If I'm looking into the right place ("# model tris" in Actor Viewer) some our models have few thousands of polygons, some 10-20K, and Hanging Gardens reported to have 136545 triangles (which is expected).
  • 0

Alexander Olkhovskiy [ aka fcxSanya ]
Wildfire Games Programmer
E-mail: fcxsanya at wildfiregames dot com


#9 myconid

myconid

    Centurio

  • WFG Retired
  • 789 posts

Posted 25 October 2012 - 05:22 PM

If you won't mind, I am going to tell I'm a former veteran of 3D C&C modding and there 800-poly building were never popular :huh:

The art design documents you're looking at seem to be way out of date. There are no limits on texture sizes (though power-of-two sizes are still recommended for backwards compatibility with really old hardware). Our building models are usually upwards of 5000 polys, somewhere near 10k on average I'd say, and I think our largest building is currently something like 100k polys. Our units are much simpler, but the reason for that is we want to max the number of units instead. I'm getting started on a LOD implementation, so these numbers won't even matter too much in the future (hopefully!).

The problem is not with Collada, which works, but with Prometheus 3ds Max propping tools, which do not launch

Unless I'm mistaken, those tools are obsolete. Prop points can be set in your 3D software as null objects (prefixed with "prop_" IIRC) and saved straight in the Collada files (our artists use Blender).

That kinda sucks :\ The only absense of rotating turrets makes a modern warfare game impossible. Browsing the renders I put above you can judge how many units have rotating weapons, i.e. almost everyone.

FWIW, from a graphics/scenegraph perspective at least, our engine can do turrets. It's a matter of adding a simple armature to the turret (a single bone would probably suffice), and then rotation of the turret is a matter of controlling the animations applied to its armature. You'd need to add some code for that in the game's "Simulation" portions, where you're simulating the behaviour of your tank units. Maybe our simulation coders can tell you more about that.

If programming is not an option for you, there are some other free and open-source engines out there that may be more suited to your needs. There's Spring (which is Total Annihilation-ish), and whatever engine Warzone 2100 is using. (If memory serves, their licenses are compatible with ours, so in theory you could use some of their tank-driving code in our engine...).
  • 0
Myconid
Wildfire Games Programmer
Contact me: myconid@wildfiregames.com

#10 Wijitmaker

Wijitmaker

    0 A.D. Old Timer

  • WFG Retired
  • 9,552 posts

Posted 25 October 2012 - 06:42 PM

Unless I'm mistaken, those tools are obsolete. Prop points can be set in your 3D software as null objects (prefixed with "prop_" IIRC) and saved straight in the Collada files (our artists use Blender).

Correct, standard helper objects work just fine. The tools mentioned in the wiki are prior to the .dae conversion. They were for directly exporting to .pmd and .psa formats. Now the game engine automatically converts .dae models and animations for you to the pyrogenesis format.

0 A.D. artists (like me) used to use Max before the current wave of blender artists joined the team. Your 3ds Max art should be fully compatabile with the game engine. If you run into issues, shoot me a PM and point me to a thread and I'll try my best to help out.

Animated textures (I think that feature was recently added for waterfalls?) would sure look nice on those tank tracks ;)
  • 0

Jason Bishop [ aka Wijitmaker ]

0 A.D. Founder

Contact me: jason@wildfiregames.com


#11 Gen.Kenobi

Gen.Kenobi

    Centurio

  • WFG Retired
  • 714 posts

Posted 25 October 2012 - 08:35 PM

Maybe you could make the turret a prop_object and reference it into the parent's model. Then you could make the turret would have the attack value, while the chassis would just serve for mobility and Armour purposes. It's something to think about. I'm going to give it a try in a near future :)


BTW: I was already following your mod. :D It looks neat!
  • 0
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com



Posted Image
Visit Revora Creative Network! : )

#12 Ilves

Ilves

    Discens

  • Community Members
  • Pip
  • 41 posts

Posted 25 October 2012 - 09:04 PM

it really encourages a rooky engine explorer when a community is as willing to help as yours ;) Still, the noob (i.e. me) doesn't seem to be out of questions.
I did as insctructed (prefixed with prop_ all the meshes but 1) and even linked them to hull of the tank, yet the scenario editor refuses to cooperate with me:

Posted Image
Posted Image

Looks like there is yet something to know or is it just him having a bad mood? ;)
  • 0
Posted Image

#13 Gen.Kenobi

Gen.Kenobi

    Centurio

  • WFG Retired
  • 714 posts

Posted 25 October 2012 - 09:14 PM

I'll see if I can come up with something quickly as I'm out of time :)
  • 0
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com



Posted Image
Visit Revora Creative Network! : )

#14 Enrique

Enrique

    Primus Pilus

  • 0 A.D. Department Leader
  • 1,843 posts

Posted 25 October 2012 - 09:45 PM

it really encourages a rooky engine explorer when a community is as willing to help as yours ;) Still, the noob (i.e. me) doesn't seem to be out of questions. I did as insctructed (prefixed with prop_ all the meshes but 1) and even linked them to hull of the tank, yet the scenario editor refuses to cooperate with me: Looks like there is yet something to know or is it just him having a bad mood? ;)

Based on the screen I'm guessing you are trying to import the DAE file with multiple meshes like the hull and the turret but naming the meshes like props. That seems to be the problem.

I'll try to explain:
- You need a "main" single mesh, like the hull.
- To add the turret and tracks to the main mesh (and other meshes if you want) you need null-objects (I think they are called "helpers" in Max, "empties" in blender) parented to the "main" mesh, and placed where the center of the turret mesh and the tracks mesh will be.
- These helpers names must start with "prop-" or "prop_"
- On the .xml file of the "main" mesh, you'll indicate to the engine that you want the turret on the "prop-turret" and the tracks on the "prop-tracks" helpers' locations.

You can open a unit .xml for example to see how to add them.
  • 0
Enrique Keykens

Wildfire Games 3D Artist
Contact me: enrique@wildfiregames.com

#15 Gen.Kenobi

Gen.Kenobi

    Centurio

  • WFG Retired
  • 714 posts

Posted 25 October 2012 - 10:11 PM

Well... one of the solutions would be to have an Entity referencing another entity. (Entityception).
2 Entities in 1. Why? You would have the main entity as the chassis as a dummy unit. And the turret as the active "Attacking" entity - (active entity). Why? Because now it we would have the main entity facing the enemy, and the other one just standing around.
Once the turret "dies" it would also destroy the chassis entity. I guess it could be done with minor JS scripting, but I have no idea how nor the time to try it out.
However, since I'm not a programmer, I can't do that. TBH I really don't know if we can even do that.

Another solution would be to edit the engine code and add a Turret_prop_attachment (as an attach_point to be referenced within the visual actor). It shouldn't be hard work, since all it has to be is the copy of the projectile system, without making it trow itself away. (If you pay close attention, you'll see that the projectiles tend to follow the enemy unit.)

I tried the basic prop system I initially thought, but it failed since when you place it as the root attachment it would follow the coordinates of the chassis. I even tried the other way around, without success.

If anyone wants to carry on with my tests, I'm uploading the files I currently used and my dummy_tank model.

Attached File  turret_endeavour.zip   13.01KB   35 downloads
  • 0
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com



Posted Image
Visit Revora Creative Network! : )

#16 Mythos_Ruler

Mythos_Ruler

    Senator

  • WFG Retired
  • 14,967 posts

Posted 26 October 2012 - 06:15 PM

Each object must be a separate mesh and exported separately ("export selected..." in Max). The "main" mesh should have a dummy helper (named prop_whatever) linked to it where you want the turret to go. Then make an actor for the turret mesh and prop it to the main mesh in the main mesh actor. I recommend opening some other actors already in the game and looking at them to see how we do it. :)
  • 0

#17 Gen.Kenobi

Gen.Kenobi

    Centurio

  • WFG Retired
  • 714 posts

Posted 27 October 2012 - 12:49 AM

Hmm... If we could parent entities not only with "templates" but with other visual entities, the turret system could work...
Any ideas?
  • 0
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com



Posted Image
Visit Revora Creative Network! : )

#18 zoot

zoot

    Primus Pilus

  • Community Members
  • PipPipPipPipPipPip
  • 1,562 posts

Posted 27 October 2012 - 12:55 AM

Hmm... If we could parent entities not only with "templates" but with other visual entities, the turret system could work...

Isn't that essentially what props are? Entities which parent another entity?

Edited by zoot, 27 October 2012 - 01:03 AM.

  • 0

#19 gudo

gudo

    Duplicarius

  • Community Members
  • PipPipPip
  • 239 posts

Posted 27 October 2012 - 01:22 AM

You can't send commands to props afaik.

Edited by gudo, 27 October 2012 - 01:28 AM.

  • 0
Did you contribute to 0 AD?
Make sure you're in the credits!


AI Players
JuBot | RootBot | SplitBot | qBot | Marilyn | arBot

#20 zoot

zoot

    Primus Pilus

  • Community Members
  • PipPipPipPipPipPip
  • 1,562 posts

Posted 27 October 2012 - 01:30 AM

You can't send commands to props afaik.

"Commands"? Aren't they objects which can receive method calls like everything else?
  • 0