« first day (1521 days earlier)      last day (2440 days later) » 

12:09 AM
you guys are the worst
12:25 AM
Q: Red vs. Blue - Pixel Battlers [sandbox]

Calvin's HobbiesThis is a king-of-the-hill contest, but instead of everyone fighting against each other, there will be two teams that compete: Red and Blue. Only one will be the winner. The team you are on depends on your PPCG user id number. To find this number, click your avatar at the top of the screen (you ...

Odd, damn
The contest or your id? :P
What's the bet that the contest will end up with evil overload Red + many minions vs evil overload Blue + many minions, where each minion submission just uses messages to determine the next move? :P
heh, maybe. I guess the tactic would be to go after the overlord. Though I'm hoping it doesn't become a contest of which team can get the most people to answer.
I had considered making sure the teams were always the same size but I'm hoping that will kinda happen by itself.
12:40 AM
We'll see...
12:56 AM
@Calvin'sHobbies Shouldn't the colors be switched?
1:22 AM
@Calvin'sHobbies Want me to close the meta question so nobody can post more answers to it?
1:44 AM
@Doorknob Nah, I can disqualify players if I don't want them and some more answers might not hurt.
Can I try posting a minionbot? :D
@Sp3000 Go for it! It'll help me make sure the code works.
Hmm I don't think I'm JSing right :/
2:12 AM
Hmm works now
2:28 AM
Got you movin with me
Nice :P I find it a bit confusing though because I swear your code looks like your message is length 44
The join only makes 41 characters so there are 43 total and the 42 indexed one is the last.
looks up Array join
... I see
3:00 AM
That is an awesome challenge. I hope it works out. On that note--I have an even user id, if you have a need to round out the current teams.
3:21 AM
@BrainSteel Sure. Answer however you like.
4:04 AM
If there's anything specific yet to be tested, tell me. I'm a bit at a loss for what to answer with. I'll think about it.
I can put my x,y in my message and you can try and make a beeline for me :P
@BrainSteel just return 4 or something is fine. But you can make it fancier if you want.
I can edit it later If I want to test stuff
2 hours later…
5:49 AM
@Calvin'sHobbies I like how, despite you homing onto the enemy, half the time you end up suiciding
1 hour later…
6:59 AM
A: Sandbox for Proposed Challenges

Calvin's HobbiesRed vs. Blue - Pixel Battlers For the reasons mentioned here, I've posted this in its own meta question. I felt it should be added to the actual Sandbox for posterity.

3 hours later…
9:57 AM
Is there a 6-letter synonym for "destroy" or "erase"?
Of course, thanks.
10:45 AM
@Sp3000 There's something in chess called opposition which is a super-important part of Pixel Battlers.
Makes sense, I see TheBestOne's already implemented something for it
That's also why "standing still" can be really important: it's the only way to reverse who has the opposition. If all team members constantly moved, then the opposition that they randomly started with will determine the winner.
So not moving can actually be useful, interesting...
It is also nearly impossible to approach another pixel without suiciding.
All the opponent has to do is stand still. Once I come next to him, he moves and kills me.
11:02 AM
If two pixels cooperate, they can take down one non-moving enemy and "only" lose one pixel in the process. Not very economical, I suppose.
One on one, yes. Two on one it becomes possible to exchange. If the game's interesting, the interest probably lies in coordinating larger attacks where the opponent can't get the full exchange because one piece would be involved in more than one capture-back move in a turn.
Uh oh, Peter's on the other team. Odds are doomed.
I've never felt so lucky to have a 4-digit ID.
@PhiNotPi How can there be opposition without diagonal moves?
It's referring to the parity of the distance between us.
If a player and its opponent both move, parity is conserved.
11:14 AM
more to the point, how can there be opposition without the compulsion to move?
11:31 AM
Sounds like something to bring up with CH...
Okay, I'm back.
Basically, it is (in theory) impossible to kill another pixel. The only way to kill is to have the opposition, but the other player can always keep the opposition by not moving.
Which means things can get stalemated rather easily.
But, on the other hand, if players could stand still, then (unlike chess) there would be no way to change who has the opposition, and the team with the most opposition wins.
12:31 PM
A: Sandbox for Proposed Challenges

randomraBrainfuck subprograms with unique outputs code-challenge brainfuck You should write a 100-byte long brainfuck (BF) program. One character will removed from it in every possible way the resulting 100 new (99-byte long) programs. E.g. for the program ++.>. the 5 programs are +.>., +.>., ++>., +...

