Ilves Posted October 25, 2012 Report Share Posted October 25, 2012 (edited) 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-republicWe were reviewing several engines and now I finally reached yours 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 October 25, 2012 by Ilves Quote Link to comment Share on other sites More sharing options...
dvangennip Posted October 25, 2012 Report Share Posted October 25, 2012 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 Quote Link to comment Share on other sites More sharing options...
feneur Posted October 25, 2012 Report Share Posted October 25, 2012 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. Quote Link to comment Share on other sites More sharing options...
Ilves Posted October 25, 2012 Author Report Share Posted October 25, 2012 (edited) 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 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 launchI 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 October 25, 2012 by Ilves Quote Link to comment Share on other sites More sharing options...
Pedro Falcão Posted October 25, 2012 Report Share Posted October 25, 2012 Loved the idea, but... Where are the famous russian katyusha? Quote Link to comment Share on other sites More sharing options...
zoot Posted October 25, 2012 Report Share Posted October 25, 2012 (edited) 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 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 October 25, 2012 by zoot Quote Link to comment Share on other sites More sharing options...
fcxSanya Posted October 25, 2012 Report Share Posted October 25, 2012 Loved the idea, but... Where are the famous russian katyusha?Here: 1 Quote Link to comment Share on other sites More sharing options...
fcxSanya Posted October 25, 2012 Report Share Posted October 25, 2012 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). Quote Link to comment Share on other sites More sharing options...
myconid Posted October 25, 2012 Report Share Posted October 25, 2012 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 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 launchUnless 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...). Quote Link to comment Share on other sites More sharing options...
Wijitmaker Posted October 25, 2012 Report Share Posted October 25, 2012 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 Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 25, 2012 Report Share Posted October 25, 2012 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. It looks neat! Quote Link to comment Share on other sites More sharing options...
Ilves Posted October 25, 2012 Author Report Share Posted October 25, 2012 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? Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 25, 2012 Report Share Posted October 25, 2012 I'll see if I can come up with something quickly as I'm out of time Quote Link to comment Share on other sites More sharing options...
Enrique Posted October 25, 2012 Report Share Posted October 25, 2012 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. Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 25, 2012 Report Share Posted October 25, 2012 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.turret_endeavour.zip Quote Link to comment Share on other sites More sharing options...
Mythos_Ruler Posted October 26, 2012 Report Share Posted October 26, 2012 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. Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 27, 2012 Report Share Posted October 27, 2012 Hmm... If we could parent entities not only with "templates" but with other visual entities, the turret system could work...Any ideas? Quote Link to comment Share on other sites More sharing options...
zoot Posted October 27, 2012 Report Share Posted October 27, 2012 (edited) 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 October 27, 2012 by zoot Quote Link to comment Share on other sites More sharing options...
gudo Posted October 27, 2012 Report Share Posted October 27, 2012 (edited) You can't send commands to props afaik. Edited October 27, 2012 by gudo Quote Link to comment Share on other sites More sharing options...
zoot Posted October 27, 2012 Report Share Posted October 27, 2012 You can't send commands to props afaik."Commands"? Aren't they objects which can receive method calls like everything else? Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 27, 2012 Report Share Posted October 27, 2012 No... In the game we have actors and entities.Props are simple actors, which are only graphical representations.Entities are "game objects" with function and behavior - like attack, life, cost, these stuff. Each entity is associated with it's respective "visual actor". Quote Link to comment Share on other sites More sharing options...
gudo Posted October 27, 2012 Report Share Posted October 27, 2012 "Commands"? Aren't they objects which can receive method calls like everything else?I'm no coder, just a tinkerer. I'm probably confused Hmm... If we could parent entities not only with "templates" but with other visual entities, the turret system could work...Any ideas?Super dirty hack I tried: Change the turret prop to:<prop actor="units/athenians/infantry_archer_e.xml" attachpoint="root"/> Got this:It's the Athens archer actor, fully textured, propped, and animated. When the tank moves, the archer plays it's move animation. When the tank attacks, the archer plays it's attack animation. The projectile even comes out of the right place. I'm short on time, I'll speculate later. Quote Link to comment Share on other sites More sharing options...
Wijitmaker Posted October 27, 2012 Report Share Posted October 27, 2012 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. Aye, I think Michael's has pinpointed it here. Do the parent export selected while selecting the parent model and the dummy helper object. Do the child/prop export by selecting the prop only for export. Note that the child position on export is relative to the world coordinate system, not the prop point - so you may have to adjust it accordingly. Quote Link to comment Share on other sites More sharing options...
Gen.Kenobi Posted October 27, 2012 Report Share Posted October 27, 2012 Super dirty hack I tried: Change the turret prop to:<prop actor="units/athenians/infantry_archer_e.xml" attachpoint="root"/> Got this:It's the Athens archer actor, fully textured, propped, and animated. When the tank moves, the archer plays it's move animation. When the tank attacks, the archer plays it's attack animation. The projectile even comes out of the right place.I'm short on time, I'll speculate later.Well, that's some news However i believe that the main point of a turret is making it being able of attacking without the need to the unit turning itself to attack. Back in C&C Generals, when you sent your tanks to attack something they would get in range and start firing. If the target moved, the turret would followed it, but the chassis remained still. However, if you decided to click attack again, the chassis would face the target and the turret would keep it's following mode. This is important for armor bonuses The tank would be heavy with it's front armor while the back would be more fragile. Quote Link to comment Share on other sites More sharing options...
zoot Posted October 27, 2012 Report Share Posted October 27, 2012 Well, that's some news However i believe that the main point of a turret is making it being able of attacking without the need to the unit turning itself to attack. Back in C&C Generals, when you sent your tanks to attack something they would get in range and start firing. If the target moved, the turret would followed it, but the chassis remained still. However, if you decided to click attack again, the chassis would face the target and the turret would keep it's following mode. This is important for armor bonuses The tank would be heavy with it's front armor while the back would be more fragile.It will require a minor (in my unprofessional estimation) bit of coding in any case, but I believe having it as a prop is the way to go. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.