Jump to content


WFG Programming Team
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by bb_

  1. 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.
  2. 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
  3. 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.
  4. 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).
  5. In 0ad same units are equally strong, independent of the civ, race, colour etc: Just got a bit worried about both their lives now...
  6. 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
  7. You can pm or ask here and ping me (the latter has the advantage that everyone can benefit)
  8. 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
  9. 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.
  10. You copy paste it in the legal waiver thread linked above
  11. 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...
  12. You can directly download the game as-well, just use the link in the text, below the torrent button
  13. 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
  14. You should indeed look at the wallbuilder code (Walls.js). IIRC the short/medium/long segements are already very similar to what you propose, the towers shouldn't be too hard too remove (in fact it is just removng L90 too L100 from that file), but one migh need to addapt some sizes to fill the gaps.
  15. One can play multiplayer games with AI, since indeed the initial state is the same. Rejoining is not possible since the rejoining person will have a brainwashed AI, while all other players will have the normal AI. Maybe, loading a savegame on two machines gives the same state (as the AI gets brainwashed on both ends), but it has never been tried. Feel free to hack it somehow (there is no such gui ingame), but no promises if it will work...
  16. replays work with AI, since the AI is completely deterministic, however their simstate isn't saved when serializing, so rejoining (and saving) isn't supported. For singleplayer games AI's work after loading a savegame, but might act a little different compared to how they would act without the save/load (think of the AI being brainwashed).
  17. What about a staff match sometime this week?
  18. When you are using AI's it is quite easy to achieve this: AI do not print (at least currently) anything in the command.txt except on the first line (that line gives match settings, further the replay is empty). So all you have to do is create some of those "first lines" (I guess you want to test the AI on a couple of times on the same map, for that you just need to change the seeds, such that every game is different) and put as many empty turns as you like afterwards, which will give you the wanted replays. (In principle you don't even need to have run to game to already have the "replay" ;))
  19. bb_

    0abc mod

    (Y in that object is the height)
  20. bb_

    0abc mod

    The footprint height value is passed by the getShape function in the footprint component. In the engine it is used in the VisualActor to set the height parameter of a CustomSelectionShape. This the fills some object retrievable by getSelectionBox and that is used in a couple of components. (f.e.in cmpPosition for the height offset of constructions)
  • Create New...