Can't find any other tag than and . Is appropriate?
Yikes, there's a sandbox for questions? Now I feel stupid.
12:45 PM
I wonder if 2D pattern matching will beat upvote showcase in terms of longest-time-spent-nearly-always-on-the-front-page
"Upvote showcase" has been on the front page for way too long.
hey, one last call about my sandboxed KoTH. I'm going to post it within the hour
A: Sandbox for Proposed Challenges

Nathan MerrillNetAttack KotH The internet has failed. DDoS attacks are now rampant and widespread. It is up to you to take control and repair the internet. Each bot will control 20 nodes in this network. Every node is either active or safe, has an owner, and has a strength, which starts at 2. Every active...

> The number passed is the rounded strength of the enemy node.
rounded is obsolete right?
@MartinBüttner Just implemented [pos|neg] char classes for Slip (and also broke a few other things along the way, oops). Maybe that sort of syntax might be better for Retina? e.g. [b-z|eiou] to mean [b-z] - [eiou]
I might make it so that [a|b|c] defaults to either [ab|] - [c] or [a] - [bc|], but I was lazy ([a^] doesn't even work yet)
1:02 PM
@Sp3000 That's a good idea, I may steal it for Grime as well (I already stole the backtick option syntax from Retina).
Heh. I made my flags command line without the - beforehand, which I think gives the same byte count
Also nice to see Grime updates :)
Slowly but surely...
@Sp3000 maybe, but I still don't intend to rewrite the regex engine ;)
You can just sub in (?![neg])[pos] :P
hm yeah, but I still have to parse the entire thing with nesting and comments and escapes to know where to substitute it
1:10 PM
Ah k...
maybe... some day... but for now I'd prefer to keep Retina lightweight and maintainable, and this 2-byte saving (which will cost you extra bytes whenever you want | in a character class) doesn't really warrant this kind of effort right now
:) k
I guess if you were really trying to make it golfy it'd be better to pull a feersum anyway :P
@Sp3000 btw you might want to accept the answer to "can submissions exit with an error?" on meta
Is +6 enough? I'm not sure how meta voting works
I don't know... I don't usually go by absolute numbers. it's been there for a while so I don't think it'll get many more votes, and the other two answers aren't really close contenders
1:13 PM
@randomra yes
concerning red vs blue, I think I know an ideal strategy.
however, I'd prefer for private rooms to be made
Are you odd or even?
1:17 PM
@NathanMerrill On chat you're odd, on the main site you're even.
@PhiNotPi You raise some good points about the red vs blue opposition thing.
I'm odd on chat too.
I'm willing to rethink the mechanics to make it less stalematey
yeah, you're right
ok. I'll just talk freely
1:18 PM
@NathanMerrill do you mean private chatrooms? there is no such thing on SE.
@Calvin'sHobbies Add horses.
I'm sure you meant to say "unicorns"
Like not allowing standing still (the move is random if there's an error or timeout). Or adding in diagonal moves. Or both.
And allow diagonal moves.
Horses for long range attack. Regular for short-range.
I think both is the best idea.
1:28 PM
I think I know of a good counter vs the stalemate:
you have two types of bots (or a bot with two states). One is a bait, the other a trap. The bait will move next to two enemy waiters, and when they both take the trap, you kill them both.
@MartinBüttner As in horses from chess.
I figured :P
unless the teams don't move synchronized
Just doing those two isn't that hard. I had thought about having different types of guys (eg maybe horses) but that seems to make it unnecessarily complex.
If only orthogonal moves are allowed (and moving is required) then there is no way to change the opposition, and the player that randomly starts with the opposition wins.
1:30 PM
@MartinBüttner and I did
@PhiNotPi even if horses are allowed, a stack of horse and pawnwould still end in stalemate
@PhiNotPi Right
bah, I quit. sorry for pings
How about battleship cannons which take two turns to fire but can shoot anywhere? :D [/terribleideas]
... I guess you can guarantee that you'll kill someone if you gang up with enough people, so that probably is a terrible idea...
There's another option of changing the game completely. Instead of killing each other the players leave a trail of their color on the grid (overwriting the color that was there) and the team with the most pixels filled at the end wins.
@PhiNotPi I disagree with this. In a 1v1 this is true. But if you require moving, then a round-em-up strategy might win
1:34 PM
@Calvin'sHobbies This?
@Sp3000 that's a bit different
I prefer the more violent variant.
a red color doesn't spawn new red bots
@Sp3000 More or less (though that not technically a koth).
Hmm k
1:36 PM
You could also have a trail of bounded length (5 pixels or something) that the opponents cannot step on.
furthermore, colors can be overwritten
@PhiNotPi Me too (if only cuz I'd need to change it less :P).
I'm a fan of grid-coloring. It supports working together (as multiple bots can group up and form a line to prevent overwriting)
True, it does seem more team-based..
With the octolinear + no-standing rules, the strategy would be to work in small groups to surround and kill an opponent.
1:42 PM
@PhiNotPi I think the best strategy would be to do it against the entire team (start in a corner/side), and surround them
@Zgarb Not sure what you mean (though I think I'll save the painting idea for another time since the battle thing is already underway)
Do you mean the trail behind the moving players?
New idea: a blockable knight move.
I remember seeing a good diagram of how blockable knight moves work, I'll try to find it.
Like in Xiangqi.
Ah, good old Xiangqi. But you wouldn't really go around blocking other people would you? You'd only block your own teammates
The diagram shows two horse pieces which would normally attack each other. One is blocked but the other is not.
The main idea is that of an "attack formation," something that allows you to attack the enemy without being attacked at the same time.
Maybe creating asymmetrical move patterns? A blue player can move diagonally top-left and bottom-right, a red player can move diagonally top-right and bottom-left?
Then, pixels that are standing still can be safely approached in the right diagonal direction.
Hmm, thats interesting
I like that idea
1:55 PM
@PhiNotPi I think that would require a different board shape
Although, it would create a "safe corner" on a regular square board.
a diagonal mover can never move onto half of the squares
@NathanMerrill Why? The can still move orthogonally
I'm assuming
oh, I misread
I was assuming they would still move orthogonally.
1:57 PM
I was thinking that one moved orthogonally and the other diagonally
@PhiNotPi you can use a toroidal board
It could be a torus
But then there might be endless chases
you don't even need toroidal, it could simply be spherical
@Calvin'sHobbies just typed that too :)
How about: all pixels can move in all diagonal directions, but red moves left and right, while blue moves up and down?
1:58 PM
I wouldn't really worry about the safe corner
(That would eliminate all safe squares)
I think the safe corner shouldn't be there if avoidable
it actually makes for interesting chases
If I am chasing a player up, they can only move diagonally up
My first idea (all orthogonal with asym diagonal) would need a circular board to prevent safe square. My second idea (all diagonal with asym orthogonal) will avoid safe squares, but a 1v1 battle can result in the two dancing around each other (so it could take two teammates to force a capture).
So, I think the second is more interesting, like for what Nathan said.
Red movement pattern:
Surely any 1x1 battle can result in stalemate if the moving abilities are symmetrical. But differences in implementations might make real stalematres rare.
2:09 PM
Blue movement pattern:
Yeah, I think all 1v1 battles are going to be stalemates anyways, regardless of movement pattern.
On the other hand, the 2 safe points could be the starting points of everyone on the team (instead of the current random). Kind of like a home base.
I like that even less. the safe points should be the starting points of the enemy team
And incidentally, what does Peter mean??
I don't know.
Hah, maybe. Now it's sounding like chinese checkers (e.g. get the most players to the safe point). Anyway, I kinda like having predefined starting points since things become a bit more deterministic. But Phi, I'm also happy with your second idea.
2:21 PM
We could have predefined starting points, even if we use the second idea.
we could absolutely make it deterministic
Right, I know, they're just not so "natural"
that would require only 1 run through
Nah, I want to keep the player move order random. I had a good reason for that but now I've forgotten...
it makes messaging interesting
regardless, with less randomness, you need fewer runthroughs
2:33 PM
Right now I'm working out attack formation strategies for both options.
if you do have predefined starting spots, they need to be corners, because walls favor a side
I'll probably update the spec and controller a little later today (I'm leaning towards the all diag w/ asym ortho option)
I finished a program for Joe Z.'s top front side puzzle. For 0xFFFFFFFFFFFF it takes forever :(
2:55 PM
Here's an all ortho asym diag attack formation:
The opponent can be forced into the "wrong" corner and killed.
An all diag asym ortho attack formation is simpler:
Where the two team members are basically a battering ram: move forward while maintaining alignment.
@Calvin'sHobbies I think that each person should control multiple copies of a bot, as making a formation with somebody else requires everybody to give up their "code spot" to do the formation
Here is a simpler all ortho asym diag fromation if your opponent happens to be in the correct spot (the "net" is smaller).
3:18 PM
@Calvin'sHobbies I mean that I don't understand why you want all answers to include #Team Color - User Name [user id]. The user name is already attached to the answer, and is a link which includes the user id, so there doesn't seem to be any information gain. And if you just want a quick way of seeing who's in which team, the stack snippet can do that.
I think the user id is overkill, but I like the color being there
Maybe it would be better to have teams picked by the answer id.
3:38 PM
@TheBestOne that could work, but would be difficult to have multiple types of bots that work together
It would also change the currently sandboxed answers when it goes to main ;)
Here's a question, would I be allowed to post a bot, delete, and the post it again?
3:55 PM
Would it be okay for two team members to submit two copies of the same bot?
4:41 PM
@MartinBüttner @Geobits Either of you around?
Yea, what's up?
geobits is down
@Geobits If you think I get into a lot of heated arguments here, check out the transcript on B&CG.
I had no doubts you were capable of it elsewhere ;)
I think it needs more italics.
I've been trying to bring the chat room to life because I feel that it gives a site some personality.
Doesn't appear to be working
In fact, I think I talk more about Magic with Martin alone than I do with anyone in that room, and Martin quit playing a long time ago.
4:51 PM
@PeterTaylor Ah, yeah it's redundant and I may change the format. I think it's nice to have the color but you won't be disqualified or anything for not formatting your post in that exact way.
@TheBestOne As long as only one answer per use is allowed then it wouldn't be any different (except I'd have to change a bunch of stuff). Allowing multiple answers per user is a big no-no since then they could just build their own army.
I've noticed some sites' chat is really really dead. That's why I like it here.
@NathanMerrill The snippet can't see deleted posts so that's fine. Though it'd be no different than just editing the answer already posted.
that was a response to an earlier comment about using post ids instead of player ids
@PhiNotPi I'm on the fence about that. It seems like a decent strategy but if nearly all of the answers were identical it would get rather boring. (I kinda wish there was a way to hide the red answers from the blue side and vice versa.)
@NathanMerrill Ah, gotchya
I think using player IDs is better because people would be aware of which team they are one before they submit a bot. This would also help since different teams might have different move possibilities.
Do the italics help?
5:01 PM
It looks like you're quoting someone
I'm quoting myself.
I could make the rule that answers may not be edited say 3 hours after being posted (and I could enforce that automatically in the snippet), and also that they couldn't be deleted and reposted (don't think I can do that automatically). Then everyone has to work together with what the existing team members do and there's no way to incrementally optimize.
I still think that there are going to be too few entries
especially if it is 1 bot per entry
Yeah, I was thinking more about multiple bots (no more than 4 per entry probably). It might help the overlord/minion problem I think Sp mentioned.
5:36 PM
@Rainbolt nice job in a B&CG chatroom ;)
@PeterTaylor I think including the team in the answer is useful for others because at some point the teams might be important context for the strategies. I agree with the user name and ID thing though. they are separate fields when you request the data from the SE API
@Calvin'sHobbies If you're doing that, you might want to place sight restrictions on the communication. At present, one reason for incremental changes would be to keep a list of teammate IDs so that you don't have to discover them in game.
@MartinBüttner, the stack snippet tells you what the teams are, so it's a very minor gain.
I meant, I'd like to see this bit of context when I'm reading the answer, without having to scroll to the stack snippet to check the team.
What is the policy with BrainFuck in the HNQ? is BrainF*ck acceptable?
there was a discussion on that
Q: Profanity in hot questions list

