Jump to content

zoot

Community Members
  • Posts

    1.557
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by zoot

  1. Adding new civilizations is no small matter. It takes tons of dedicated work from 3D modellers to create all the new buildings, units etc. So the first thing you will want to check before doing more elaborate planning is to check if any modellers are even interested in doing that work. After that, there is the issue of whether it makes the game more fun - we all want to see our favorite/ancestral civilizations in the game, but what is the point in a game having a million civilizations that does almost the same thing gameplay-wise? Does it really add anything to the game or does it just make it more confusing and bloated?
  2. I got this error on the latest GitHub revision: I'll open a ticket if I see it repeatedly. Edit: I did a recompile, tried loading the game again and got a deserialization error - so probably just a JS/C++ mismatch. Marking invalid.
  3. He said the word "slave" comes from "Slav" (which I believe is generally accepted), not the other way around.
  4. Okay, I've done a bit of sleuthing on this. I take the above back, the bug also applies to UnitAI kills. The offending call seems to be on selection.js:318. Apparently, what happens is that when a unit in the selection is promoted (as a consequence of killing its target), the selection gets rebuilt and the side-effect of this is that the selection sound is played. The easy fix is to add a flag to the rebuildSelection() function to indicate whether the sound should be suppressed: https://github.com/zootzoot/0ad/compare/1713
  5. I can still reproduce it on most maps (oddly, not on the combat demo map). It only happens when I manually target an enemy unit - not when the UnitAI did it automatically.
  6. Done: https://github.com/zootzoot/0ad/commit/275e4df58aca05721eff8509a6fff5be043c8090
  7. Yeah, that's what I currently do: https://github.com/zootzoot/0ad/commit/4a6e2032f6620f20a39e7d7bfdfdeb0f68487abb It seems to work okay, though making a check on every tick might not be what a good programmer would recommend.
  8. Sure, I'm just challenging the consensus to explain why it is culturally sensitive on one topic, but not on another. If too many trade-offs like that have to made over the course of development, it might in the end be better to add a simple toggle and be done with it.
  9. Should we also drop the bikini bras from the Mauryan female warriors then, since all sources depict them bare-breasted?
  10. IMO, 0 A.D. is a game, not a platform for telling people what they should think or feel. If a significant portion of the world population is offended by or even banned from using software displaying these symbols, a way to toggle it off is a small matter to add.
  11. Maybe there could be some option (perhaps a build flag) to toggle them off?
  12. There is a wiki article about the subject here: http://en.wikipedia.org/wiki/Strafgesetzbuch_§_86a It is not well-sourced, but it claims that: "... the Swastika is outlawed if used in a context of völkisch ideology, while it is legitimate if used as a symbol of Hinduism or Buddhism."
  13. That is the melee attack they already have.
  14. Maybe Omri can give some input on how he would prefer the musical side of this worked? After having tested a few games, I've found that there are bound to be corner cases where the game goes in and out of 'battle state' within a short period of time. This probably has to be masked with a bit of artistry: In the simplest case, we can cross-fade the tracks relatively slowly, so any state changes back and forth won't be too abrupt. In the more advanced case, the rhythm of the battle and peace tracks could be designed to match each other so when one is faded over the other, it sounds like they are part of the same piece. In the even more advanced case, a special 'transition track' could be played while cross-fading.
  15. Hmm, indeed they do. I guess all female citizens can in fact defend themselves then, but they just happen to flee when hit...?
  16. Female citizens are supposed to symbolize unarmed civilians, so I think it makes sense that they should try and find cover instead.
  17. I believe Spartan female citizens will have some modest attack ability.
  18. stwf, I've implemented a prototype for the battle detection logic: https://github.com/zootzoot/0ad/compare/battle-detection-x1 When a player's damage rate exceeds a certain threshold for a long enough time, it emits a "MT_BattleStateChanged" message. How would you recommend that I make the sound manager change the music track being played accordingly?
  19. Sorry, I've seen it a few times, but no clear pattern. I'm on Linux. I believe some sounds stopped working after the messages appeared, but I am not positive - it was not like everything stopped working. I'll try and take note of the map if I see it again.
  20. I'm occasionally getting errors of this type:
  21. Here is the basic battle detection functionality: https://github.com/zootzoot/0ad/compare/master...battle-detection It keeps a list of attacks dealt by the player for the past interval milliseconds. When the sum of the damage of all of the attacks divided by the interval (i.e. the damage rate) exceeds a specified threshold, the component registers the player as being in battle.
  22. Yeah, apparently the steps are not precise enough. I can sometimes reproduce it following it steps, but not always, so there are some variable(s) not accounted for.
  23. Trac is down, so I am reporting here. Steps to reproduce: 1. Start a match on scenario Acropolis 1. 2. Slay a deer. 3. Select a group of citizen soldiers (only citizen soldiers, no females or other unit types). 4. Task the group to go move somewhere. 5. While the group is moving, queue (shift-right-click) it to gather food from the slain deer. 6. While the group is moving, queue it to build a house. When the group reaches its destination from step 4, this error message is produced: ERROR: JavaScript error: simulation/components/UnitAI.js line 616 InternalError: too much recursion ([object Object])@simulation/components/UnitAI.js:616 ([object Object],[object Object])@simulation/helpers/FSM.js:274 ("WalkToTargetRange",[object Object])@simulation/components/UnitAI.js:2566 ([object Object])@simulation/components/UnitAI.js:694 ([object Object],[object Object])@simulation/helpers/FSM.js:274 ()@simulation/components/UnitAI.js:2482 ([object Object])@simulation/components/UnitAI.js:619 ([object Object],[object Object])@simulation/helpers/FSM.js:274 ("WalkToTargetRange",[object Object])@simulation/components/UnitAI.js:2566 ([object Object])@simulation/components/UnitAI.js:694 ([object Object],[object Object])@simulation/helpers/FSM.js:274 ()@simulation/components/UnitAI.js:2482 ([object Object])@simulation/components/UnitAI.js:619 ([object Object],[object Object])@simulation/helpers/FSM.js:274 ("WalkToTargetRange",[object Object])@simulation/components/UnitAI.js:2566 ... Error printfing console message (buffer size exceeded?) ERROR: Script message handler OnMotionChanged failed
  24. I would like to implement this: What would be a good way to determine damage rate? I figured I might use the OnGlobalHealthChanged() event, but it contains no information about the affected entity. Should I slap a new argument on OnGlobalHealthChanged, or is there a better way? Edit: Actually, OnGlobalHealthChanged passes a 'msg' object, so adding another property is not a big deal. I'll just do this unless there's any other suggestions. Edit2: There is no information about who dealt the damage in the Health component, so maybe I have to do something else.
×
×
  • Create New...