
# Mario Maker 2 users
Part of the [Mario Maker 2 Dataset Collection](https://tgrcode.com/posts/mario_maker_2_datasets)

## Dataset Description
The Mario Maker 2 users dataset consists of 6 million users from Nintendo's online service totaling around 1.2GB of data. The dataset was created using the self-hosted [Mario Maker 2 api](https://tgrcode.com/posts/mario_maker_2_api) over the course of 1 month in February 2022.

### How to use it
The Mario Maker 2 users dataset is a very large dataset so for most use cases it is recommended to make use of the streaming API of `datasets`. You can load and iterate through the dataset with the following code:

```python
from datasets import load_dataset

ds = load_dataset("TheGreatRambler/mm2_user", streaming=True, split="train")
print(next(iter(ds)))

#OUTPUT:
{
 'pid': '14608829447232141607',
 'data_id': 1,
 'region': 0,
 'name': 'げんまい',
 'country': 'JP',
 'last_active': 1578384457,
 'mii_data': [some binary data],
 'mii_image': '000f165d6574777a7881949e9da1acc1cac7cacad3dad9e0eff2f9faf900430a151c25384258637084878e8b96a0b0',
 'pose': 0,
 'hat': 0,
 'shirt': 0,
 'pants': 0,
 'wearing_outfit': 0,
 'courses_played': 12,
 'courses_cleared': 10,
 'courses_attempted': 23,
 'courses_deaths': 13,
 'likes': 0,
 'maker_points': 0,
 'easy_highscore': 0,
 'normal_highscore': 0,
 'expert_highscore': 0,
 'super_expert_highscore': 0,
 'versus_rating': 0,
 'versus_rank': 1,
 'versus_won': 0,
 'versus_lost': 1,
 'versus_win_streak': 0,
 'versus_lose_streak': 1,
 'versus_plays': 1,
 'versus_disconnected': 0,
 'coop_clears': 1,
 'coop_plays': 1,
 'recent_performance': 1383,
 'versus_kills': 0,
 'versus_killed_by_others': 0,
 'multiplayer_unk13': 286,
 'multiplayer_unk14': 5999927,
 'first_clears': 0,
 'world_records': 0,
 'unique_super_world_clears': 0,
 'uploaded_levels': 0,
 'maximum_uploaded_levels': 100,
 'weekly_maker_points': 0,
 'last_uploaded_level': 1561555201,
 'is_nintendo_employee': 0,
 'comments_enabled': 1,
 'tags_enabled': 0,
 'super_world_id': '',
 'unk3': 0,
 'unk12': 0,
 'unk16': 0
}
```
Each row is a unique play in the level denoted by the `data_id` done by the player denoted by the `pid`, `pid` is a 64 bit integer stored within a string from database limitations. `cleared` and `liked` denote if the player successfully cleared the level during their play and/or liked the level during their play. Every level has only one unique play per player.

Each row is a unique user associated denoted by the `pid`. `data_id` is not used by Nintendo but, like levels, it counts up sequentially and can be used to determine account age. `mii_data` is a `charinfo` type Switch Mii. `mii_image` can be used with Nintendo's online studio API to generate images:

```python
from datasets import load_dataset

ds = load_dataset("TheGreatRambler/mm2_user", streaming=True, split="train")

mii_image = next(iter(ds))["mii_image"]
print("Face: https://studio.mii.nintendo.com/miis/image.png?data=%s&type=face&width=512&instanceCount=1" % mii_image)
print("Body: https://studio.mii.nintendo.com/miis/image.png?data=%s&type=all_body&width=512&instanceCount=1" % mii_image)
print("Face (x16): https://studio.mii.nintendo.com/miis/image.png?data=%s&type=face&width=512&instanceCount=16" % mii_image)
print("Body (x16): https://studio.mii.nintendo.com/miis/image.png?data=%s&type=all_body&width=512&instanceCount=16" % mii_image)
```

`pose`, `hat`, `shirt` and `pants` has associated enums described below. `last_active` and `last_uploaded_level` are UTC timestamps. `super_world_id`, if not empty, provides the ID of a super world in `TheGreatRambler/mm2_world`.

You can also download the full dataset. Note that this will download ~1.2GB:
```python
ds = load_dataset("TheGreatRambler/mm2_user", split="train")
```

## Data Structure

### Data Instances

```python
{
 'pid': '14608829447232141607',
 'data_id': 1,
 'region': 0,
 'name': 'げんまい',
 'country': 'JP',
 'last_active': 1578384457,
 'mii_data': [some binary data],
 'mii_image': '000f165d6574777a7881949e9da1acc1cac7cacad3dad9e0eff2f9faf900430a151c25384258637084878e8b96a0b0',
 'pose': 0,
 'hat': 0,
 'shirt': 0,
 'pants': 0,
 'wearing_outfit': 0,
 'courses_played': 12,
 'courses_cleared': 10,
 'courses_attempted': 23,
 'courses_deaths': 13,
 'likes': 0,
 'maker_points': 0,
 'easy_highscore': 0,
 'normal_highscore': 0,
 'expert_highscore': 0,
 'super_expert_highscore': 0,
 'versus_rating': 0,
 'versus_rank': 1,
 'versus_won': 0,
 'versus_lost': 1,
 'versus_win_streak': 0,
 'versus_lose_streak': 1,
 'versus_plays': 1,
 'versus_disconnected': 0,
 'coop_clears': 1,
 'coop_plays': 1,
 'recent_performance': 1383,
 'versus_kills': 0,
 'versus_killed_by_others': 0,
 'multiplayer_unk13': 286,
 'multiplayer_unk14': 5999927,
 'first_clears': 0,
 'world_records': 0,
 'unique_super_world_clears': 0,
 'uploaded_levels': 0,
 'maximum_uploaded_levels': 100,
 'weekly_maker_points': 0,
 'last_uploaded_level': 1561555201,
 'is_nintendo_employee': 0,
 'comments_enabled': 1,
 'tags_enabled': 0,
 'super_world_id': '',
 'unk3': 0,
 'unk12': 0,
 'unk16': 0
}
```

### Data Fields

|Field|Type|Description|
|---|---|---|
|pid|string|The player ID of this user, an unsigned 64 bit integer as a string|
|data_id|int|The data ID of this user, while not used internally user codes are generated using this|
|region|int|User region, enum below|
|name|string|User name|
|country|string|User country as a 2 letter ALPHA-2 code|
|last_active|int|UTC timestamp of when this user was last active, not known what constitutes active|
|mii_data|bytes|The CHARINFO blob of this user's Mii|
|mii_image|string|A string that can be fed into Nintendo's studio API to generate an image|
|pose|int|Pose, enum below|
|hat|int|Hat, enum below|
|shirt|int|Shirt, enum below|
|pants|int|Pants, enum below|
|wearing_outfit|bool|Whether this user is wearing pants|
|courses_played|int|How many courses this user has played|
|courses_cleared|int|How many courses this user has cleared|
|courses_attempted|int|How many courses this user has attempted|
|courses_deaths|int|How many times this user has died|
|likes|int|How many likes this user has recieved|
|maker_points|int|Maker points|
|easy_highscore|int|Easy highscore|
|normal_highscore|int|Normal highscore|
|expert_highscore|int|Expert highscore|
|super_expert_highscore|int|Super expert high score|
|versus_rating|int|Versus rating|
|versus_rank|int|Versus rank, enum below|
|versus_won|int|How many courses this user has won in versus|
|versus_lost|int|How many courses this user has lost in versus|
|versus_win_streak|int|Versus win streak|
|versus_lose_streak|int|Versus lose streak|
|versus_plays|int|Versus plays|
|versus_disconnected|int|Times user has disconnected in versus|
|coop_clears|int|Coop clears|
|coop_plays|int|Coop plays|
|recent_performance|int|Unknown variable relating to versus performance|
|versus_kills|int|Kills in versus, unknown what activities constitute a kill|
|versus_killed_by_others|int|Deaths in versus from other users, little is known about what activities constitute a death|
|multiplayer_unk13|int|Unknown, relating to multiplayer|
|multiplayer_unk14|int|Unknown, relating to multiplayer|
|first_clears|int|First clears|
|world_records|int|World records|
|unique_super_world_clears|int|Super world clears|
|uploaded_levels|int|Number of uploaded levels|
|maximum_uploaded_levels|int|Maximum number of levels this user may upload|
|weekly_maker_points|int|Weekly maker points|
|last_uploaded_level|int|UTC timestamp of when this user last uploaded a level|
|is_nintendo_employee|bool|Whether this user is an official Nintendo account|
|comments_enabled|bool|Whether this user has comments enabled on their levels|
|tags_enabled|bool|Whether this user has tags enabled on their levels|
|super_world_id|string|The ID of this user's super world, blank if they do not have one|
|unk3|int|Unknown|
|unk12|int|Unknown|
|unk16|int|Unknown|

### Data Splits

The dataset only contains a train split.

## Enums

The dataset contains some enum integer fields. This can be used to convert back to their string equivalents:

```python
Regions = {
	0: "Asia",
	1: "Americas",
	2: "Europe",
	3: "Other"
}

MultiplayerVersusRanks = {
	1: "D",
	2: "C",
	3: "B",
	4: "A",
	5: "S",
	6: "S+"
}

UserPose = {
	0: "Normal",
	15: "Fidgety",
	17: "Annoyed",
	18: "Buoyant",
	19: "Thrilled",
	20: "Let's go!",
	21: "Hello!",
	29: "Show-Off",
	31: "Cutesy",
	39: "Hyped!"
}

UserHat = {
	0: "None",
	1: "Mario Cap",
	2: "Luigi Cap",
	4: "Mushroom Hairclip",
	5: "Bowser Headpiece",
	8: "Princess Peach Wig",
	11: "Builder Hard Hat",
	12: "Bowser Jr. Headpiece",
	13: "Pipe Hat",
	15: "Cat Mario Headgear",
	16: "Propeller Mario Helmet",
	17: "Cheep Cheep Hat",
	18: "Yoshi Hat",
	21: "Faceplant",
	22: "Toad Cap",
	23: "Shy Cap",
	24: "Magikoopa Hat",
	25: "Fancy Top Hat",
	26: "Doctor Headgear",
	27: "Rocky Wrench Manhold Lid",
	28: "Super Star Barrette",
	29: "Rosalina Wig",
	30: "Fried-Chicken Headgear",
	31: "Royal Crown",
	32: "Edamame Barrette",
	33: "Superball Mario Hat",
	34: "Robot Cap",
	35: "Frog Cap",
	36: "Cheetah Headgear",
	37: "Ninji Cap",
	38: "Super Acorn Hat",
	39: "Pokey Hat",
	40: "Snow Pokey Hat"
}

UserShirt = {
	0: "Nintendo Shirt",
	1: "Mario Outfit",
	2: "Luigi Outfit",
	3: "Super Mushroom Shirt",
	5: "Blockstripe Shirt",
	8: "Bowser Suit",
	12: "Builder Mario Outfit",
	13: "Princess Peach Dress",
	16: "Nintendo Uniform",
	17: "Fireworks Shirt",
	19: "Refreshing Shirt",
	21: "Reset Dress",
	22: "Thwomp Suit",
	23: "Slobbery Shirt",
	26: "Cat Suit",
	27: "Propeller Mario Clothes",
	28: "Banzai Bill Shirt",
	29: "Staredown Shirt",
	31: "Yoshi Suit",
	33: "Midnight Dress",
	34: "Magikoopa Robes",
	35: "Doctor Coat",
	37: "Chomp-Dog Shirt",
	38: "Fish Bone Shirt",
	40: "Toad Outfit",
	41: "Googoo Onesie",
	42: "Matrimony Dress",
	43: "Fancy Tuxedo",
	44: "Koopa Troopa Suit",
	45: "Laughing Shirt",
	46: "Running Shirt",
	47: "Rosalina Dress",
	49: "Angry Sun Shirt",
	50: "Fried-Chicken Hoodie",
	51: "? Block Hoodie",
	52: "Edamame Camisole",
	53: "I-Like-You Camisole",
	54: "White Tanktop",
	55: "Hot Hot Shirt",
	56: "Royal Attire",
	57: "Superball Mario Suit",
	59: "Partrick Shirt",
	60: "Robot Suit",
	61: "Superb Suit",
	62: "Yamamura Shirt",
	63: "Princess Peach Tennis Outfit",
	64: "1-Up Hoodie",
	65: "Cheetah Tanktop",
	66: "Cheetah Suit",
	67: "Ninji Shirt",
	68: "Ninji Garb",
	69: "Dash Block Hoodie",
	70: "Fire Mario Shirt",
	71: "Raccoon Mario Shirt",
	72: "Cape Mario Shirt",
	73: "Flying Squirrel Mario Shirt",
	74: "Cat Mario Shirt",
	75: "World Wear",
	76: "Koopaling Hawaiian Shirt",
	77: "Frog Mario Raincoat",
	78: "Phanto Hoodie"
}

UserPants = {
	0: "Black Short-Shorts",
	1: "Denim Jeans",
	5: "Denim Skirt",
	8: "Pipe Skirt",
	9: "Skull Skirt",
	10: "Burner Skirt",
	11: "Cloudwalker",
	12: "Platform Skirt",
	13: "Parent-and-Child Skirt",
	17: "Mario Swim Trunks",
	22: "Wind-Up Shoe",
	23: "Hoverclown",
	24: "Big-Spender Shorts",
	25: "Shorts of Doom!",
	26: "Doorduroys",
	27: "Antsy Corduroys",
	28: "Bouncy Skirt",
	29: "Stingby Skirt",
	31: "Super Star Flares",
	32: "Cheetah Runners",
	33: "Ninji Slacks"
}

# Checked against user's shirt
UserIsOutfit = {
	0: False,
	1: True,
	2: True,
	3: False,
	5: False,
	8: True,
	12: True,
	13: True,
	16: False,
	17: False,
	19: False,
	21: True,
	22: True,
	23: False,
	26: True,
	27: True,
	28: False,
	29: False,
	31: True,
	33: True,
	34: True,
	35: True,
	37: False,
	38: False,
	40: True,
	41: True,
	42: True,
	43: True,
	44: True,
	45: False,
	46: False,
	47: True,
	49: False,
	50: False,
	51: False,
	52: False,
	53: False,
	54: False,
	55: False,
	56: True,
	57: True,
	59: False,
	60: True,
	61: True,
	62: False,
	63: True,
	64: False,
	65: False,
	66: True,
	67: False,
	68: True,
	69: False,
	70: False,
	71: False,
	72: False,
	73: False,
	74: False,
	75: True,
	76: False,
	77: True,
	78: False
}
```

<!-- TODO create detailed statistics -->

## Dataset Creation

The dataset was created over a little more than a month in Febuary 2022 using the self hosted [Mario Maker 2 api](https://tgrcode.com/posts/mario_maker_2_api). As requests made to Nintendo's servers require authentication the process had to be done with upmost care and limiting download speed as to not overload the API and risk a ban. There are no intentions to create an updated release of this dataset.

## Considerations for Using the Data

The dataset consists of many different Mario Maker 2 players globally and as such their names could contain harmful language. Harmful depictions could also be present in their Miis, should you choose to render it.

task_categories:other task_categories:object-detection task_categories:text-retrieval task_categories:token-classification task_categories:text-generation multilinguality:multilingual size_categories:1M<n<10M source_datasets:original language:multilingual license:cc-by-nc-sa-4.0 text-mining region:us
{"language": ["multilingual"], "license": ["cc-by-nc-sa-4.0"], "multilinguality": ["multilingual"], "size_categories": ["1M<n<10M"], "source_datasets": ["original"], "task_categories": ["other", "object-detection", "text-retrieval", "token-classification", "text-generation"], "task_ids": [], "pretty_name": "Mario Maker 2 users", "tags": ["text-mining"]}
TAGS
#task_categories-other #task_categories-object-detection #task_categories-text-retrieval #task_categories-token-classification #task_categories-text-generation #multilinguality-multilingual #size_categories-1M<n<10M #source_datasets-original #language-multilingual #license-cc-by-nc-sa-4.0 #text-mining #region-us 

Mario Maker 2 users
===================


Part of the Mario Maker 2 Dataset Collection


Dataset Description
-------------------


The Mario Maker 2 users dataset consists of 6 million users from Nintendo's online service totaling around 1.2GB of data. The dataset was created using the self-hosted Mario Maker 2 api over the course of 1 month in February 2022.


### How to use it


The Mario Maker 2 users dataset is a very large dataset so for most use cases it is recommended to make use of the streaming API of 'datasets'. You can load and iterate through the dataset with the following code:


Each row is a unique play in the level denoted by the 'data\_id' done by the player denoted by the 'pid', 'pid' is a 64 bit integer stored within a string from database limitations. 'cleared' and 'liked' denote if the player successfully cleared the level during their play and/or liked the level during their play. Every level has only one unique play per player.


Each row is a unique user associated denoted by the 'pid'. 'data\_id' is not used by Nintendo but, like levels, it counts up sequentially and can be used to determine account age. 'mii\_data' is a 'charinfo' type Switch Mii. 'mii\_image' can be used with Nintendo's online studio API to generate images:


'pose', 'hat', 'shirt' and 'pants' has associated enums described below. 'last\_active' and 'last\_uploaded\_level' are UTC timestamps. 'super\_world\_id', if not empty, provides the ID of a super world in 'TheGreatRambler/mm2\_world'.


You can also download the full dataset. Note that this will download ~1.2GB:


Data Structure
--------------


### Data Instances


### Data Fields


Field: pid, Type: string, Description: The player ID of this user, an unsigned 64 bit integer as a string
Field: data\_id, Type: int, Description: The data ID of this user, while not used internally user codes are generated using this
Field: region, Type: int, Description: User region, enum below
Field: name, Type: string, Description: User name
Field: country, Type: string, Description: User country as a 2 letter ALPHA-2 code
Field: last\_active, Type: int, Description: UTC timestamp of when this user was last active, not known what constitutes active
Field: mii\_data, Type: bytes, Description: The CHARINFO blob of this user's Mii
Field: mii\_image, Type: string, Description: A string that can be fed into Nintendo's studio API to generate an image
Field: pose, Type: int, Description: Pose, enum below
Field: hat, Type: int, Description: Hat, enum below
Field: shirt, Type: int, Description: Shirt, enum below
Field: pants, Type: int, Description: Pants, enum below
Field: wearing\_outfit, Type: bool, Description: Whether this user is wearing pants
Field: courses\_played, Type: int, Description: How many courses this user has played
Field: courses\_cleared, Type: int, Description: How many courses this user has cleared
Field: courses\_attempted, Type: int, Description: How many courses this user has attempted
Field: courses\_deaths, Type: int, Description: How many times this user has died
Field: likes, Type: int, Description: How many likes this user has recieved
Field: maker\_points, Type: int, Description: Maker points
Field: easy\_highscore, Type: int, Description: Easy highscore
Field: normal\_highscore, Type: int, Description: Normal highscore
Field: expert\_highscore, Type: int, Description: Expert highscore
Field: super\_expert\_highscore, Type: int, Description: Super expert high score
Field: versus\_rating, Type: int, Description: Versus rating
Field: versus\_rank, Type: int, Description: Versus rank, enum below
Field: versus\_won, Type: int, Description: How many courses this user has won in versus
Field: versus\_lost, Type: int, Description: How many courses this user has lost in versus
Field: versus\_win\_streak, Type: int, Description: Versus win streak
Field: versus\_lose\_streak, Type: int, Description: Versus lose streak
Field: versus\_plays, Type: int, Description: Versus plays
Field: versus\_disconnected, Type: int, Description: Times user has disconnected in versus
Field: coop\_clears, Type: int, Description: Coop clears
Field: coop\_plays, Type: int, Description: Coop plays
Field: recent\_performance, Type: int, Description: Unknown variable relating to versus performance
Field: versus\_kills, Type: int, Description: Kills in versus, unknown what activities constitute a kill
Field: versus\_killed\_by\_others, Type: int, Description: Deaths in versus from other users, little is known about what activities constitute a death
Field: multiplayer\_unk13, Type: int, Description: Unknown, relating to multiplayer
Field: multiplayer\_unk14, Type: int, Description: Unknown, relating to multiplayer
Field: first\_clears, Type: int, Description: First clears
Field: world\_records, Type: int, Description: World records
Field: unique\_super\_world\_clears, Type: int, Description: Super world clears
Field: uploaded\_levels, Type: int, Description: Number of uploaded levels
Field: maximum\_uploaded\_levels, Type: int, Description: Maximum number of levels this user may upload
Field: weekly\_maker\_points, Type: int, Description: Weekly maker points
Field: last\_uploaded\_level, Type: int, Description: UTC timestamp of when this user last uploaded a level
Field: is\_nintendo\_employee, Type: bool, Description: Whether this user is an official Nintendo account
Field: comments\_enabled, Type: bool, Description: Whether this user has comments enabled on their levels
Field: tags\_enabled, Type: bool, Description: Whether this user has tags enabled on their levels
Field: super\_world\_id, Type: string, Description: The ID of this user's super world, blank if they do not have one
Field: unk3, Type: int, Description: Unknown
Field: unk12, Type: int, Description: Unknown
Field: unk16, Type: int, Description: Unknown


### Data Splits


The dataset only contains a train split.


Enums
-----


The dataset contains some enum integer fields. This can be used to convert back to their string equivalents:


Dataset Creation
----------------


The dataset was created over a little more than a month in Febuary 2022 using the self hosted Mario Maker 2 api. As requests made to Nintendo's servers require authentication the process had to be done with upmost care and limiting download speed as to not overload the API and risk a ban. There are no intentions to create an updated release of this dataset.


Considerations for Using the Data
---------------------------------


The dataset consists of many different Mario Maker 2 players globally and as such their names could contain harmful language. Harmful depictions could also be present in their Miis, should you choose to render it.



### How to use it


The Mario Maker 2 users dataset is a very large dataset so for most use cases it is recommended to make use of the streaming API of 'datasets'. You can load and iterate through the dataset with the following code:


Each row is a unique play in the level denoted by the 'data\_id' done by the player denoted by the 'pid', 'pid' is a 64 bit integer stored within a string from database limitations. 'cleared' and 'liked' denote if the player successfully cleared the level during their play and/or liked the level during their play. Every level has only one unique play per player.


Each row is a unique user associated denoted by the 'pid'. 'data\_id' is not used by Nintendo but, like levels, it counts up sequentially and can be used to determine account age. 'mii\_data' is a 'charinfo' type Switch Mii. 'mii\_image' can be used with Nintendo's online studio API to generate images:


'pose', 'hat', 'shirt' and 'pants' has associated enums described below. 'last\_active' and 'last\_uploaded\_level' are UTC timestamps. 'super\_world\_id', if not empty, provides the ID of a super world in 'TheGreatRambler/mm2\_world'.


You can also download the full dataset. Note that this will download ~1.2GB:


Data Structure
-------------- ### Data Instances ### Data Fields


Field: pid, Type: string, Description: The player ID of this user, an unsigned 64 bit integer as a string
Field: data\_id, Type: int, Description: The data ID of this user, while not used internally user codes are generated using this
Field: region, Type: int, Description: User region, enum below
Field: name, Type: string, Description: User name
Field: country, Type: string, Description: User country as a 2 letter ALPHA-2 code
Field: last\_active, Type: int, Description: UTC timestamp of when this user was last active, not known what constitutes active
Field: mii\_data, Type: bytes, Description: The CHARINFO blob of this user's Mii
Field: mii\_image, Type: string, Description: A string that can be fed into Nintendo's studio API to generate an image
Field: pose, Type: int, Description: Pose, enum below
Field: hat, Type: int, Description: Hat, enum below
Field: shirt, Type: int, Description: Shirt, enum below
Field: pants, Type: int, Description: Pants, enum below
Field: wearing\_outfit, Type: bool, Description: Whether this user is wearing pants
Field: courses\_played, Type: int, Description: How many courses this user has played
Field: courses\_cleared, Type: int, Description: How many courses this user has cleared
Field: courses\_attempted, Type: int, Description: How many courses this user has attempted
Field: courses\_deaths, Type: int, Description: How many times this user has died
Field: likes, Type: int, Description: How many likes this user has recieved
Field: maker\_points, Type: int, Description: Maker points
Field: easy\_highscore, Type: int, Description: Easy highscore
Field: normal\_highscore, Type: int, Description: Normal highscore
Field: expert\_highscore, Type: int, Description: Expert highscore
Field: super\_expert\_highscore, Type: int, Description: Super expert high score
Field: versus\_rating, Type: int, Description: Versus rating
Field: versus\_rank, Type: int, Description: Versus rank, enum below
Field: versus\_won, Type: int, Description: How many courses this user has won in versus
Field: versus\_lost, Type: int, Description: How many courses this user has lost in versus
Field: versus\_win\_streak, Type: int, Description: Versus win streak
Field: versus\_lose\_streak, Type: int, Description: Versus lose streak
Field: versus\_plays, Type: int, Description: Versus plays
Field: versus\_disconnected, Type: int, Description: Times user has disconnected in versus
Field: coop\_clears, Type: int, Description: Coop clears
Field: coop\_plays, Type: int, Description: Coop plays
Field: recent\_performance, Type: int, Description: Unknown variable relating to versus performance
Field: versus\_kills, Type: int, Description: Kills in versus, unknown what activities constitute a kill
Field: versus\_killed\_by\_others, Type: int, Description: Deaths in versus from other users, little is known about what activities constitute a death
Field: multiplayer\_unk13, Type: int, Description: Unknown, relating to multiplayer
Field: multiplayer\_unk14, Type: int, Description: Unknown, relating to multiplayer
Field: first\_clears, Type: int, Description: First clears
Field: world\_records, Type: int, Description: World records
Field: unique\_super\_world\_clears, Type: int, Description: Super world clears
Field: uploaded\_levels, Type: int, Description: Number of uploaded levels
Field: maximum\_uploaded\_levels, Type: int, Description: Maximum number of levels this user may upload
Field: weekly\_maker\_points, Type: int, Description: Weekly maker points
Field: last\_uploaded\_level, Type: int, Description: UTC timestamp of when this user last uploaded a level
Field: is\_nintendo\_employee, Type: bool, Description: Whether this user is an official Nintendo account
Field: comments\_enabled, Type: bool, Description: Whether this user has comments enabled on their levels
Field: tags\_enabled, Type: bool, Description: Whether this user has tags enabled on their levels
Field: super\_world\_id, Type: string, Description: The ID of this user's super world, blank if they do not have one
Field: unk3, Type: int, Description: Unknown
Field: unk12, Type: int, Description: Unknown
Field: unk16, Type: int, Description: Unknown ### Data Splits


The dataset only contains a train split.


Enums
-----


The dataset contains some enum integer fields. This can be used to convert back to their string equivalents:


Dataset Creation
----------------


The dataset was created over a little more than a month in Febuary 2022 using the self hosted Mario Maker 2 api. As requests made to Nintendo's servers require authentication the process had to be done with upmost care and limiting download speed as to not overload the API and risk a ban. There are no intentions to create an updated release of this dataset.


Considerations for Using the Data
---------------------------------


The dataset consists of many different Mario Maker 2 players globally and as such their names could contain harmful language. Harmful depictions could also be present in their Miis, should you choose to render it.
TAGS
#task_categories-other #task_categories-object-detection #task_categories-text-retrieval #task_categories-token-classification #task_categories-text-generation #multilinguality-multilingual #size_categories-1M<n<10M #source_datasets-original #language-multilingual #license-cc-by-nc-sa-4.0 #text-mining #region-us 
 ### How to use it


The Mario Maker 2 users dataset is a very large dataset so for most use cases it is recommended to make use of the streaming API of 'datasets'. You can load and iterate through the dataset with the following code:


Each row is a unique play in the level denoted by the 'data\_id' done by the player denoted by the 'pid', 'pid' is a 64 bit integer stored within a string from database limitations. 'cleared' and 'liked' denote if the player successfully cleared the level during their play and/or liked the level during their play. Every level has only one unique play per player.


Each row is a unique user associated denoted by the 'pid'. 'data\_id' is not used by Nintendo but, like levels, it counts up sequentially and can be used to determine account age. 'mii\_data' is a 'charinfo' type Switch Mii. 'mii\_image' can be used with Nintendo's online studio API to generate images:


'pose', 'hat', 'shirt' and 'pants' has associated enums described below. 'last\_active' and 'last\_uploaded\_level' are UTC timestamps. 'super\_world\_id', if not empty, provides the ID of a super world in 'TheGreatRambler/mm2\_world'.


You can also download the full dataset. Note that this will download ~1.2GB:


Data Structure
-------------- ### Data Instances ### Data Fields


Field: pid, Type: string, Description: The player ID of this user, an unsigned 64 bit integer as a string
Field: data\_id, Type: int, Description: The data ID of this user, while not used internally user codes are generated using this
Field: region, Type: int, Description: User region, enum below
Field: name, Type: string, Description: User name
Field: country, Type: string, Description: User country as a 2 letter ALPHA-2 code
Field: last\_active, Type: int, Description: UTC timestamp of when this user was last active, not known what constitutes active
Field: mii\_data, Type: bytes, Description: The CHARINFO blob of this user's Mii
Field: mii\_image, Type: string, Description: A string that can be fed into Nintendo's studio API to generate an image
Field: pose, Type: int, Description: Pose, enum below
Field: hat, Type: int, Description: Hat, enum below
Field: shirt, Type: int, Description: Shirt, enum below
Field: pants, Type: int, Description: Pants, enum below
Field: wearing\_outfit, Type: bool, Description: Whether this user is wearing pants
Field: courses\_played, Type: int, Description: How many courses this user has played
Field: courses\_cleared, Type: int, Description: How many courses this user has cleared
Field: courses\_attempted, Type: int, Description: How many courses this user has attempted
Field: courses\_deaths, Type: int, Description: How many times this user has died
Field: likes, Type: int, Description: How many likes this user has recieved
Field: maker\_points, Type: int, Description: Maker points
Field: easy\_highscore, Type: int, Description: Easy highscore
Field: normal\_highscore, Type: int, Description: Normal highscore
Field: expert\_highscore, Type: int, Description: Expert highscore
Field: super\_expert\_highscore, Type: int, Description: Super expert high score
Field: versus\_rating, Type: int, Description: Versus rating
Field: versus\_rank, Type: int, Description: Versus rank, enum below
Field: versus\_won, Type: int, Description: How many courses this user has won in versus
Field: versus\_lost, Type: int, Description: How many courses this user has lost in versus
Field: versus\_win\_streak, Type: int, Description: Versus win streak
Field: versus\_lose\_streak, Type: int, Description: Versus lose streak
Field: versus\_plays, Type: int, Description: Versus plays
Field: versus\_disconnected, Type: int, Description: Times user has disconnected in versus
Field: coop\_clears, Type: int, Description: Coop clears
Field: coop\_plays, Type: int, Description: Coop plays
Field: recent\_performance, Type: int, Description: Unknown variable relating to versus performance
Field: versus\_kills, Type: int, Description: Kills in versus, unknown what activities constitute a kill
Field: versus\_killed\_by\_others, Type: int, Description: Deaths in versus from other users, little is known about what activities constitute a death
Field: multiplayer\_unk13, Type: int, Description: Unknown, relating to multiplayer
Field: multiplayer\_unk14, Type: int, Description: Unknown, relating to multiplayer
Field: first\_clears, Type: int, Description: First clears
Field: world\_records, Type: int, Description: World records
Field: unique\_super\_world\_clears, Type: int, Description: Super world clears
Field: uploaded\_levels, Type: int, Description: Number of uploaded levels
Field: maximum\_uploaded\_levels, Type: int, Description: Maximum number of levels this user may upload
Field: weekly\_maker\_points, Type: int, Description: Weekly maker points
Field: last\_uploaded\_level, Type: int, Description: UTC timestamp of when this user last uploaded a level
Field: is\_nintendo\_employee, Type: bool, Description: Whether this user is an official Nintendo account
Field: comments\_enabled, Type: bool, Description: Whether this user has comments enabled on their levels
Field: tags\_enabled, Type: bool, Description: Whether this user has tags enabled on their levels
Field: super\_world\_id, Type: string, Description: The ID of this user's super world, blank if they do not have one
Field: unk3, Type: int, Description: Unknown
Field: unk12, Type: int, Description: Unknown
Field: unk16, Type: int, Description: Unknown ### Data Splits


The dataset only contains a train split.


Enums
-----


The dataset contains some enum integer fields. This can be used to convert back to their string equivalents:


Dataset Creation
----------------


The dataset was created over a little more than a month in Febuary 2022 using the self hosted Mario Maker 2 api. As requests made to Nintendo's servers require authentication the process had to be done with upmost care and limiting download speed as to not overload the API and risk a ban. There are no intentions to create an updated release of this dataset.


Considerations for Using the Data
---------------------------------


The dataset consists of many different Mario Maker 2 players globally and as such their names could contain harmful language. Harmful depictions could also be present in their Miis, should you choose to render it.