Adam DavisI don't participate enough in PCG to feel I should have a say in whether that community allows profanity in their question titles, and I'm not particularly interested in opening yet another, "Is the language “BrainF_ck” offensive?" question. However, the hot questions list appears on all the net...

5:42 PM
there's also this:
Q: Is the language "BrainF_ck" offensive?

user27414There are a couple of posts on SO where the BrainF_ck language is mentioned that have been flagged as offensive. Should these be edited to "BrainF_ck" (or something else), or left as is? Personally, I could go either way.

Still unclear but will go with BrainF*ck.
Or one could go with Bra*nfuck :D
I'm sure you could come up with a tricky regex which only matches Brainfuck.
@Geobits ... which perfectly demonstrates the true nature of beeps/asterisks - to hide profanity from robots, not from humans. — Jan Dvorak Aug 28 '14 at 13:20
5:59 PM
@aditsu Can ArrayList Character = automatically coerce the char to an int?
6:18 PM
^Definitely one of the most NSFW things I've said recently.
Looks like we should stop circumventing the profanity filter.
Q: Hiatus for Fortnightly Challenges

Martin BüttnerIt's currently not looking good for the fortnightly challenges. Of the last four challenges only one was actually posted. And the current one doesn't seem to be quite on track either. It seems that the back-to-back fortnightly challenges are causing some fatigue, especially since it's usually th...

