Place a piece, creating or enlarging a bug, eat neighbouring bugs of the same size, and grow.
Generated at 27/10/2020, 22:24 from 80242 logged games.
Representative game (in the sense of being of mean length). Wherever you see the 'representative game' referred to in later sections, this is it!
1) A bug is an entire group of connected, same-color stones on the board. A single stone is also a bug.
2) The size of a bug is the number of stones it contains.
The board starts empty. Black begins the game by placing one black stone on any empty space. Then, starting with White, the players take turns. Each turn has 3 steps, taken in order: 1) Place, 2) Eat, 3) Grow
1) Place: You must place one stone of your color on an empty space such that the resulting bug isn't larger than the largest bug on the board (regardless of color) prior to placement.
2) Eat: All your bugs which are adjacent to one or more enemy bugs of the same shape (but not necessarily the same orientation) must eat (capture) those enemy bugs. Return eaten bugs to your opponent.
Note mirror-image bugs count as the same shape.
3) Grow: Increase the size of each of your bugs that ate, by exactly 1, by placing a stone of your color on any empty space adjacent to each such bug.
If eating would unavoidably force a bug to grow by more than 1 through a merger with another bug of the same color, no eating occurs.
If, after growing, a bug is adjacent to an identically-shaped enemy bug, it must eat the enemy bug (and grow again) if possible, and so on.
The first player who CANNOT place a stone in the placement step WINS. That is: you win if you've filled the ecosystem with your bugs so much you can no longer expand.
Standard
Nick kills me - his games are always a real nightmare to programme! In this case, I ended up implementing the game twice. The main problem was identifying when two neighbouring bugs are the same, allowing for reflection and rotation. For the HexHex3 implementation, I tried pre-generating every single board position for each shape, so I could do a straight lookup - that resulted in 2Mb of data after around 60 minutes of processing. Clearly not scalable! For the HexHex4 case, I represented the board as a bitboard (long integer, with each bit representing a different board cell), and did low-level bit manipulation to rotate and compare shapes. The result is fast enough to beat most humans, but unfortunately doesn't scale to larger boards for different reasons*; I may do so at some point using the Java BitSet class (extended to allow shifts) for the bit array, but not for a while.
*Ai Ai represents hexhex boards internally as a standard hex grid with the corners missing. That means HexHex5 (61 cells) actually requires 81 bits internally, which is more than a 64-bit integer will hold.
General comments:
Play: Combinatorial
Family: Combinatorial 2017
Mechanism(s): Pattern,Capture,Territory
Components: Board
BGG Entry | Bug |
---|---|
BGG Rating | 7.58205 |
#Voters | 39 |
SD | 1.04682 |
BGG Weight | 2.3333 |
#Voters | 3 |
Year | 2017 |
User | Rating | Comment |
---|---|---|
bootleby | N/A | My rather 'cold' rating likely has to do with my inability to play this very well, so I'm not getting any insights into the strategic depth since I'm still wearing water wings in the shallow end. I like this game but I don't foresee myself suggesting it? Unless I'm trying to get in as many Nick Bentley games as possible in a day or something I don't know. That is, actually, likely to happen at some point haha |
mrraow | 10 | Bug is impressively opaque, even on very small boards. But in a good way; the 'perceptual binding' means that the player gets the feeling of understanding being just beyond the horizon, rather than forever beyond reach. Want to play more. Much more :) Playable in Ai Ai (on small boards). Nick kills me - his games are always a real nightmare to programme! In this case, I ended up implementing the game twice. The main problem was identifying when two neighbouring bugs are the same, allowing for reflection and rotation. For the HexHex3 implementation, I tried pre-generating every single board position for each shape, so I could do a straight lookup - that resulted in 2Mb of data after around 60 minutes of processing. Clearly not scalable! For the HexHex4 case, I represented the board as a bitboard (long integer, with each bit representing a different board cell), and did low-level bit manipulation to rotate and compare shapes. The result is fast enough to beat most humans, but unfortunately doesn't scale to larger boards for different reasons*; I may do so at some point using the Java BitSet class (extended to allow shifts) for the bit array, but not for a while. *Ai Ai represents hexhex boards internally as a standard hex grid with the corners missing. That means HexHex5 (61 cells) actually requires 81 bits internally, which is more than a 64-bit integer will hold. |
nhjelmberg | 9 | I commend the deisgner for a brilliant achievement. This is a game that feels like it was just waiting for someone to discover it. In a time where many designers seem content with copying old mechanics, I am so glad to see that there can be new games under the sun. It will be difficult to return to my own feeble attempts. Thank you for sharing this and good luck with Bug! |
BobW42 | 8 | Fun, simple, portable game. |
arian | 7 | |
fogus | 7.4 | |
bcurfs | 8 | This game is a cute abstract strategy with an interesting mechanic. You eat your opponent's bugs and if you can't grow you win (you basically dominate the board). Scalable to different board sizes, but my favorite size for any game on a Hex board is Hexhex-5 (61 fields). That makes the games not too long and still interesting. |
bothros | 8 | |
Observer9 | 8 | |
casualcasual | N/A | I'm not a combinatorial type of player for the most part, but Hive grabbed me, and engaged me. I suspect it's probably those thematic mnemonics. I use the Hive pieces to play Bug, and it's kind of similar; very abstracted but sort of saying something about evolution and expansion. The backwards thinking - of essentially tying to NOT be able to have your turn (probably not unusual, but I just don't have a lot of experience with these sorts of games) is the appealing bit here, to me. A neat little puzzle then; not as engaging and as free form as Hive (again, I don't play a lot of these), but good to be able to pull out and use as something different every now and then. I also should note I'm playing mostly with my son on the 3Hex grid, I'm sure there's a bit more to it on the 4x. |
molnar | 9 | |
breakmanynecks | 5 | |
pvtparts | 6 | |
luigi87 | 9 | |
rayzg | 7.5 | Finally played with the correct rules where you win if you cannot place a piece at the beginning of your turn. I'm torn about what I feel about this game. I love how original the mechanics are and how such a deep game could be created with such a small board. My only issue is that there's not much clarity in the game for me. It's really, really difficult to see the repercussions of your moves. I'm hoping that further play will make the tactics more clear. |
pkufahl | 7 | I've just scratched the surface of this game, designed around the phenomenon of perceptual binding, our neurobiological tendency to recognize patterns as objects. Bug has several interesting aspects to it: 1. You place markers onto a hex grid, but cannot create the largest group on the board this way. 2. Instead, your groups grow after "eating" your opponents' groups of the same size and shape. 3. Having no legal place on the grid to place your next marker is the way you win the game. I'm always looking for that next abstract game to (at least, temporarily) capture the imagination of myself and one other player, and hopefully I can get in more plays of this one. |
wefelker | 7 | |
fakeai | N/A | Print n Play version |
nycavri | 8 | |
orangeblood | 8 | Delightful interplay of attacks and counterattacks. At first I wondered about the victory condition (first player who cannot move wins), but after just a couple of games it's pretty intuitive and works well. |
schwarzspecht | 8 | |
4characters | 8 | Unique, innovative |
nigelreg | 7 | PnP version |
ed_in_play | N/A | printed HEXn boards to use with Go pieces |
bcnevan | 7 | This feels so much more organic and natural than Circle of Life, which I did not enjoy at all. Bug scales nicely from beginner games using a small hexhex board to expert games using a larger hexhex board. As far as a comparison to Catchup, which I also like, Bug is a bit less elegant, but brings its own qualities. |
Matt Booker | N/A | PNP |
rayr | N/A | = 2017-07-16 Played a couple of split-personality solo games this weekend to learn the rules. I'm liking what I see, but, unlike Yavalath/Pentalath/Manalath, it's going to be a lot harder to see when and where a mistake was made in order to understand how to improve. On a hexhex3 board, it took me about 4 plays to *start* seeing how to improve my chances of being the first player unable to make a move. Fortunately, even if you can't play towards the actual goal (to win by not being able to move), it feels like playing towards the subgoal (eat opponent's bugs) is generally well aligned with the main goal. I'm liking the game. It feels dynamic and I love the tug-o-war. I've noted before that I enjoy games where a seemingly strong move can leave you open to a strategic counter attack. Nick put it even better when he wrote about letting the game balance overly strong moves instead of having the rules forbid them. In Bug, the largest bug on the board is a sitting duck; it can't grow to defend itself so all of the spaces immediately adjacent to that bug are open for your opponent. Those open spaces give you a lot of flexibility, but your ultimate goal is to run out of moves. This means that the closer you get to winning, the fewer options you have. It's an interesting balance and kind of acts like a built-in catch-up mechanism without any heavy-handed rules to enforce it. Playing on a 1999 Abalone board with 7/8" marbles, using a 3rd color to mark off a hexhex3 region. Using the no-merge variant. No rating until I play against a real opponent and start to understand some of the strategies. |
gmcnish | N/A | Print hexhex3, go stones |
bdeink | 7 | |
Carthoris | 8 | A killer combinatorial game with real staying power. |
grasa_total | 7 | Ingenious and surprising in the way I expect from a Nick Bentley game. But very opaque. I don't think I know what's going on yet. |
russ | 8 | Clever fun game (be sure to read Nick's article about the game's development) which is interesting even on the tiny size 3 hexhex, and playing on successively larger boards is also cool. It can play out variously (e.g. we had one bizarrely short game with only 6 stones placed, while other games have gradually larger and larger bugs being created), and there are lots of aha-effects to be had. Bug became one of our frequent breakfast games. If you own a small hexhex board and 2 colors of stones (e.g. a Yavalath set), you can play Bug. Note: early on we switched to playing that merging is not legal in placement. Discussion in this thread: https://boardgamegeek.com/thread/1937898/merging-groups-allowed-placement-disallowed-growth |
paynentt | 8 | |
Kaelistus | 7 | |
srlindemann | 8 | |
javinoa | N/A | DIY |
hunky dory | 7.5 | |
fiddly_bits | N/A | I have sufficient bits to play. My board is part of a Chessex mat I cut up long ago to play Hex and other shapes of game. |
takeoutweight | 9 | I've not played anything like it. One of my favourite modern abstracts. The board can take on so much personality and drama even on a microscopic hex3. I think bug has the best depth-per-board-space ratio out of any game I've played? |
Bola! | N/A | Subtle! |
tkvaran | 9 | As of late December 2017, my favorite abstract of 2017. Feels classic and deep. Prefer the 4 hex board to the super tight 3 hex board. |
njking | 6 | |
Rontuaru | 8 | Bug is truly unique, remarkable, combinatorial genius. I'll go on and overuse the typical buzzphrases: elegant, clean, clever, sharp, vicious, penseive, brisk...and then some. Pick your praise, because this is as good as abstract games can get. |
Dawaran | 6.8 | |
bluebee2 | 9 | PnP. Played with several people and made a few fans of the game (including my college student who it taking it back to school to create more fans)! Loved every game. We're sticking with the hexhex3 for a bit and learning as we go. I'll be playing this quite a bit. |
conorchinitz | 7 | |
azeem | 6 | |
EllenM | 7 | Worth an abstract try We enjoy pulling this one out periodically |
AndrePOR | N/A | Print & Play Edition |
pezpimp | 5.5 | You play a piece on the board anywhere as long as it does not create a set larger than any exiting set. If you play a piece in which the size and shape matches an opponents set then you eat them and grow (you have no choice, this is automatic), this is the only way to create larger sets. We played with the correct rules this time around and although better it was not great. We tried a larger board but it just gets repetitive, you can now come from behind and challenge more but can't say that it was more fun. |
Size (bytes) | 29014 |
---|---|
Reference Size | 10293 |
Ratio | 2.82 |
Ai Ai calculates the size of the implementation, and compares it to the Ai Ai implementation of the simplest possible game (which just fills the board). Note that this estimate may include some graphics and heuristics code as well as the game logic. See the wikipedia entry for more details.
Playouts per second | 16778.21 (59.60µs/playout) |
---|---|
Reference Size | 386294.28 (2.59µs/playout) |
Ratio (low is good) | 23.02 |
Tavener complexity: the heat generated by playing every possible instance of a game with a perfectly efficient programme. Since this is not possible to calculate, Ai Ai calculates the number of random playouts per second and compares it to the fastest non-trivial Ai Ai game (Connect 4). This ratio gives a practical indication of how complex the game is. Combine this with the computational state space, and you can get an idea of how strong the default (MCTS-based) AI will be.
Label | Its/s | SD | Nodes/s | SD | Game length | SD |
---|---|---|---|---|---|---|
Random playout | 17,675 | 90 | 795,202 | 3,613 | 45 | 9 |
search.UCB | 17,998 | 333 | 52 | 8 | ||
search.UCT | 17,874 | 364 | 53 | 8 |
Random: 10 second warmup for the hotspot compiler. 100 trials of 1000ms each.
Other: 100 playouts, means calculated over the first 5 moves only to avoid distortion due to speedup at end of game.
Rotation (Half turn) lost each game as expected.
Reflection (X axis) lost each game as expected.
Reflection (Y axis) lost each game as expected.
Copy last move lost each game as expected.
Mirroring strategies attempt to copy the previous move. On first move, they will attempt to play in the centre. If neither of these are possible, they will pick a random move. Each entry represents a different form of copying; direct copy, reflection in either the X or Y axis, half-turn rotation.
1: White win % | 49.97±0.35 | Includes draws = 50% |
---|---|---|
2: Black win % | 50.03±0.35 | Includes draws = 50% |
Draw % | 0.00 | Percentage of games where all players draw. |
Decisive % | 100.00 | Percentage of games with a single winner. |
Samples | 80242 | Quantity of logged games played |
Note: that win/loss statistics may vary depending on thinking time (horizon effect, etc.), bad heuristics, bugs, and other factors, so should be taken with a pinch of salt. (Given perfect play, any game of pure skill will always end in the same result.)
Note: Ai Ai differentiates between states where all players draw or win or lose; this is mostly to support cooperative games.
Match | AI | Strong Wins | Draws | Strong Losses | #Games | Strong Score | p1 Win% | Draw% | p2 Win% | Game Length |
---|---|---|---|---|---|---|---|---|---|---|
0 | Random | |||||||||
1 | UCT (its=2) | 631 | 0 | 347 | 978 | 0.6147 <= 0.6452 <= 0.6746 | 49.28 | 0.00 | 50.72 | 45.16 |
3 | UCT (its=4) | 631 | 0 | 360 | 991 | 0.6063 <= 0.6367 <= 0.6661 | 50.55 | 0.00 | 49.45 | 47.20 |
8 | UCT (its=9) | 631 | 0 | 353 | 984 | 0.6108 <= 0.6413 <= 0.6706 | 49.90 | 0.00 | 50.10 | 49.35 |
15 | UCT (its=16) | 631 | 0 | 346 | 977 | 0.6153 <= 0.6459 <= 0.6752 | 48.72 | 0.00 | 51.28 | 51.05 |
28 | UCT (its=29) | 631 | 0 | 354 | 985 | 0.6102 <= 0.6406 <= 0.6700 | 49.54 | 0.00 | 50.46 | 52.09 |
37 | UCT (its=101) | 631 | 0 | 177 | 808 | 0.7511 <= 0.7809 <= 0.8081 | 48.64 | 0.00 | 51.36 | 51.53 |
38 | UCT (its=273) | 631 | 0 | 238 | 869 | 0.6955 <= 0.7261 <= 0.7547 | 50.86 | 0.00 | 49.14 | 52.74 |
39 | UCT (its=743) | 631 | 0 | 271 | 902 | 0.6688 <= 0.6996 <= 0.7286 | 46.12 | 0.00 | 53.88 | 51.93 |
40 | UCT (its=2020) | 491 | 0 | 257 | 748 | 0.6217 <= 0.6564 <= 0.6896 | 49.33 | 0.00 | 50.67 | 52.18 |
41 | UCT (its=2020) | 482 | 0 | 518 | 1000 | 0.4512 <= 0.4820 <= 0.5130 | 49.60 | 0.00 | 50.40 | 52.86 |
Search for levels ended: time limit reached.
Level of Play: Strong beats Weak 60% of the time (lower bound with 95% confidence).
Draw%, p1 win% and game length may give some indication of trends as AI strength increases.
This chart shows the win(green)/draw(black)/loss(red) percentages, as UCT play strength increases. Note that for most games, the top playing strength show here will be distinctly below human standard.
Game length | 51.82 | |
---|---|---|
Branching factor | 13.30 |   |
Complexity | 10^48.49 | Based on game length and branching factor |
Samples | 80242 | Quantity of logged games played |
Distinct actions | 54 | Number of distinct moves (e.g. "e4") regardless of position in game tree |
---|---|---|
Killer moves | 5 | A 'killer' move is selected by the AI more than 50% of the time Killers: Bug #2 eats,Bug #6 eats,Bug #15 eats,Bug #3 eats,Bug #13 eats |
Good moves | 27 | A good move is selected by the AI more than the average |
Bad moves | 26 | A bad move is selected by the AI less than the average |
Response distance | 2.79 | Mean distance between move and response; a low value relative to the board size may mean a game is tactical rather than strategic. |
Samples | 80242 | Quantity of logged games played |
A mean of 89.12% of board locations were used per game.
Colour and size show the frequency of visits.
Game length frequencies.
Mean | 51.82 |
---|---|
Mode | [51] |
Median | 52.0 |
This chart is based on a single representative* playout, and gives a feel for the change in material over the course of a game. (* Representative in the sense that it is close to the mean length.)
Table: branching factor per turn, based on a single representative* game. (* Representative in the sense that it is close to the mean game length.)
This chart is based on a single representative* game, and gives a feel for the types of moves available throughout that game. (* Representative in the sense that it is close to the mean game length.)
Red: removal, Black: move, Blue: Add, Grey: pass, Purple: swap sides, Brown: other.
This chart shows the best move value with respect to the active player; the orange line represents the value of doing nothing (null move).
The lead changed on 21% of the game turns. Ai Ai found 6 critical turns (turns with only one good option).
This chart shows the relative temperature of all moves each turn. Colour range: black (worst), red, orange(even), yellow, white(best).
Measure | All players | Player 1 | Player 2 |
---|---|---|---|
Mean % of effective moves | 42.85 | 47.62 | 38.45 |
Mean no. of effective moves | 4.54 | 4.92 | 4.19 |
Effective game space | 10^25.64 | 10^13.92 | 10^11.71 |
Mean % of good moves | 26.94 | 22.74 | 30.83 |
Mean no. of good moves | 2.69 | 2.56 | 2.81 |
Good move game space | 10^16.19 | 10^7.24 | 10^8.95 |
These figures were calculated over a single game.
An effective move is one with score 0.1 of the best move (including the best move). -1 (loss) <= score <= 1 (win)
A good move has a score > 0. Note that when there are no good moves, an multiplier of 1 is used for the game space calculation.
Measure | Value | Description |
---|---|---|
Hot turns | 84.62% | A hot turn is one where making a move is better than doing nothing. |
Momentum | 32.69% | % of turns where a player improved their score. |
Correction | 30.77% | % of turns where the score headed back towards equality. |
Depth | 6.67% | Difference in evaluation between a short and long search. |
Drama | 4.70% | How much the winner was behind before their final victory. |
Foulup Factor | 51.92% | Moves that looked better than the best move after a short search. |
Surprising turns | 1.92% | Turns that looked bad after a short search, but good after a long one. |
Last lead change | 80.77% | Distance through game when the lead changed for the last time. |
Decisiveness | 11.54% | Distance from the result being known to the end of the game. |
These figures were calculated over a single representative* game, and based on the measures of quality described in "Automatic Generation and Evaluation of Recombination Games" (Cameron Browne, 2007). (* Representative, in the sense that it is close to the mean game length.)
Colour shows the success ratio of this play over the first 10moves; black < red < yellow < white.
Size shows the frequency this move is played.
0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
1 | 37 | 1369 | 37069 | 960895 | 18663247 |
Note: most games do not take board rotation and reflection into consideration.
Multi-part turns could be treated as the same or different depth depending on the implementation.
Counts to depth N include all moves reachable at lower depths.
Zobrist hashes are not available for this game, so transpositions are included in the counts.
No solutions found to depth 5.
Puzzle | Solution |
---|---|
White to win in 18 moves | |
Black to win in 23 moves | |
Black to win in 16 moves | |
Black to win in 15 moves | |
White to win in 14 moves | |
Black to win in 19 moves | |
Black to win in 16 moves | |
Black to win in 12 moves | |
Black to win in 11 moves | |
White to win in 19 moves | |
Black to win in 14 moves | |
White to win in 12 moves | |
Black to win in 10 moves | |
Black to win in 9 moves | |
White to win in 11 moves | |
Black to win in 9 moves | |
Black to win in 17 moves | |
Black to win in 16 moves | |
Black to win in 11 moves | |
Black to win in 16 moves | |
White to win in 14 moves | |
White to win in 8 moves | |
Black to win in 11 moves | |
White to win in 10 moves | |
White to win in 11 moves | |
White to win in 14 moves | |
White to win in 13 moves | |
White to win in 7 moves | |
Black to win in 5 moves | |
Black to win in 6 moves | |
Black to win in 7 moves | |
Black to win in 8 moves | |
White to win in 5 moves | |
Black to win in 13 moves | |
White to win in 5 moves | |
Black to win in 10 moves | |
White to win in 6 moves |
Weak puzzle selection criteria are in place; the first move may not be unique.