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
}
...