πŸ€‘ Indie game storeπŸ™Œ Free gamesπŸ˜‚ Fun games😨 Horror games
πŸ‘· Game development🎨 AssetsπŸ“š Comics
πŸŽ‰ Sales🎁 Bundles


A member registered 1 year ago

Recent community posts

Actually... Why must it be one way or another? Would it be possible to make the hit accuracy method a selectable option during game creation? Might be the best of both worlds. You could choose whether you want it more simulation focused or AI focused.

As for variable damage, I'd rather see damaged tied to the health level of the bot... so weaker bots do less damage.

And that's why I've given up on the leaderboard. One game against the wrong opponent where your bots can't hit anything and you tumble down the list. Now I just play whomever instead of carefully choosing matches. My rating is worse, my win percentage is the same... But I enjoy the game more.

I get the impression there is a seed generated per side, per match... Making luck a variable. I'd like to see literal hit percentages where every 10th shot hits at long range, every 2nd shot hits at medium range, etc... This might remove luck and really test AI strategy.

Either that or apply the range hit percentage per shot... It would be more off a simulation and less of an AI exercise, but still fun...

I'd just be happy if there was a snap to grid option...

I've noticed that the in-game replay circle will reset the odds for a match, but the post-game replay button will not... It'll just run the game with the same odds.

So hit the circle before the match ends or right at the beginning if you want to make sure the match runs with new odds.

Hitting every shot might not look "realistic", not that we're making a realistic simulator here, but it should be fun to watch.

Two viable options are:

1) What we might have now, each shot has a certain percentage chance to hit at that range. So at long range each individual shot has a 10% chance to hit. You might hit anywhere from 0 to 10 shots out of 10 depending on how lucky you are.

2) Hits stay true to the hit percentage for that range. So at long range, you will hit 1 out of 10 shots every time. At medium range you will hit 5 out of 10 shots every time.

Option 1 is fine if you want to lean more toward a fun simulator.

Option 2 might be best if you want a competitive system to evaluate the tactical and logical strength of player's AIs.

Sounds promising... What do you mean by getting rid of the randomness? Do you mean to make hits always 50% at medium, always 10% at long, etc? ...

I may or may not actually have a Shadowrun tattoo...

If the leaderboard showed the win percentage of your last 50 games played within the last X days (1 week, 2 weeks, 30 days, whatever)... You would be encouraged to play if you want to be on the leaderboard. It would be continuous and be a running reflection of your games. You wouldn't be discouraged from playing if you have a good rating.

Tournaments should be handled differently so they are not just "more of the same".


The current system discourages you from playing once you have a high score. The same is true even in chess. The best way to preserve your high rating is to simply not play. This app needs to encourage play, not discourage it. I can climb to the top of the leaderboard by being selective with matches, but once I was there it was boring... So I just started playing whomever, and my rating dropped even though my win percentage did not. ELO is not meant to be used with a luck factor.

Playing thousands of matches in an attempt to average out the luck factor is not realistic... Your rating would just fluctuate more often. ELO might work for us with tournament play because it's a one-and-done snapshot, but the leaderboard is meant to be a continuous rating. The luck factor makes ELO ratings bounce around too much to be useful in the leaderboard.

Isn't this along the lines of what I suggested a while back? Except I suggested the leaderboard should be ranked by the win percentage of your last 50 games within the last 30 days or so. (30 days to encourage gameplay)

After trying the ELO system for a while I'm even more convinced this would be a better approach. ELO works for chess because it is a game of pure skill, no luck factor at all. Gladiabots does have a luck factor though. Even the best AI will have matches where they can't hit the broad side of a barn because of the random seed. This makes for scores that are not representative.

For example, I played 4 games against someone... All with the same AIs. I won 3 out of 4. Because of our ratings though, I suffered a net loss.

Win 1st = +9

Win 2nd = +9

Win 3rd = +8

Lose 4th = -32

Net loss of 6 points even though I won 75%.

