Level: Gold Rush

Here’s a new level which I think you’ll enjoy–our third multiplayer arena level, created by @Darredevil. I’ve been having a lot of fun playtesting this one and can’t wait to see what y’all come up with on the ladder. Please post feedback and discuss strategies here (but don’t spoil any good code).

When given the option of tutorial, easy or hard, I tried to click on the tutorial and got bounced back to the level selection page with the following text at the top:

Level could not be loaded: gold-rush-tutorial

I like the concept! Some issues I ran into:

  1. I tried to simulate and just got a “no games to simulate–nice” message.

  2. I tried a match against another player, and it just ran until time was out. I had over 150 gold, but that didn’t end the level.

  1. The cooldown on Terrify is 120 seconds. With a goal of 150 gold, you basically only get to use it once per match. If that’s intentional, then OK, but I thought that was a bit odd. Does the jumpTo spell even have a cooldown? It seems to trigger about 4 times per match.


  1. The font used to keep score should really make the 7 look different from the 1.

  2. Exactly how is the leaderboard score calculated? I can’t find that documented anywhere.

Hey @gosnat,

Could you post here or email me the code which generated the problem 2) ?
That should not have happened under any circumstances and needs to be fixed asap.

Regarding 3) , the Terrify cooldown, atm that’s how it is intended because it can be rather powerful and the player should use it wisely , but nothing is set in stone. I’ll tweak the cooldowns after more testing and feedback.

As for 1),4) and 5) I’m afraid I can’t help you there , @nick should be able to better help you with that.

Thanks for the feedback!


I’m afraid I’ve made enough changes to my code that I don’t know what code I was using when I ran into the issue #2. I haven’t been able to reproduce it since then. Sorry

This thing is still reproducible. It says that there’s a ‘tie’ or ‘loss’ in a ladder, but when you try to play the game, you see that the opponent is marked with red cross(meaning that his code is broken), then you get over 150 coins without any end.

I’ve just deployed a fix that should solve the problem of not winning when you pass 150 coins, so viewing a match should again show the same result as the Simulator found.

It’s not live yet, but I’ve fixed the gold count font to be more legible.

The leaderboard score is calculated based on the results of your matches by our Bayesian Battle library (GitHub). Basically, every time you submit, your score starts at 1000 and fights until it has something like five losses or has lost a third of its games, then stops, updating the score each time based on the relative difference in strength between victor and loser.

Would not it be reasonable to simulate all the possible battles between top 10 or top 5 instead of relying on this bayesian thing with random battle set? If the player is near 50 or near 100, ±10 is not so important, but if the player is near top, then the accuracy is rather low. Actually, approaching to 50 is already not very reliable since if you get about 4000 during ranking, after a day or two you are shifted down to 3500 or 3000 because of new battle data collected during ranking of other players. Maybe this thing must be available only if player opened ‘simulate’ tab to afford extra load…I’m sure i can open up to 8 parallel tabs with simulation if i want this thing to be fast.

When you submit your game, if it climbs high enough and doesn’t lose too often, it should already simulate against every opponent whose score is greater than 3000 (it skips people in increments no greater than 200 before 3000). Right now the code for picking matches is very simple. Would be happy to play around with any pull requests to make that smarter. Do you think the problem you see is due to losing more than a third of your matches before getting to the #1 opponent, or is it related to some other difference in who you are playing when you first submit vs. who plays against you when they submit their own code for initial ranking? The thing is designed such that your scores should be stable regardless of whether you submit or someone submits against you, but maybe the current ranking limitations are breaking the math. (Or maybe opponents are getting better at countering the top players.)

We do plan to hook up a feature whereby the more you simulate, the more games your code gets to play, which should keep your ranking more stable. We just haven’t gotten to it yet.

For new levels like ‘gold rush’ there are only few players, and the score of all of them is not greater than 3000 even now. It is approaching to 2900 now, but max score was about 2200 some days ago. That means your ‘over 3000’ rule does not work in that case.
Another problem is that, i guess, this level is not deterministic, so simulating the battle between same players can often have different results. And when there are only few playes, it often happens that you win against top-level players and loose to some middle-level ones.
Actually, now i see that the level is rather broken. I can see only humans race available(leaderboard/‘play as’ button), but you still play against some hidden ogres code. And auto-update of the ‘matches’ leaderboards often leaves it only with one line with your name and ‘…’ line above it, and nothing else.

@no_login_found Right, the ladder ranking stuff doesn’t work very well when there aren’t many players on the ladder yet; that’s a definite limitation. The simulation is actually deterministic because we stub out the random number generation with a seed, so a match between the same code will always end the same way (unless we tweak the level balance in the meantime).

Fixed the bug with the ogre team not working. For the other bug: are you using Chrome Canary, or dev Chrome, or which other browser? We were seeing this in Canary the other day but couldn’t reproduce it in normal or beta Chrome.

I usually use WaterFox (64-bit firefox build), it is still reproducible in regular FireFox v28. (seems the things are better in FF 29). I can also see the bug after some period of time in 64-bit Chromium build(I regularly use it for simulation since each tab is a separate 64-bit process). Actually using 32-bit browsers is not a real option if you write complex code or simulate games, RAM usage quickly reaches the 2gb ceiling and the browser crashes. It’s valid for 32-bit firefox, chrome, SRWare iron(chrome clone).

1 Like

Hey guys! first off, awesome game you’re making! I was just lookng for same coding game, because I love code puzzle and this is just great!

To the problem: I’m unable to get the .distance() method to work in this lvl. It just keeps on saying that “thang is undefined” and does nothing. Tried to fetch it all data types I could think of and no result. I’m on FF 31.0 x32, Win 7 x64.

Wasn’t succesfull using the “live debugger” (or how you call it - That awesome thing!!), it sometimes works and sometimes doesn’t…

I don’t konw if it’s a bug or I’m just missing something, but could you help please? :smiley:

edit: OK, now I’ve discovered the same problem in “Guide everyone home” level. just one added line (var dist = this.distance(wizards[0]);) to the default code and the problem pops right out.

Hi @hKaspy! Glad you’re enjoying the game. I just added some argument validation that might help you here. Actually, you’re passing null to the this.distance() method, because you’re looping over items but indexing into better. In the second example, the wizards haven’t spawned yet, so wizards[0] is also null, since wizards is [].

Hope this makes sense, and sorry for the bad error message!

MG -.- my fault as usual, thanks for help :wink: