Looks great! I love that you can segment it with different colors.
It’d be really cool if you could place on both sides and maybe have blue/pink available by default so you can create on both sides of the map like how it’s currently laid out. Sometimes you want to grab locations on the other side of the map.
Thanks, this is really usefull.
I agree with Ryan_Draves and also it would be great if the coordinates were given in the order, that I actually clicked on them. But otherwise great stuff.
Would be lovely if it was open source contrary to being obfuscated (“compiled” in this case)
Maybe it is just me who thinks so, but that would be my feedback.
I’ve been using this map maker recently, very useful.
One question though, is there a way to remove units on the board? I’ve tried using the ‘x’ option and it doesnt seem to work for me.
Oh no! I forgot to renew my domain which expired this week. I’ll get that up as soon as possible. In the meantime, you can still find the map maker at kevinbai.herokuapp.com/terminal-map-maker.
Uh-oh, @arnby is using a map maker. S4 is going to be brutal
Given your comment during the stream on being able run a minimum of 40k full simulations each turn (still in awe of that), was the genoracle series built by sim-ing “every” affordable combination of filter/destructor placement in the front 5 rows for defending predicted enemy spawns and sim-ing “every” affordable encryptor placement in the next 3 rows for maximizing your offensive units?
I’ve seen the occasional turn 1 placement of a basic defense, but I guess I’m asking if every other bit was decided based on extensive simulations, or did you introduce some kind of defensive or offensive bias in what it was building/attacking with?
(and don’t feel like you have to answer if it would give away any “secret sauce”, I’m asking mostly because I see genoracle has retired from the S4 leaderboard so I’m guessing you’re cooking up something new)
If I didn’t make a mistake, here is a function that compute the number of possibilities to place only filters and destructors on a given number of tile:
def getNPossibilities(n_tiles, n_cores):
n_possibilities = 0
for n_filter in range(0,n_cores + 1):
max_destructor = int((n_cores - n_filter) / 6)
for n_destructor in range(0,max_destructor + 1):
n_possibilities += binom(n_tiles,n_filter)
if(n_destructor):
n_possibilities += binom(n_tiles - n_filter,n_destructor)
return n_possibilities
And the result for 120 tiles (the first 5 rows) and 40 cores (first turn) is … 2.21103149893292e+32
So at the speed of 120k simulation for 6 seconds, it would take me only 3.5e+20 years to compute the turn 0 (piece of cake) (oh and I did not take into account the encryptors and not even the attack possibilities and not even the opponent actions)
So no, I don’t simulate every possible combinations.
Aside from the specifications of the row you got right, there is no bias for neither attack nor defense
I am going to try ML once again, but I don’t have a lot of time so no idea what I will achieve
Ok, so turn zero with 40 cores is certainly ridiculous. But your point is well made that even with a smaller amount of cores on some later turn, brute-forcing is a foolish goal.
I’ve only worked with “highly opinionated” simulations where coming up with over 500 “meaningful” variations to sim yields diminishing returns rather quickly, so seeing 80-200x that much done each turn just kinda blew my mind.