Jump to content

Stan`

0 A.D. Project Leader
  • Posts

    17.102
  • Joined

  • Last visited

  • Days Won

    532

Everything posted by Stan`

  1. You can start the game with -conf=rendererbackend:gl
  2. In general yes, until we have instancing, which would batch them assuming they are the same mesh and texture. Currently no. Sure but that'd still be worse than the current one. Probably not so bad assuming not too many are on screen.
  3. Doesn't seem to work if the game is password protected.
  4. They are not. Only the server has all the IPs because it needs to. Here is an example. All three clients connected to the host, but only the host mainlog contains the three ips. Now your issue right now is people are storing the host ip, and all the client ips that connect to them when they host. Host.html client2.html client1.html
  5. Basically each new object is a new command to the GPU. 1000 objects -> 1000 commands. So it could be 1000 times more expensive to do it.
  6. No GL stays the default. Here I'm just forcing the configuration. @Old Roman Glad it worked I messed up the command it's -conf=rendererbackend:gl
  7. Yes both application use the same config file unless you use -writableRoot. Previously there was no issue with incompatible mods as the default mod contained everything we needed to run the game. The version in SVN misses Vulkan shaders, so if you try to run the default mod without them the game will crash. To rule that out you can run the game with -conf:rendererbackend:gl
  8. It would probably a bit. You could replace them by 3d boxes or decals on the ground.
  9. Hey @Old Roman Did you change anything in the configuration? Load new mods, or the previous version?
  10. Close to RC. Launch, depends on whether it works or not ^^
  11. Hey everyone, Thank you for taking the time to vote! I have decided to go with Agni, as Vulcan really felt bland and I think 0 A.D. deserves better. It also starts with an A, which is a lucky coincidence, but I don't want it to be binding, so we'll see what will happen for the next alpha.
  12. You're using Vulkan but the mod 0ad-spirv isn't loaded.
  13. You could try this: Replace in Resistance.js Resistance.prototype.Schema = "<a:help>Controls the damage resistance of the unit.</a:help>" + "<a:example>" + "<Foundation>" + "<Damage>" + "<Hack>10.0</Hack>" + "<Pierce>0.0</Pierce>" + "<Crush>5.0</Crush>" + "</Damage>" + "<Capture>10</Capture>" + "</Foundation>" + "<Entity>" + "<Damage>" + "<Poison>5</Poison>" + "</Damage>" + "</Entity>" + "</a:example>" + "<zeroOrMore>" + "<choice>" + "<element name='Foundation' a:help='Resistance of an unfinished structure (i.e. a foundation).'>" + Resistance.prototype.BuildResistanceSchema() + "</element>" + "<element name='Entity' a:help='Resistance of an entity.'>" + Resistance.prototype.BuildResistanceSchema() + "</element>" + "</choice>" + "</zeroOrMore>"; By Resistance.prototype.Schema = "<a:help>Controls the damage resistance of the unit.</a:help>" + "<a:example>" + "<Foundation>" + "<Damage>" + "<Hack>10.0</Hack>" + "<Pierce>0.0</Pierce>" + "<Crush>5.0</Crush>" + "</Damage>" + "<Capture>10</Capture>" + "</Foundation>" + "<Entity>" + "<Damage>" + "<Poison>5</Poison>" + "</Damage>" + "</Entity>" + "<MaxAttackers>2</MaxAttackers>" + "</a:example>" + "<zeroOrMore>" + "<choice>" + "<element name='Foundation' a:help='Resistance of an unfinished structure (i.e. a foundation).'>" + Resistance.prototype.BuildResistanceSchema() + "</element>" + "<element name='Entity' a:help='Resistance of an entity.'>" + Resistance.prototype.BuildResistanceSchema() + "</element>" + "</choice>" + "</zeroOrMore>" "<optional>" + "<element name='MaxAttackers' a:help='The max number of attackers the units can have at a given time.'>" + "<ref name='nonNegativeDecimal'/>" + "</element>" + "</optional>" +; And /** * @param {number} attacker - The entity ID of the attacker to add. * @return {boolean} - Whether the attacker was added sucessfully. */ Resistance.prototype.AddAttacker = function(attacker) { if (this.attackers.has(attacker)) return false; this.attackers.add(attacker); return true; }; by /** * @param {number} attacker - The entity ID of the attacker to add. * @return {boolean} - Whether the attacker was added sucessfully. */ Resistance.prototype.AddAttacker = function(attacker) { if (this.attackers.has(attacker) || (this.template.MaxAttackers && (this.attackers.length >= (+this.template.MaxAttackers)))) return false; this.attackers.add(attacker); return true; }; The a:example, shows you how to use it. Basically add MaxAttackers at the end of the Resistance component.
  14. That's sounds like a generally good idea, but wouldn't people call that lag because their units do not obey them anymore? In most RPG games, units have circles, that define whether they are allowed to attack you. A bit like covalence rings, there can only be up to n enemies in each ring Battle Circle AI: Let Your Player Feel Like They're Fighting Lots of Enemies (tutsplus.com) @Freagarach added a notion of attackers in Resistance.js 0ad/binaries at master ยท 0ad/0ad (github.com) It's mostly used to notifiy people that their target is dead or that they are already attacking it, but I suppose it could be extended, to deny units attacking an oversolicited unit. Question is how many units per single, and whether one should take classes into account (10 archers, but no melee units attacking someone would be weird, wouldn't it)
  15. Does challonge support visualizing something like this?
  16. If you upgraded the game and had mods in the previous version(s) that would happen.
  17. A hash is non reversible. (That's kind of the point) So you wouldn't be able to use hashed IPs for anything else than comparison with other hashed IP. You could cipher it, but you'd have to send the password to everyone that needs it. Hashing it or not logging it would achieve the same result, though.
  18. Do you use the development version? If not you cannot use vulkan. You need to have the mod enabled at all time if not the game won't even work. You can run the game from command line to make sure the mods are loaded properly. pyrogenesis.exe -mod=mod -mod=public -mod=0ad-spirv -mod=delenda_est -conf:rendererbackend:vulkan
  19. Assuming you are the same person that talked to me on instagram, the problem is now resolved. The version that was downloaded was the x64 and not the aarch64, The package had to be approved because of the lack of the signature. There was a corruption of the installation, that was fixed by reinstalling Hope you'll have fun with the game.
×
×
  • Create New...