I would recommend using win percentage for the leaderboard, and an elo-like system for tournaments where matches are the best 2 out of 3 to help average out the random factor.

Yes... That is one pair that we can currently do. But not carry/fire or walk/fire...


Yep... These bots can only do one thing at a time. Walk, fire, carry a resource... Choose one, but I really wish you could choose two. I think that would foster a lot of AI diversity; but it would add complexity too.

I love not being forced to the Log screen all the time... That alone is a great improvement. Auto refresh on the Join screen would be nice... But I don't mind the other tabs updating only when I click on them.

Awesome... Thanks!

After a battle it would be nice to have Exit, Retry, and Playback options. Retry would start over with new calculations; Playback would use the same calculations allowing you to have an "instant playback".

OK... Seriously. I'm getting really annoyed with the reuse of the RNG in missions and especially training mode. The hits are based on a percentage, so what's the point in seeing the exact same battle play out when you replay a fight between two AIs? There is literally no value in that. It makes sense for multiplayer playback, but nothing else.

When I start a NEW battle between two capable AIs, there needs to be new hit calculations. Otherwise, you're not testing the efficiency of two AIs... You're just seeing which one can win a one time dice roll.

If I run 10 battles between two similar AIs, and one wins 70% of them... I now know which is likely more efficient. I just can't do that if you reuse the same calculations every time. Currently, the less efficient AI might just roll better in the one time calculation and that's the only result you'll ever see.

It really should reflect a "law of averages" with the solo games. Now, if I build an AI and it dominates Circle of Death... That may just be the RNG swinging in my favor and I wouldn't know. In reality my AI may only win 5 out of 10 matches. My goal would be to find an AI that wins 80% or better.

Created a new topic [Question] Randomization

I've seen it discussed once before, but I want to make sure I understand. GFX47 said the hits are determined with a "dice roll", but the rolls are reused after the first run through the match. Is this why matches play out the exact same way each time when playing missions?

If so, this makes sense for PvP... Makes it easy to replay the match for viewing later. But I think it kinda limits the playability of the single player missions. Would anyone other than me like to see their matches play out a little different each time against the game AI?

It would also be good for testing your AI... You can see how it performs on average and not just see the results of one "dice roll". That one roll may have been very lucky or very unlucky for you. This might not be a true measure of your AI effectiveness.

The current system really does not encourage you to create games, it really discourages you like ChunkyMonkey said. Maybe you lose less points if you created the game?...(shrug) I spend a lot of time hoping for games to join. I create some, but that's painful due to the lag of returning to the log screen every time.

I still think elo should be reserved for tournament/league play... and the leaderboard ranking should just be based on your win/loss percentage of your last 50 games or so.

For league play, people sign up and submit a bot. Those bots are ran through a course of maps. An elo rating is generated and everyone can view each match until the next league starts. Just an idea.

I also have a match with Wetterquarz that is stuck in NEW status and crashes soon after starting.

Good... Now put down PokemonGO and get back to the arena :)

Well... I admit I don't use currently targeted. It doesn't allow for situational adjustments. It might work with other approaches though.


Perhaps a sliding period would negate the need for an elo rating for non-league play. For example, the non-league rating is simply your win/loss percentage of your last 100 matches (within the last X days).

Whenever you kick off a league, all of your matches apply to the elo rating for the duration of the league. Perhaps only ranked players are eligible for the league (those with 100 matches within the last X days). This would make the league competition more consistent by "weeding out" amateurs and ensure the league is composed of mostly current players.

There has to be some cutoff somewhere for the data... Otherwise you are always dragging around your early career mistakes or the pool of data will eventually become too large to handle efficiently.

It doesn't have to be 30, it could be 60.

The intent with the last X number of matches is to not penalize anyone for early uh-ohs and to factor out the learning curve. If you've played 150 matches, your mistakes in the first 50 don't matter anymore.

