# Create levels for Selfless Heroes This guide go through all the process of creating levels for Selfless Heroes and publishing on the API. ## What use will be made of the published levels? The community levels will be accessible in a dedicated section of the game in a future release. I'm waiting until there are enough levels created by the community before introducing this feature in the game. ## Reviewing process Published levels will be reviewed before they are actually accessible in the game. A level can be rejected for one of the following reasons: - The level is incomplete. - The level contains inappropriate language or imagery. In case your level is rejected, a moderator will contact you by email to explain why it is the case. We will help you to ensure that your level complies with the publication requirements. ## Programming skills required :pushpin: Although an effort has been made to make the process as straight forward as possible, it's still far from a WYSIWYG (_What You See Is What You Get_) kind of process.:blush: So **_some programming experience is required_** to create levels for Selfless Heroes. What skills are required? - Basic knowledge of javascript - Execute commands from a terminal - JSON format ## Getting started Follow these guides to get started. 1. [Installation guide](installation.md) 2. [Tutorial 1: create our first level](tutorial1.md) 3. Tutorial 2: publish a complete level - [Part 1: Setting up the project](tutorial2_1.md) - [Part 2: Create the map](tutorial2_2.md) - [Part 3: Create objects programmatically](tutorial2_3.md) - [Part 4: Name and objective](tutorial2_4.md) - [Part 5: Define the rules](tutorial2_5.md) - [Part 6: Configure Selfless Heroes language capabilities](tutorial2_6.md) - [Part 7: Secondary objectives](tutorial2_7.md) - [Part 8: Tests](tutorial2_8.md) - [Part 9: Metadata](tutorial2_9.md) - [Part 10: Final test before publishing](tutorial2_10.md) - [Part 11: Create an account on Selfless Heroes API](tutorial2_11.md) - [Part 12: Publish a level on the API](tutorial2_12.md) Reference manual: - [`level.js` documentation](Level.md) - [LocalizedMessages](LocalizedMessages.md) - [WorldGenerator](WorldGenerator.md) - [CompilerConfig](CompilerConfig.md) - [Ruleset](Ruleset.md) - [ObjectConfig](ObjectConfig.md) - [WorldProxy](WorldProxy.md) - [WorldObject](WorldObject.md) - [MapProxy](MapProxy.md) - [`tests.json` documentation](Tests.md) - [`metadata.json` documentation](Metadata.md) - [`shutils` manual](shutils.md) :bulb: You have difficulties to create your level? Ask the community for help on [Discord](https://discord.gg/UtKrrBM).