Simplest Self-Play Environment Ever?

I wanna design a self-play capable environment that’s as simple as possible, where the outcome of agent actions are affected by the other agent(s)’s decisions, but is a control system environment rather than the usual discrete-time game, and preferably doesn’t need to use a physics engine.

My mind immediately jumped to Bennett Foddy’s Get On Top, a 2D wrestling game with only 3-button control(per player). As I was pondering how to make it even simpler by not needing a physics engine, I came up with the idea of 2 agents that each control one wheel of a differential drive robot. Each agent wants to bring the robot to its corresponding half of the arena, where it gains reward per timestep spent there by the robot’s center. I’d also like to make the edges wrap around like a torus, to give losing agents a fighting chance, while challenging the winner not to stray too far to its side. This might become an adjustable setting.

To make the environment playable the “normal” RL way, I might include a simple “kinesis AI” agent which moves forward or backward when in its opponent’s area, and stays put otherwise. A possible issue was the loss of one player’s agency when the robot sits in the middle of its opponent’s scoring area, when said opponent only needs to output a motor torque/speed of 0. To remedy this, I can set the wheelbase to be wider than the narrowest part of the scoring zone, so the “sit in place” strategy can easily be defeated.

An alternative version would be two agents that each control the horizontal or vertical thruster of a block, then try to move said block to its target quadrant.

No code or pictures for now, just wanna put the idea out there.

4-Party “Bad Eggs” Politics

After analyzing various two-party conflicts, I’ve come to notice that they tend not to be exactly “two-party”, but rather four, where each side’s bad eggs use each other as excuse for their own extremism. Meanwhile, the common folk on each side, or ones truly committed to their cause, got exploited by these bad eggs, yet kept treating them like allies, be it due to tribalism, reluctance to accept that what said eggs do actually hurt their cause, inability to tell them from legit allies, or other factors.

I consider the bad eggs to be separate parties from those sides they claim to be part of, since they tend to hurt the cause, while simultaneously feeding their “opponent” bad eggs.

That’s it, see ya

Once Upon a Time…

…Terdapat seorang pemuda yang sedang bete & gabut(mungkin sebenernya engga). Ditengah kegabutannya(yang mungkin semu) itu, doi melalui stalking serangkaian proses tertentu  menemukan blog karya seorang gadis yang sedang dikaguminya. Terinspirasi oleh semangat menulisnya, akhirnya lahirlah blog berisi catatan luapan ide ini. Judulnya pun terinspirasi dari blognya, yang merupakan penyampaian isi pikirannya agar menjadi readable(hint hint)…

…Dan setelah 3 tahun, akhirnya post pertama ini diterbitkan. Karena penulis ingin belajar menyampaikan gagasannya dalam bentuk tulisan.

Semoga bermanfaat.