I think something is wrong…
You are absolutely correct. It seems we missed one of the version numberings in the sub projects, this ultimately made the compiled product use older code instead of the actual fixes.
The Tesla Tower will now be attacking enemies instead of yourself
The community is really awesome in helping us spot these things, it is much appreciated
Minor bug, not sure if anyone else has noticed this:
Seems like the building stats as displayed state.json files don’t agree with the stats as specified in game-config.properties.
Specifically:
in state.json files, constructionTime is 1 greater than the values in game-config.properties
in the game map in state.json, “energyPerShot” for tesla towers has a value of 0 instead of 100.
could you please update examples/example-state.json to an output from a 2.0.3 game?
in games from matches run on the 2.0.3 engine I’m getting constructionTimeLeft values for buildings constantly decrementing after the building is built (eg. -50, -51, etc.). is that intended behaviour?
in the example-state.json constructionTimeLeft gets set to -1 once the building is build and remains there until the end of the game.
I do believe the constructionTimeLeft decrementing is intentional. They have used it as an indication of building age, which is required to determine which Tesla tower fires first. At least that’s how I read it when analyzing the game round processing code.
@sschocke is indeed correct, thank you for the answer, we have left it in intentionally to do just that. @MarcinK, I will have the guys take a look at the example and update it to reflect this change.
I don’t know if I’m doing anything wrong, but the results of the match on the portal seem wrong compared to my local (I’m using a tester to check the state files) version 2.0.3. Is the portal using a different version to run matches?
Hi @pierre.roux,
I’m a little worried about inconsistencies I get sometimes when I run the engine… sometimes turns are being skipped by one of my bots due to no fault of their own (that I can find)… it may just be that my laptop is a little weak but I’m worried that if the tournament machine is under heavy load it may cause bots to skip turns also (maybe due to a memory IO error or something else???)…
when I run the same 2 bots against each other (neither bot having any randomness programmed in) I get the following:
To put your mind at ease, I also use JS bots for testing the new features we add into the game (it’s easy to mold JS bots into testers for this purpose ) and I never get the execution failed error on them. This might very well be due to slow I/O if many processes are hogging your resources.
As for the tournament runner, it only runs each bot alone after killing any other bot’s process. This ensures that each bot gets access to all the resources just for itself when it is its turn.
Try and have a look at the BotOutput.txt file, as this should contain the stdout or stderr that NodeJS would print errors to. Or else check if the file write library gets “overloaded” in any way (this is just speculation), so test setTimeout(() => { mainFunctionHere(); }, 100); in the bot to see if you can replicate it with such delay.
If you can find a way to easily replicate this bug please let us know.
Yes, it still costs 100 energy to when a Tesla Tower fire. You can verify any such prices in the game-config.properties file in the starter-pack zipfile.
We hope these changes will bring more variance to the game, and open up new strange strategies. With the final tournament being so close, we want to give everyone a stable game-engine to practice and build their bots for the last push, but if horrible bugs are uncovered, we will gladly fix them ASAP
@pierre.roux small bug - the iron curtain stats as given to the bots in state.json don’t agree with the info in game-config.properties. Seems like the engine is using the values in game-config.properties though.