The intent with the last X number of days is to encourage continuous play and have a ranking of current players more than past players. This would be in lieu of "seasons". If you occasionally reset the scores and start over, the ranking will be in flux and not really representative for several days while a sufficient pool of data is being rebuilt.

A new player would not have to wait 30 days... They just need 100 matches WITHIN the last 30 days. If they play 100 matches the first day they get ranked. If you don't have 100 matches within the last 30 days you fall of the rankings.

That was intense... I really thought I was going to lose the second one! Thanks for posting these... Great games!

last matches? Last 100? Last 50? Did you use a date filter? I'm not sure what the number should be, we'll have to get a feel for that. But I think I would really prefer a running date filter rather than resetting the scores every 30 days. It would take several days for the rankings to settle down and end up almost where they started.

On a side note, I think it would be cool to be able to select a name on the leader board and see their winn/loss percentage for each map. The player detail screen could also show their total number of matches within the last 30 days with a progress bar toward "being ranked".

I think it makes sense... But I would recommend a system with a running score based on a set number of matches within a certain period off time. For example, the last 100 matches within the last 30 days. If you don't have enough matches to meet the criteria, you are simply "not yet ranked". This encourages continued play.

I don't mind... Especially if you post the ones I won :)

Hah.... I think my bots decided to let you win one ;) Great games, it would be awesome if I could mark them as favorites so they would never age off the log.

Great fun! Your bots are getting smart...

I have a solid 4G connection on my Verizon Android phone, and I'm constantly timing out. Mostly going to the LOG screen. It "appears" to be a database index or query efficiency issue... from a user perspective.

I noticed that the game returns to the LOG screen every time. I think it would help if instead it returned me to the screen I came from. So if I joined a match it would return me to the JOIN screen so I could join another. If I created a match it would return me to the CREATE screen do I could create another. This would greatly reduce the number of LOG queries hitting the server. Currently if I create 10 games I have to wait through 10 LOG queries when I really just wanted to go to the CREATE screen each time. I don't think that is the underlying problem, but I think it would help.

Record/Save... Great idea... I just had a match where it was my 3 vs 5 and somehow my bots pulled it off. I would love to save that one.

I would suggest keeping things on the simple side at first. Our current bots have balanced shield/health, a certain speed, a certain fire rate, a certain damage per shot, etc... I would just like to see bots with different stats. One with more shields than health, one with more health than shields, one with faster speed, one with faster shots, one with more powerful shots, etc... Of course there would have to be a costing system for balance.

That alone would greatly increase the variety of AI's and strategies.

I would like to see two logic lines instead of just one. One would apply to movement/scoring and the other to targeting/attacking. Bots could move and shoot at the same time...

I would like to change the color of my bots...

Operators would be nice (=, <, >, <=, >=, etc) with the ability to enter a value (any whole number) instead of the 0-25, 25-50, 50-75 approach...

Terrain would be nice. Buildings, walls, sand pits...

I may be over thinking it, but it seems to me that fewer nodes makes for more efficient code.

Programming is a very literal endeavour; ANY ball should literally mean any ball in the game. I like the idea of a "pickable" or "loose" filter in addition to "any".

I also like that I just won 6 out of 9 matches with Chunkymonkey...(GriN)

Negative ghost rider... It's a simple condition that should be testing true. I can already test for an ally or enemy with a ball. I need to test if there are any balls anywhere on the field with a quick simple condition. The UI provides the ability to define it, it just doesn't think a ball "exists" once it has been picked up.

Though I did notice that a bot doesn't consider itself as an ally when testing if any ally has a ball... I have to read it as "if any OTHER ally has a ball". It could go either way, but I think a bot should consider itself an ally. Just saying it could be related to the non-existing ball logic bug if that wasn't the intended meaning of "ally".

First, I love this game... can't wait to see it grow.

That being said, I ran into an issue when playing with a condition "if any ball exists". It worked fine as long as there were balls that had not been picked up. The instant all balls were picked up the condition no longer tested true... I think it should still test true as there are clearly balls still in play.

Android alpha 4.1