Jump to content

bb_

WFG Programming Team
  • Posts

    268
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by bb_

  1. Thanks for reporting the issue. We already have a ticket on the related topic: https://trac.wildfiregames.com/ticket/3307 and as you can see there, there are some non-trivialities to consider when translating. Also note that since the names are displayed in the gamesetup, the translations are not lost, just not used correctly. It really is a coding problem.
  2. In addendum of the previous post: The lag will increase for everyone. Currently there is only command lag (commands are executed only 2 turns after they have been issued). But now you will also see the simstate a turn (or two maybe, need to think about that harder) behind, hence your commands are based on info of turn n-1 (or n-2), while the are processed at n+2. So There will be an additional turn (or two) for every command, causing more lag for everyone.
  3. Also here are some problems. Currently we only send commands and chat over the internet, so internet consumption of the game is extremely low (Probably few MB over the course of the game). With such a server system, the host needs much more bandwidth, which probably isn't available to everyone. Note that now the host will have to share the simState (say 1 MB) with every client, every turn (0.5s). Hence for a 4v4, we already need a 14MB/s connection. I am sure a fibre glass connection could handle that easily, but many many others certainly can't (including me). Having a server provided by WFG, would become very expensive, rather quickly, considering many games are played simultaneously (and the server needs to compute the simstate for all those games and handle the data distribution). Maybe one could have such a server for a few (1v1) games only. https://trac.wildfiregames.com/ticket/3556 is a related ticket.
  4. A player can't change simstate, i.e., all data there is in the game, other than he is supposed to (i.e., send commands). This includes changing unit stats, accuracy etc. Any player who tries to change it will instantly OOS (Out Of Sync), and hence will be noticed by all other players. So it is very easy to spot those. In A23b there is/was a slight issue where observers could change the simstate, which they are not supposed to do. This issue has been fixed upstream. The issue of illegal information, however, persist and while there are some measures in place. It will be really hard, if not impossible to fix that completely. Actually part of the problem here is the fact we are Open-Source. If there is anyone knowing some solution to this, feel free to send me a PM.
  5. An even better example is the "survival of the fittest" map. You should indeed be listening to the onOwnershipChanged messages. First find some way to filter the 5 entities (probably give them some identity class) and onOwnershipChanged you should be able to do the required checks. Another option is to look at CaptureTheRelic.js victory condition and do the same trick there (you probably can reuse that code, just need to change a class)
  6. minrange is easy, however "tell them to switch" is more complicated. See #252. We don't have a ammunition system (yet) so this might be more work.
  7. This work sounds really promising. Feel free to propose your improvements (maybe split it up a bit) as patches on https://code.wildfiregames.comfiregames.com. Especially things like better naval and worker elephant handling are more than welcome in the vanilla petra bot.
  8. The related ticket is https://trac.wildfiregames.com/ticket/995. The patch I uploaded there is rather outdated and probably heading in the wrong direction. We do have some related code in the code base: the code handling splash damage on catapults/boltshooter and deathdamage of the iber fireship. Probably a proper implementation consists of creating a new component handling the trample. This is implemented in https://code.wildfiregames.com/D1838
  9. I guess the AI is trying to build that foundation, but can't reach it due to the water. Perhaps it didn't have the recources for a new one? If you happen to have the replay where this happened, feel free to create a ticket on our trac reporting the issue.
  10. D14 probably won't help too much in this case (maybe a bit though). I expect the unitMotion rewrite already in svn to do much more good. It seems the problem here is that a lot of units clutter around the ele and keep pathing while they can reach the ele (due to the units standing in the way).
  11. In 0ad same units are equally strong, independent of the civ, race, colour etc: Just got a bit worried about both their lives now...
  12. How hard would it be to generalise the capture mechanism to allow an attack to give the cp to any player? Sounds like a nice generalisation
  13. You can pm or ask here and ping me (the latter has the advantage that everyone can benefit)
  14. Calculating the distance between two units is fairly easy: The distance between the centres of two units can be computed by querying the position components and ask for the exact positions of the units. If you want to compute the distance between a unit (with obstruction, like you have with the walls) and a point or another unit, you should be able to use one of the following functions in the obstructionManager: /** * Returns the distance from the obstruction to the point (px, pz), or -1 if the entity is out of the world. */ virtual fixed DistanceToPoint(entity_id_t ent, entity_pos_t px, entity_pos_t pz) const = 0; /** * Calculate the largest straight line distance between the entity and the point. */ virtual fixed MaxDistanceToPoint(entity_id_t ent, entity_pos_t px, entity_pos_t pz) const = 0; /** * Calculate the shortest distance between the entity and the target. */ virtual fixed DistanceToTarget(entity_id_t ent, entity_id_t target) const = 0; /** * Calculate the largest straight line distance between the entity and the target. */ virtual fixed MaxDistanceToTarget(entity_id_t ent, entity_id_t target) const = 0; You can query them from JS using Engine.QueryInterface(SYSTEM_ENTITY, IID_ObstructionManager).fooDistancefoo(foos) Hope this helps
  15. As you can see in the graph 0ad owns approximately 35k USD. There was 865,.28 euro in a Flattr account, but that got absorbed in the bigger SPI account we have.
  16. You copy paste it in the legal waiver thread linked above
  17. Welcome!! The legal waiver is the easy question: copy paste that message you see numerous times in the thread and post it yourself. If you have programming questions feel free to ask, maybe some programmer can help in that aspect if there are changes required. Just know: I can't do art...
  18. You can directly download the game as-well, just use the link in the text, below the torrent button
  19. The down-left imag eseems to fall a bit out of tone, since it is dark/foggy, maybe it would help if you switch positions of the two images on the right, or put the down left one on the right, since the background is darker there EDIT: also the website url, might want a more prominent place
×
×
  • Create New...