{
"path": "/news/layers-of-complexity",
"site": "at://did:plc:kwgllf365cwmxbnxitx4pjdj/site.standard.publication/self",
"tags": [
"update",
"generator",
"items"
],
"$type": "site.standard.document",
"title": "Layers of Complexity",
"images": [
{
"$type": "blob",
"ref": {
"$link": "bafkreibdpsyp3xn77lpay3reihe4e4hurhh6uizlhxszu2fuhsvmg3nqcu"
},
"mimeType": "image/png",
"size": 84205
},
{
"$type": "blob",
"ref": {
"$link": "bafkreic7biejbjrjrusrxyj3u5swajwr7j35ts3lo6qjqygmlhxo7azuym"
},
"mimeType": "image/png",
"size": 29654
},
{
"$type": "blob",
"ref": {
"$link": "bafkreiakh6nhdg7psrvtfvg6e7k4nx7fi2h5vcap57rogww2hxk6vmpq2i"
},
"mimeType": "image/png",
"size": 87208
},
{
"$type": "blob",
"ref": {
"$link": "bafkreifnmfew74suyhme7syuzb65ssv6xtdq3nevzls5noxwq6wklm2ebe"
},
"mimeType": "image/png",
"size": 20516
},
{
"$type": "blob",
"ref": {
"$link": "bafkreibh3l77qhhq43lboafbiplobuduc53txtmvpxpv5bdx6acqf2c56y"
},
"mimeType": "image/png",
"size": 82305
},
{
"$type": "blob",
"ref": {
"$link": "bafkreie62xmbbndupufgtaef5zqx2aytuldl2ln2bd6jg2usda7ochkgmq"
},
"mimeType": "image/png",
"size": 87600
},
{
"$type": "blob",
"ref": {
"$link": "bafkreiazxan6posmw63xhteoshvmbczhtzlcw5si2wszdtsrh65x5cq7yq"
},
"mimeType": "image/png",
"size": 15994
}
],
"content": {
"$type": "actor.rpg.news#markdown",
"value": "## Like an Onion...\n\nThere are many different layers that make an **rpg.actor** character. Stats, metadata, and account info compose the overall details of *who we are*, and while the visual representation (our sprites) may look solid, they're composed of even <u>more</u> layers all stacked atop one another. Yet, they work together to form a final structure that's easy for games to interpret and bring <u>you</u> to life.\n\n*But... what are these layers? Why do they exist, and how do they all work?*\n\n**What can we do with them once we understand how a character is put together?**\n\n<u>Great questions, my hypothetical friend!</u> Let's take a dive through these layers together and see if we can make sense of how they functions, and maybe learn some of the magic behind how games work!\n\n## The Humble .sprite\n\nOne of the core concepts for **rpg.actor** is that the [.sprite](https://rpg.actor/dev-guide#pc-sprites) record is our base asset and should remain as simple as possible for maximum player freedom. They will <u>always</u> remain the final delivery mechanism for a character's appearance, and will <u>always</u> be a single sheet (3 x 4) that provides basic walking and idle poses.\n\n[](https://pdsls.dev/at://did:plc:rvfjpyltvfkaf5ggxaefylft/actor.rpg.sprite/self)\n\nThis certainty is maintained so that developers can confidently build their games with assured compatibility, and players can easily create their own representations however they please. No matter what, any game should be able to call for a [.sprite](https://rpg.actor/dev-guide#pc-sprites) and get everything it needs to show you on screen. <u>Simple, easy, and completely reliable.</u>\n\n## The Noble .generator\n\nOur free [Sprite Generator](https://rpg.actor/generator) is provided to make this customization for certain types of characters even easier, but it's **not** meant to be definitive. There are tradeoffs between its ease, uniformity, complexity, and functionality that make it *very* different from the humble [.sprite](https://rpg.actor/dev-guide#pc-sprites) on its lonesome. \n\nThis is why we've taken steps to distinct a [.generator](https://rpg.actor/dev-guide#pc-generator) record as its own entity, which houses a deconstructed version of any character built with the generator. Think of it like a blueprint for how to put you back together from scratch. Everything that you are, the details of each visible part, and how they combine is all stored within this one record.\n\n[](https://pdsls.dev/at://did:plc:3vdrgzr2zybocs45yfhcr6ur/actor.rpg.generator/self)\n\nAll the layers (shirts, pants, glasses, etc) that make up the [.sprite](https://rpg.actor/dev-guide#pc-sprites) are broken into their individual parts and neatly sorted so that games can modify or substitute individual components (e.g. change your hat) and recompose the character as needed. This gives developers some additional tools when working with **rpg.actors** who carry this data, including a deeper read of traits for interactions, and more freedom to affect the visual appearance of your characters.\n\nBecause the [.generator](https://rpg.actor/dev-guide#pc-generator) record is a stack of layers, it's not really viable as a final character sprite on its own, and so games should always refer to the basic [.sprite](https://rpg.actor/dev-guide#pc-sprites) as the visible entity. However, it can be used to produce a complete [.sprite](https://rpg.actor/dev-guide#pc-sprites) by \"gluing\" all those layers together and writing to your PDS.\n\n## Colorways and Submasks\n\n\"Interesting,\" you prod, \"but can you make it <u>more</u> complicated?\"\n\n*Say no more! **We've got you covered.***\n\nWithin the [.generator](https://rpg.actor/dev-guide#pc-generator) there is per-layer data for **colorways** and **submasks** which are basically an extra version of the art that's harshly painted in pure blue, green, red, white, and black. These layer-layers *(lol)* layer atop the layers *(lmao)* to let players freely colourize their clothing. This is how the colour pickers are defined and controlled within the [Sprite Generator](https://rpg.actor/generator) itself.\n\n\n\n*<mark>These garish colour choices are brought to you by colorways!</mark>*\n\nOn these **colorway** layers, blue (#0000FF) represents the \"main\" tone, while green (#00FF00), red (#FF0000), and white (#FFFFFF) offer additional \"sub\" colours for a total of four variable hues on any given piece. Typically they are laid over a grey (#808080) midtone with shade variations for light and dark sections. This creates a huge range of options with total player freedom for colour customization.\n\n\n\n*<mark>The submask pixels will remove everything beneath them on the layers below.</mark>*\n\nBlack (#000000) is used for the **submask** which is like a negative-layer that *removes* pixels from the space beneath it. <u>This is how we prevent your hair from sticking through your hat</u>. When the [.generator](https://rpg.actor/dev-guide#pc-generator) recomposes the [.sprite](https://rpg.actor/dev-guide#pc-sprites) it makes sure to erase those parts covered, leaving a much more refined appearance. It can also be used to reshape the character body where the basic form would otherwise spill through, like on this example of the **Slimming Shirt** here:\n\n\n\n## Your .item-ized Wardrobe\n\nSo we've got a flat [.sprite](https://rpg.actor/dev-guide#pc-sprites) anyone can display, a decomposed [.generator](https://rpg.actor/dev-guide#pc-generator) that games can tinker with, and a colour system that makes those pieces expressive.\n\n*So...what are we supposed to do with all this?!*\n\n**Behold, the [.item](https://rpg.actor/dev-guide#pc-equipment) record:**\n\nThese are like individual inventory items, complete with their own asset layers that slot directly into the [.generator](https://rpg.actor/dev-guide#pc-generator) stack. They include their own colorways and submasks, metadata for where they fit (hat, shirt, etc) and an icon for general display. Every complete [.item](https://rpg.actor/dev-guide#pc-equipment) will surface in the [Sprite Generator](https://rpg.actor/generator) as another option for you to customize your character with.\n\n\n\n<mark>*This shirt and the popcorn were obtained in [The Theatre](https://rpg.actor/theatre) as .item records*</mark>\n\nAnyone can create their own [.item](https://rpg.actor/dev-guide#pc-equipment) record and outfit themselves however they please, just like how you're able to produce a [.sprite](https://rpg.actor/dev-guide#pc-sprites) of whatever you like. The major difference here is that these assets will fit in your [.generator](https://rpg.actor/dev-guide#pc-generator) when used, and can fluidly function in any games that make use of the more complex record compositions.\n\n## The .gift of The Magi\n\nEvery [.item](https://rpg.actor/dev-guide#pc-equipment) can also be paired with a [.give](https://rpg.actor/dev-guide#pc-equipment) record, which allows games to verify where you got the item from. These are typically provided by games or dungeon masters, but you can also make them yourself. When put together these two records show where an item came from and act as a mark of authenticity.\n\nThis means that you can create your own inventory of outfits and strut your stuff freely, then unlock new items from different games that each validate what they've granted you. Every other game you visit will know exactly where you got your stuff from and can react appropriately.\n\nYou can even begin producing [.items](https://rpg.actor/dev-guide#pc-equipment) for others as a way of sharing your creations, while keeping [.give](https://rpg.actor/dev-guide#pc-equipment) records as proof you're the one who made that super cool shirt!\n\n\n\n<mark>*See how the popcorn is obtained from [@rpg.actor](https://bsky.app/profile/rpg.actor) and the shirt from [@vagabond.quest](https://rpg.actor/vagabond.quest)?*</mark>\n\nThere's no requirement to have validated items, but as the **rpg.actor** ecosystems grow this can be a way of building stronger compatibility between games, creating collaborative quests between experiences, and even highlighting great creators who make wonderful clothes for us all to wear.\n\n## It All Stacks Up!\n\nNow that you know how all these many layers work together, you can begin experimenting with your own personal style. Whether you simply wish to upload a custom [.sprite](https://rpg.actor/dev-guide#pc-sprites) or build individual [.item](https://rpg.actor/dev-guide#pc-equipment) pieces to compose in your [.generator](https://rpg.actor/dev-guide#pc-generator) there are *a lot* of ways you can fine-tune your character's appearance.\n\nOver time we'll begin expanding the **rpg.actor** ecosystem with more tools for creators and better ways for you to share your creations with others, but for now feel free to experiment with everything available. Go make the avatar of your dreams, and games for others to experience!\n\n**If you ever get lost, the [Dev Guide](https://rpg.actor/dev-guide) and our [Roomy Space](https://roomy.space/rpg.actor/) will be there to help.**\n"
},
"updatedAt": "2026-04-13T17:01:59.356Z",
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreidapfvjfkielmbbhkhf2f42lrguqys5ijj5l3gwwqn574azisvdyy"
},
"mimeType": "image/png",
"size": 55319
},
"description": "Improved generator system with new colorway and substractive layers",
"publishedAt": "2026-04-13T03:43:55.389Z",
"textContent": "Like an Onion...\n\nThere are many different layers that make an rpg.actor character. Stats, metadata, and account info compose the overall details of who we are, and while the visual representation (our sprites) may look solid, they're composed of even <u>more</u> layers all stacked atop one another. Yet, they work together to form a final structure that's easy for games to interpret and bring <u>you</u> to life.\n\nBut... what are these layers? Why do they exist, and how do they all work?\n\nWhat can we do with them once we understand how a character is put together?\n\n<u>Great questions, my hypothetical friend!</u> Let's take a dive through these layers together and see if we can make sense of how they functions, and maybe learn some of the magic behind how games work!\n\nThe Humble .sprite\n\nOne of the core concepts for rpg.actor is that the .sprite record is our base asset and should remain as simple as possible for maximum player freedom. They will <u>always</u> remain the final delivery mechanism for a character's appearance, and will <u>always</u> be a single sheet (3 x 4) that provides basic walking and idle poses.\n\nThis certainty is maintained so that developers can confidently build their games with assured compatibility, and players can easily create their own representations however they please. No matter what, any game should be able to call for a .sprite and get everything it needs to show you on screen. <u>Simple, easy, and completely reliable.</u>\n\nThe Noble .generator\n\nOur free Sprite Generator is provided to make this customization for certain types of characters even easier, but it's not meant to be definitive. There are tradeoffs between its ease, uniformity, complexity, and functionality that make it very different from the humble .sprite on its lonesome. \n\nThis is why we've taken steps to distinct a .generator record as its own entity, which houses a deconstructed version of any character built with the generator. Think of it like a blueprint for how to put you back together from scratch. Everything that you are, the details of each visible part, and how they combine is all stored within this one record.\n\nAll the layers (shirts, pants, glasses, etc) that make up the .sprite are broken into their individual parts and neatly sorted so that games can modify or substitute individual components (e.g. change your hat) and recompose the character as needed. This gives developers some additional tools when working with rpg.actors who carry this data, including a deeper read of traits for interactions, and more freedom to affect the visual appearance of your characters.\n\nBecause the .generator record is a stack of layers, it's not really viable as a final character sprite on its own, and so games should always refer to the basic .sprite as the visible entity. However, it can be used to produce a complete .sprite by \"gluing\" all those layers together and writing to your PDS.\n\nColorways and Submasks\n\n\"Interesting,\" you prod, \"but can you make it <u>more</u> complicated?\"\n\nSay no more! We've got you covered.\n\nWithin the .generator there is per-layer data for colorways and submasks which are basically an extra version of the art that's harshly painted in pure blue, green, red, white, and black. These layer-layers (lol) layer atop the layers (lmao) to let players freely colourize their clothing. This is how the colour pickers are defined and controlled within the Sprite Generator itself.\n\n!generator_3.PNG\n\n<mark>These garish colour choices are brought to you by colorways!</mark>\n\nOn these colorway layers, blue (#0000FF) represents the \"main\" tone, while green (#00FF00), red (#FF0000), and white (#FFFFFF) offer additional \"sub\" colours for a total of four variable hues on any given piece. Typically they are laid over a grey (#808080) midtone with shade variations for light and dark sections. This creates a huge range of options with total player freedom for colour customization.\n\n!colorways.PNG\n\n<mark>The submask pixels will remove everything beneath them on the layers below.</mark>\n\nBlack (#000000) is used for the submask which is like a negative-layer that removes pixels from the space beneath it. <u>This is how we prevent your hair from sticking through your hat</u>. When the .generator recomposes the .sprite it makes sure to erase those parts covered, leaving a much more refined appearance. It can also be used to reshape the character body where the basic form would otherwise spill through, like on this example of the Slimming Shirt here:\n\n!slimming_1.PNG\n\nYour .item-ized Wardrobe\n\nSo we've got a flat .sprite anyone can display, a decomposed .generator that games can tinker with, and a colour system that makes those pieces expressive.\n\nSo...what are we supposed to do with all this?!\n\nBehold, the .item record:\n\nThese are like individual inventory items, complete with their own asset layers that slot directly into the .generator stack. They include their own colorways and submasks, metadata for where they fit (hat, shirt, etc) and an icon for general display. Every complete .item will surface in the Sprite Generator as another option for you to customize your character with.\n\n!inventory_1.PNG\n\n<mark>This shirt and the popcorn were obtained in The Theatre as .item records</mark>\n\nAnyone can create their own .item record and outfit themselves however they please, just like how you're able to produce a .sprite of whatever you like. The major difference here is that these assets will fit in your .generator when used, and can fluidly function in any games that make use of the more complex record compositions.\n\nThe .gift of The Magi\n\nEvery .item can also be paired with a .give record, which allows games to verify where you got the item from. These are typically provided by games or dungeon masters, but you can also make them yourself. When put together these two records show where an item came from and act as a mark of authenticity.\n\nThis means that you can create your own inventory of outfits and strut your stuff freely, then unlock new items from different games that each validate what they've granted you. Every other game you visit will know exactly where you got your stuff from and can react appropriately.\n\nYou can even begin producing .items for others as a way of sharing your creations, while keeping .give records as proof you're the one who made that super cool shirt!\n\n!inventory_3.PNG\n\n<mark>See how the popcorn is obtained from @rpg.actor and the shirt from @vagabond.quest?</mark>\n\nThere's no requirement to have validated items, but as the rpg.actor ecosystems grow this can be a way of building stronger compatibility between games, creating collaborative quests between experiences, and even highlighting great creators who make wonderful clothes for us all to wear.\n\nIt All Stacks Up!\n\nNow that you know how all these many layers work together, you can begin experimenting with your own personal style. Whether you simply wish to upload a custom .sprite or build individual .item pieces to compose in your .generator there are a lot of ways you can fine-tune your character's appearance.\n\nOver time we'll begin expanding the rpg.actor ecosystem with more tools for creators and better ways for you to share your creations with others, but for now feel free to experiment with everything available. Go make the avatar of your dreams, and games for others to experience!\n\nIf you ever get lost, the Dev Guide and our Roomy Space will be there to help."
}