Jump to content

quantumstate

WFG Retired
  • Posts

    1.146
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by quantumstate

  1. I think it is zerg creep which spreads from their buildings and prevent other civs from building.
  2. It would be easiest to just drop those functions entirely. gameState.isEntityEnemy(ent) would be pretty easy to implement using the propoer array in gameState.playerData, it would be good enough for me.
  3. Since 0 A.D. clearly doesn't have enough AI's I decided to make a new one. It is actually a fork of testbot, but has had some fairly large changes. I have been working on it for about the last 1.5 weeks on and off (faster progress recently since it is making me excited). I decided to announce it now because I just got it to beat JuBot for the first time on Oasis (it may well not do this on other maps). Key changes from testbot: - Replaced the plan manager with a new queue system which is persistent. --- This allows predictive resource priorities so the right stuff is gathered when needed. --- Should lead to a more efficient AI in the future since plans are not discarded at the end of a turn. --- Does fairer priority balancing, keeping an account of resources spent. - Buildings are demand driven --- Houses keep up with demand and don't waste wood by having too many --- Farms will be replanted forever (well until the wood runs out) - The military is currently a heavy work in progress. --- Currently it builds several barracks then spams spearmen and javelinists until it has twice as many troops as the enemy (or 60 units), then walks up to their CC and lets the troops have fun . --- It now builds advanced units, and defence buildings. Also it defends against attacks. More information There is an overview of how qBot works at https://github.com/quantumstate/qBot/wiki/qBot-Structure-Overview The Code This resides on github. https://github.com/quantumstate/qBot Bug Reports There is an issue tracker on github if you have/are willing to create and account there. Otherwise please contact me through the 0AD forums or irc. NOTE: qBot requires a recent svn version of the game, it will not work with alpha 7
  4. Thanks for your feedback, I have made a ticket #969. I added some code to the JS conversions, it doesn't use templates though since that is too advanced for me. The AI's are given a list of allies and enemies currently.
  5. I have found performance to be better on Windows but I think this is because of the better graphics drivers for my ATI card.
  6. This doesn't work unless you change the buildings as well. I just tested with Helene civ and a Carthaginian civic centre and you just get the entire Carthaginian tech tree since Carthaginian units build Carthaginian buildings etc.
  7. I've written a patch which would let AI's have a map of their territories, but my C++ knowledge is not very good and I am unfamiliar with the 0AD code base so would someone be willing to look over it? I have put the diff at http://pastebin.com/265ucAb2 The main thing I am still having trouble with is using the DirtyID so it doesn't have to do the work every time it runs. I haven't managed to get this working at all. Apart from this a line needs to be added to base.js (in baseAI) to pass it through to AI script but that is trivial. The AI script gets fed something like this picture but in array form. It is similar to how the AI reads building restrictions already.
  8. Looking at testbot, it is possible for the AI to work out where is buildable apart from territories and Civic Centre restrictions. I uploaded an example of the "buildable areas mask" . It would be nice to have a similar thing for territory and CC restrictions. The code is in plan-building.js, findGoodPosition().
  9. Nope, the svn version can be run out of the directory you download it to. You don't need to install it at all. That is what I did, it was pretty straightforward, I used visual studio 2008 express edition then you go to the build/workspaces/vc2008 folder and open the pyrogenesis.sln then pick Build Solution (F7). Then after a while it is done. There are some more detailed build instructions somewhere though.
  10. For playing AOE2 online there is an unofficial matchmaking service which was set up after msn gaming zones stopped. The current system is called Voobly and they have a paid membership system to recover costs. They might be willing to say how much the system costs to run. They seem to have a nice rating system.
  11. I just checked the Trac WikiFormatting documentation and they don't have tabs for this. I don't think it is worth the hassle of maintaining multiple pages either.
  12. No, I don't have a suitable machine to constantly monitor the changes to svn. It shouldn't be too difficult for someone to set up if they are interested. The unit stats were being pulled from the advanced forms because I hadn't realised what the _b form meant. I have switched to the basic forms now since this is what gets trained and have added a note to clarify this.
  13. The champion ranged infantry inherits from the template_unit_champion_infantry (via intermediate files). Currently they never use the melee attack. My script just reads the xml files and output what is there. I could add a switch so that if ranged attack exists then no melee is output. That would reflect the current game-play but not the current unit data. There is a mention here about multiple attack types for Super Units (which I think are now champion units) so it looks like in the future it may be used. I will add speed, ships and siege to the script, thanks. (Edit: changes have been made)
  14. I thought it would be nice to have tables quickly showing the attack, defence, cost etc. for the units in the game. I coded a script in python to read the unit xml files so they can quickly be updated when the game is rebalanced etc. I have put the result on the wiki at Unit Summary Table. I added a link to it from the Manual_Units page, hopefully that is ok. If anyone has suggestions for improvements that would be good, also the script is linked at the bottom of the page if you want to modify/use it.
×
×
  • Create New...