zoot
-
Posts
1.557 -
Joined
-
Last visited
-
Days Won
9
Posts posted by zoot
-
-
I think that's a function that Firefox makes available to scripts and not spidermonkey directly.
Like the functions you can access via "Engine.FunctionName()" in our scripts.
Interesting. Could we in theory implement it ourselves as such a function, do you think?
-
Anyway, I am curious to know if Web Worker is supported in AI and RMS? Is AI muilti threaded already supported? Having muilti-threaded AI could help with performance in late game.
According to this page, a basic implementation of web workers ("dedicated workers") has been supported as far back as Firefox 3.5. The version of SpiderMonkey we are using (SpiderMonkey 1.8.5) corresponds to Firefox 4.0, I believe.
Does anyone have any idea why web workers might not be enabled in our engine, even though it is supposed to be supported? I tried accessing the global 'Worker' object that is supposed to be the API for this, but got the error:
ERROR: JavaScript error: Console line 1
ReferenceError: Worker is not defined
@Console:1 -
You can find the source .dae files here, I believe: https://github.com/0ad/0ad/tree/master/binaries/data/mods/public/art/meshes
-
Wraitii can probably hack it so it doesn't produce error messages, at least.
-
I'm quasi-interested in making the engine more moddable (#304). One of items I've noticed in that regard is that a number of system components are hardcoded into Simulation2.cpp: https://github.com/0ad/0ad/blob/master/source/simulation2/Simulation2.cpp#L100
Wouldn't it be a good idea to factor as many of those as possible out of Simulation2.cpp and into an XML template, similar to "special/player.xml"? Then mods could alter that template in accordance with which components they actually need to use.
-
I can confirm the JavaScript errors (new game in rev13319, play for some time, save game, exit, load game, errors), but I don't get a crash. If I continue playing as the JavaScript errors pile on until JavaScript runs out of memory, see http://feneur.com/stuff/wfg/interestinglog.html
Do you get those with other bots than Aegis? I believe there is a known issue with Aegis not serializing (saving) its data properly yet.
-
And if you save a new game on that revision and load it again on the same revision, do you also get the error?
-
That version has not been released, so you must be using SVN. Which SVN revision of the game did you save on and which SVN revision did you load on?
-
A note: It might be my contact (or lack of it) with the accent, but i find it difficult, sometimes, to understand the European English "standard" accent. So if I were to choose one over the other, I'd prefer the American English "standard" accent, which is almost always pretty clear, to me.
I agree. I'd only use British English if it had to sound particularly distinguished (Which it shouldn't, a tutorial is very hands-on.)
-
About the faces: since the goal is to make the icon easily identifiable, I am not sure it is a good idea to leave out the faces. I can't immediately prove it, but I believe that if you showed me a series images of faceless bodies vs. a series of images of bodies with faces, I would have more difficulty remembering and telling apart the faceless ones than the ones with faces.
For instance, see this:
The two images at the top look different from each other, but not hugely so. The two images at the bottom, on the other hand, look very different from each other - even though they are the same images as the ones at the top only 'flipped' upside down. This is the Thatcher effect. It suggests that we have specialized functions for recognizing upright faces.
People with prosopagnosia or face blindness are impaired in this ability, so it is good to have other cues as well:
The specific brain area usually associated with prosopagnosia is the fusiform gyrus, which activates specifically in response to faces. Thanks to this specialization, most people recognize faces much more effectively than they do similarly complex inanimate objects. For those with prosopagnosia, the ability to recognize faces depends on the less-sensitive object recognition system. -
Looks great IMO. I can't immediately guess which unit it is, but I believe what is most important is that I distinguish it from other icons, so I am able to learn which unit it corresponds to by clicking it. That is, if it looks different from any other icon, and a spearman always comes out when I click it, I will quickly learn the correspondence, and be able to identify it at a glance in-game.
I believe Yves is right, though, and maybe the shield here is a bit difficult to make out from the background.
-
Yeah, it was on Punjab 1.
-
This defense proved unbeatable to Aegis Bot:
It did send batch after batch of units towards it, but it seemed to focus most of its firepower - especially siege weapons - against towers. So it had to go all the way around the wall (the red line) before being able to land a blow, by which time the units would already have been killed by the towers.
Also, when it ran out of metal sources in its own territory, it began sending workers suicidally towards my metal mines, where they would just get killed in the defense shown above. After that point it basically shut down - it was no longer able to build any armies after losing access to metal. It would probably be better if it had just started using traders to gain metal then.
-
The scaling issue is probably the most important one, but a few additional ones:
- Will there be other backgrounds made? Solid light blue seems inappropriate.
- It spooks me out that I can't see the units faces.
- The two soldier units in the top row seem too passive, they could be more menacing. Maybe you could use posture as an additional cue to distinguish them from each other.
- The elephant in the top-right icon is taking up too much of the icon's space. The icon is almost all grey skin/flesh.
-
Grammar nazi:
The bot's chat lacks punctuation. Here's a patch: https://github.com/zootzoot/0ad/commit/d27c5916212aeda94808288d0951bc376a7e3d45.diff
Also, is "Starting to attack x" good English in this context? I would only use that form for a slow process/tendency, like "The paint is starting to dry" or "My house is starting to collapse". IMO just cut that line, since the other lines the bot can say seems fine.
-
I just tried on Oasis. It does put up a decent fight now, though it is still a bit helpless against towers (this game was prior to them being nerfed however).
-
Please try the difficulty settings, easy should feel easy but not tooooo easy. Hard should be somewhat challenging to skilled players. Very hard should be challenging. Please report if it is too challenging, or not enough (I use a system of resource cheat: Easy AI gathers 33% more slowly, hard 33% faster, and very hard 66% faster.)
Any particular maps you can recommend for maximum challenge?
-
Wouldn't the best way to handle this adaptive AI be to make it a stand alone web service.?
At least it would mean that no complexity would have to be added to the engine, which is nice.
-
Edit: With regards to the host cheating with local AI. I doubt anyone is going to play serious competitive games with AI so there is little incentive to cheat. I don't think this is worth much consideration.
Better to leave that up to the players, IMO, than trying to 'read their mind' before the fact.
-
Test:
You need to replace the 'https' with 'http'.
-
It would also make it easier for the host to cheat, because he would be able to 'remote control' the AI if he hacked it sufficiently. Doesn't seem a good path to venture down, IMO.
Is the database too big to transmit over the wire in the beginning of the game?
-
Hi, welcome to the forum.
I have minimal knowledge about the AI interface, but I would suggest making a general enough database interface that it could fit any of the backends you suggest. Local SQLite seems fine as a starting point. Just my opinion, though
-
You have programmers on your team, no? It's all defined in here: https://github.com/zootzoot/0ad/blob/master/source/graphics/ParticleEmitterType.cpp
-
I meant to write sideways. It should be a simple change for someone who knows where the direction is defined.
[javascript] Web Worker supported in RMS and AI?
in Game Modification
Posted
If RMS, for instance, were to take advantage of multiple cores (to reduce load times), wouldn't that require the scripts themselves to be multithreading?