Pepesumo
Overview
Pepesumo is a game where the goal is to be the last one standing within shrinking ring. Inspired by Japanese Robot Sumo, and the Battle Royale format, this game aims to condense the competition to a relatively short period of time.
Each game tick each player sends in a thrust amount and torque (rotation) amount to apply to their robot. The game synchronizes all players inputs, applies the forces and updates one tick of the simulation. Each tick the robots are checked are out of bounds and are deactivated.
Rules
rule | value |
---|
League Id | PEPESUMO20FFA |
Maximum number of ticks | 1500 ticks |
Number of opponents | 20-100 |
Maximum tick wait time | 200ms |
Player size | 1 Unit x 1 Unit |
Starting ring size | 60 Units |
Ticks between ring center change | 300 Ticks |
Precision | 3 Decimal Places |
Game State
Game State
Property | Type | Description |
---|
players | Player[] | Array of all players in game |
ring | Ring | Safe Ring |
me | integer | index in players array that represent which one is you |
{
"players": [
{
"pos": {
"x": 1.234,
"y": 1.234
},
"rot": 1.234,
"alive": true
},
{
"pos": {
"x": 1.234,
"y": 1.234
},
"rot": 1.234,
"alive": true
},
{
"pos": {
"x": 1.234,
"y": 1.234
},
"rot": 1.234,
"alive": true
}
],
"ring": {
"pos": {
"x": 1.234,
"y": 1.234
},
"radius": 1.234
},
"me": 0
}
Player
Property | Type | Description |
---|
pos | Position | Position of the player |
rot | float | Rotation of the player in radians counter clockwise starting in the positive X-Axis direction with 2 digits of precision |
alive | boolean | Whether the player is still alive |
{
"pos": {
"x": 1.234,
"y": 1.234
},
"rot": 1.234,
"alive": true
}
Ring
Property | Type | Description |
---|
pos | Position | Position of the safe ring |
radius | boolean | Radius of the safe ring |
{
"pos": {
"x": 1.234,
"y": 1.234
},
"radius": 1.234
}
Position
Property | Type | Description |
---|
x | float | Coordinate value on X-axis with 2 digits of precision |
y | float | Coordinate value on Y-axis with 2 digits of precision |
{
"x": 1.234,
"y": 1.234
}
Action
Property | Type | Description |
---|
thrust | float | amount of thrust. Between 0 and 1 |
torque | float | amount of torque. Between -1 nad 1 |
{
"thrust": 0,
"torque": 0
}
...