-
Posts
3.399 -
Joined
-
Last visited
-
Days Won
76
Everything posted by wraitii
-
Okay, a new version. Changes: -Attack plans overhauled, started less frequently, more reliable, more efficient. Allowed raiding for any civ. Also added an option to "stay close" when attacking. -tons of little optimizations here and there, and bugfixing. Optimization was needed since I now call Marilyn every two turn and not every 8 turns (like qBot) -Defense manager also more reliable, able to detect when to stop pursuing (no more "a whole army chasing one unit on the whole map"), better at a few stuffs, generally more efficient. -further overhaul of the worker assigner functions. It's factored by the gather rates, though this may be hard to notice -Changed a few stuffs in the building orders and the priorities of the AI for better play. Technicalities: -added a function for bartering, though I haven't used it yet. -implemented a few stuff from svn qBot. The AI is now called every two turn, instead of every 8 turn for qBot. This is balanced by the fact not every function is called every turn, and tons of little (or fairly big) optimizations everywhere. testing against Svn qBot, it is more "frame efficient". You should notice a much better ability at defending from the AI, though it may have a bit of troubles actually attacking. Download Link I'll soon be working again, so I will have much less time... Hopefully I'll be able to carry development on a bit. I'll need roman support, better attacks (this is really the one area where much work is needed), and ship support.
-
Playing it a bit... It lacks resources a little, I'll improve that.
-
I was really bored of testing my AI on the scenario Oasis, so I figured I'd create a random map... After two days of fiddling around, basing myself on the lake map, I have a result I am satisfied with. Requires the PathPlacer, so likely the SVN version of the folder "map". Old screenshots: New screenshots: oasis.zip
-
qBot (yet another AI)
wraitii replied to quantumstate's topic in Game Development & Technical Discussion
The latest qBot gives me a "cannot serialise function" fatal error when I try to time warp... Any idea why? -
Random Map Script: Ardennes Forest
wraitii replied to mmayfield45's topic in Scenario Design/Map making
I'm wondering one thing: why did you surround the Ardennes with cliffs? I now it's not the incest place to live in in France, but still -
Anyone played EUIII around here? Perhaps the "+10 X" should simply float above the killed unit. The problem is that it may crowd an already quite crowded battle area...
-
Build environment and deployment on the Mac
wraitii replied to Yves's topic in Game Development & Technical Discussion
There are only slight compatibility issues between Leopard and Snow Leopard, which was a 20$ minor "major update" of the system, mainly to streamline everything. It was massively adopted, so supporting 10.5 has no reason to be a priority. -
Yeah, that comes from me sucking at this game so I don't really know what's efficient enough. I guess 2/3 units would indeed be better, but it might require a bit cleverer movements from the AI to not get his units killed in a few seconds, which I do not have right now. I'm trying to improve the performance of my plan managers but it's proving harder to do than I expected... I'll look into the "defense error" thereafter. edit: can't seem to reproduce the error you're having... Any details on how to do so?
-
This error is confusing me... I'll look into it. I'm not sure what's causing the lag... The economic manager has been sped up quite a lot, but there is something in my attack plans that lags terribly... Btw, what map were you playing? Anybody noticed that Hellenes cavalry raid specifically target your villagers?
-
Ever been to 0ad.com? Let's just say it doesn't return the expected result
-
Yeah, making an AI work properly for absolutely trivial tasks such as where to build a mill is what makes you realize the human brain is amazing.Marilyn restarts attack plans all the time for now, but it's "wanted", because it's the best way I found of making it work fairly properly for now. @Pedro Falcao: yes, she ignores the fog of war... But I made her only detect incoming army in her territory to compensate. LOS I think could be added by some changes in the C++ code (there is support for human LOS, apparently AI LOS is possible to have at some point), but it would increase lag. Attacking your rams however works as designed... The way the "battle manager" works now is to send units deal with each group of enemy , so your rams were detected a a new group and units were sent.
-
You're certainly making sense, but I do not have the skills to make it "non-deterministic". I'm not sure there is a point either. I think the AI in AoE3 is a bit what I'm trying to achieve : deterministic, but able to store a few things (such as "when the player attacked") and sort of react to that. Optimally, I'd like to be able to do that and better, but I'm unsure I have the skills required (I'm not a real programmer... Hell, I'm not even a programmer at all, I'm studying economics.) I also have very little idea of what the team wants for their AI, though seeing what was already achieved, I think my ideas are not that faraway from theirs. @Zaggy1024 : indeed.
-
Okay, yay new version. Actual improvements this time around: -Attack plans are better, and I implemented a "raid the villagers" type of attack... It's much of a work in progress, like the attack plans in general (this is really the one area that's freakin' hard to implement... No wonder most AIs use "create an army and send it to enemy base" as a means of attacking.). Though not all civilizations will benefit from it (It uses cavalry swordsman, and I think only hellenes have an early access to those. It'll be changed in the next version). Test it out on Oasis. -Attack plans are now started if the "maximum" amount of units are built. -Generally more efficiency during attacks for attack plans and defense. -gatherers should generally stay on their resource for longer, ie the AI will change their task less often. -Queue manager changed again: more readable, more efficient, more modular (individual plans can be set as "most important"). Generally better and more efficient. Technical stuff: -Attack plans use their own queues, and generally rewrote those a lot. More modular now. -Cleaned up the code further -In the "reassignIdleWorker", it checks if they did something before and puts this as the top priority. This is good: workers will change tasks less often. -Tactics can now split and regroup groups after initialization. I'm not 100% sure every new stuff is bug free, but I playtested it fairly thoroughly, so it should work. Report any bug you encounter, as well as any weird AI reaction. Download Link Edit: darn ,still a problem I left over with garrisonning... Replace line 285 of "mil-Tactics.js" by this: if (!entity || !entity.position()) And line 279 also needs to be changed to this: if (!unit || (unit && !unit.position()) ){ Speed improvements over the economic manager are a bit countered because of the modifications to attack plans, but overall on "time warp" it's still faster than qBot on my computer.
-
Progress reports on funded work
wraitii replied to Ykkrosh's topic in Game Development & Technical Discussion
Okay. Perhaps if you're someday coding pathfinding for ships specifically, you could reuse this for charging horsemen... I'm fairly sure they'd behave in fairly the same way. -
Build environment and deployment on the Mac
wraitii replied to Yves's topic in Game Development & Technical Discussion
I'm really not sure that the third feature is compulsory. -
He has done a few modifications, but nothing fundamentally different, I think. I'm not sure what you mean by your second question, could you rephrase it? I've finished updating my attack plans to allow for more precise unit construction (archers, javelins and not only "ranged"), planning for raids. It was a bit of a pain, but it works.
-
I can tell you with 100% certainty that you have indeed garrisoned a unit right before the unit appeared . Okay, so since that seems to be taken care of, I'll now proceed to try to actually add stuff. I've already made the AI stop changing its workers of task every minute, so it behaves more humanly (and efficiently)
-
Mmmh, I forgot about garrisoning making the position undefined, this must be it because there's no way the units that are sorted by this function are dead. I'll give it a try. (What's fun is that I really, authentically suck at this game, so I never try to garrison anything. I'm even unable to defeat my own bot.) edit: Yup, garrisoning a soldier makes it go mad because I completely forgot about that possibility. Easy fix. Anyone else tried playing around a bit? Fix: line 378 of defence.js, add: if (enemy.position() == undefined) // unit is likely garrisoned. DO not check. continue; Edit: actually elsewhere too, I'll continue to playtest with some garrisoned units to see if there's any other spot. Line 428 of "attack_city.js" if (enemy.position() == undefined) // likely garrisoned continue; Edit^2: darn, also in defence.js, line 200, replace the if condition by this one: if (enemy.owner() == ennemiPotentiel.owner() && enemy.id() !== ennemiPotentiel.id() && enemy.position() !== undefined)