6:56 PM
@PeterTaylor can Zgarb's challenge really be solved with simple cycle detection?
wouldn't that need some quite complicated constraints on the cycle?
The solution I'm writing is rather simple, not working yet though
am I missing something, or is his first example of a finite blueprint actually infinite?
yes indeed I am
ignore me
@MartinBüttner It can be solved using cycle detection with some additional checks. Nothing overly complicated, but there are some gotchas. There are other approaches, though, which may or may not be shorter.
The iffy .NET negative modulus is being a pain
7:21 PM
hurrah, seems to be working
@VisualMelon Are you programming in a language called ".NET"?
My apologies, Rainbolt, I have sinned
C# is the only language
I prefer D♭
But which one? 277.18Hz, 554.37Hz...?
hmm... passes all the test cases... except for infinte4, which it crashes on violently
I just love code-golf
bloomin' modulous!!!
7:34 PM
@Geobits I like a nice 138.59 Hz :P
Ah, that's quite old-fashioned for my taste. I like a more vibrant vintage.
@Rainbolt the definition of negative modulo might be part of the CLI though and not of C#
@MartinBüttner Well, it's slightly narrower than detecting a cycle. It has to be a cycle which includes an edge that crosses the torus boundaries.
Spotify is launching on Playstation Monday. Very nice.
@PeterTaylor that's not enough though
7:43 PM
Do you have a counterexample?
the 4th finite example
8:16 PM
@MartinBüttner Modulo is probably defined by CLS, so will be the same in VB.NET, etc.
I should probably know this
I just looked it up
C# apparently doesn't map % to the IL instruction rem(ainder)
rem is defined to return with the sign of the divisor, whereas C#'s % goes by the sign of the first operand
ok, so is that a C# thing, rather than a CLS thing?
wait, does VB.NET even have %
well it's gonna have some sort of modulo, but maybe as a function
indeed it does not, now I feel really stupid
wow, I have completely forgotten VB.NET
F# does it like C#
8:26 PM
as does VB.NET (-6 MOD 5 -> -1)
I guess the interesting question is something like IronRuby
(because Ruby gets it right)
9:15 PM
What does "gets it right" mean?
Some languages get it wrong?
"gets it right" in the same sense that people who use spaces instead of tabs for indentation "get it right"
i.e. I was making a joke
Dang. I was vaguely remembering that some languages do negative modulo differently, but my Google searches are still failing five minutes later. I was hoping you would jog my memory.
No, Ruby does get it right. x % p should only have p possible results, not 2p-1. The fact that many languages/environments give negative results for a mod is a legacy of round-towards-zero division which is probably a hangover from a PDP design decision or something of that ilk.
Java gives negative results, and I dislike that very much.
9:39 PM
@Rainbolt a lot of languages make the sign of a modulo operation dependent on the first operand. that's really annoying though because than means you want cyclically index into an array, you can't handle underflow with a simple modulo, because the result will still be negative.
instead the sign should depend on the sign of the second operand (as in Peter's example)
9:51 PM
ugh, looking at that new challenge, now I wish I had already patched case modifiers into Retina
2 hours later…
11:29 PM
I should really give F# golfing a go, hopefully it will be harder/not as good as C#, then I can sneer when people say F# is more expressive than C#
11:52 PM
am a self learner at home, part of cs61A and cs61B course to learn programming and would like to work in software start up companies. But I see that interviews walk around answering hackerrank questions to get into next round of interview. I could not interpret the questions comfortably on hacker rank, programming comes later... How do I improve on this?

« first day (1521 days earlier)      last day (2440 days later) »