*Author

thearchduke

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6454#msg6454
« Reply #12 on: December 15, 2009, 10:10:02 pm »

I think this thread would be interested in this, a work in progress from user ChrisKang...

http://elementsthegame.wikia.com/wiki/User:Chriskang/Sandbox/10

AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6455#msg6455
« Reply #13 on: December 15, 2009, 10:10:02 pm »

It does unburrow- but usually only if you are about to die.
Huh. I've NEVER seen the AI unburrow any creature. Period.

AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6456#msg6456
« Reply #14 on: December 15, 2009, 10:10:02 pm »

Lots of code...  Pretty sure that for cards in play that have abilities, the current program tells them to use their ability every chance they get (shriekers burrowing all the time as one example)
Then why don't they ever unburrow, if they are to use the ability every chance they get? Or is the AI instructed to NOT unburrow any creatures under any circumstances?

Uzra

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6457#msg6457
« Reply #15 on: December 15, 2009, 10:10:02 pm »

Given hamster's example, It might do something like this.

Check most recent card in hand to see if it's a good idea or not to play it and if it can be played.
If yes play it.
Check 2nd most recent card in hand to see if it can be played and if it's a good idea to play it.
If so, play it.
Check 3rd most recent card ....

Just a guess.

Uzra

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6458#msg6458
« Reply #16 on: December 15, 2009, 10:10:02 pm »

Yeah, but how does it know if it's a good idea?
You have to go on a card by card basis for the most part.

If it's a creature, It's a good Idea to play it (I would disagree in some circumstances but I don't think the computer does currently).

Play miracle when your opponents next attack with both A) bring your life down to less than X (maybe 25ish), B) bring your life down to half or less of what it is currently (to be carefull of big plays like fire bolts/lots of big creatures, lot's of pumpable creatures including FFQ, etc..).

Poison: Play if you have enough quantum left over after using any and all Chrysaora you might have.

Lots of code...  Pretty sure that for cards in play that have abilities, the current program tells them to use their ability every chance they get (shriekers burrowing all the time as one example)

chriskang

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6721#msg6721
« Reply #17 on: December 15, 2009, 10:10:03 pm »

Now that the trick is revealed, I think I have to give an explanation here before someone asks "how do you decompile a swf".

So yes, I used a decompiler to look at the source code and to extract some pieces of information from it that weren't well known (drop rates, mutation effect, AI algorithm, ...)
Inside the source code, I spotted half a dozen bugs that I wrote in the wiki page and I also found a few major security holes. Chances are high that those holes are the ones abused by cheaters to get a score in t50 ten minutes after their account creation.
I wrote to Zanzarino immediatly to offer my help in solving those issues. But for now, I got no answer.

So I ask everyone who has some knowledge in engineering NOT TO give advices on how to decompile and how to read an actionscript code until those problems are fixed.
I hope you understand that having a "cheater free" game is more important than anything else.



chriskang

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6722#msg6722
« Reply #18 on: December 15, 2009, 10:10:03 pm »

Anyone want to lay odds that he's done playing with Elements?  Like, he gets decent ad revenue but now he wants to build that first person shooter he's always dreamed of or something?  It's just a flash game, after all.  Most people put them up and never bother to update again.  He doesn't seem to be much interested in it anymore.
This is precisely my fear.
He gave no signs of life for the last 2 months or so (or if he did, I'm not aware of that). Seeing how much projects he currently has (http://www.zanzarino.net/) he might have very few time for each of them.
I really hope we're mistaken but just as you Archduke, I'm preparing for the worst.

I could understand easily an announcement saying that he quits the development because he lacks time to code. This day, if he allows some people to continue working on the project, I'll be in line (with many others, I'm sure) to join the new dev team. I just hope he won't let the game die slowly without touching it.


cocobingo

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6723#msg6723
« Reply #19 on: December 15, 2009, 10:10:03 pm »

I could understand easily an announcement saying that he quits the development because he lacks time to code. This day, if he allows some people to continue working on the project, I'll be in line (with many others, I'm sure) to join the new dev team. I just hope he won't let the game die slowly without touching it.
I also fear that Zanzarino gave up on developping Elements.
It would be great if he passed the code on to somebody, but I see a lot of reasons that could refrain him from doing so.

cocobingo

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6724#msg6724
« Reply #20 on: December 15, 2009, 10:10:03 pm »

How did you get the actual code?
I guess he just decompiled the swf file.
That is trivial. The hard part is understanding the resulting source code.
Chriskang must have spent quite some time on this, I'm very impressed ! Great work, and thanks a lot for sharing your findings !

Evil Hamster

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6725#msg6725
« Reply #21 on: December 15, 2009, 10:10:03 pm »

Now that the trick is revealed, I think I have to give an explanation here before someone asks "how do you decompile a swf".

So yes, I used a decompiler to look at the source code and to extract some pieces of information from it that weren't well known (drop rates, mutation effect, AI algorithm, ...)
Inside the source code, I spotted half a dozen bugs that I wrote in the wiki page and I also found a few major security holes. Chances are high that those holes are the ones abused by cheaters to get a score in t50 ten minutes after their account creation.
I wrote to Zanzarino immediatly to offer my help in solving those issues. But for now, I got no answer.

So I ask everyone who has some knowledge in engineering NOT TO give advices on how to decompile and how to read an actionscript code until those problems are fixed.
I hope you understand that having a "cheater free" game is more important than anything else.
I wouldn't even know what to do with it if I had it :)

But I hope he does fix whatever bugs you found.

Sometimes having a second pair of eyes is extremely helpful!

Pilchard123

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6726#msg6726
« Reply #22 on: December 15, 2009, 10:10:03 pm »

Ah. Okay, thanks chris! Or kang! Or chriskang! Or whatever...

Anyway - that should be useful.

thearchduke

  • Guest
AI code - Zanzarino please read this! https://elementscommunity.org/forum/index.php?topic=654.msg6727#msg6727
« Reply #23 on: December 15, 2009, 10:10:03 pm »

I don't have a real good idea on this, but it's my impression that the ad sales for something like Elements won't cut it.  I personally would gladly pay ten or twenty bucks a month for quite a while as long as he kept it interesting - new cards, new quests, new decks, etc.  I wonder if there's any hope of that.

On a separate note, someone in Ohio could volunteer to take on the web design duties for Canton Baptist Church to free up Mr. Zanzarino for more elements related activities...

 

blarg: