About
We are introducing BuildRoyale. It provides an easy way to create new CR-style games and maps without writing a single line of code. Its flexibility allows you to design racing games, team-based games, puzzle games, and more. If you've ever found the base game unexciting, here's your chance to construct the next hit game in the CR universe yourself!
Current project file restrictions
- Total file size must be below 5 MB or it won't get loaded unto website
- Level 0 can't be used as the website default it to standard CR game. Anything placed in Level 0 will be ignored.
Starting with Build-Royale : Everything needed, Step by Step
- Download the map editor, and example map file.
- LDtK https://ldtk.io/
- Example map file: https://cryptoroyale.one/assets/maps/build-royale-examples-v3.json
- Ask @cryptoroyale for a CODE on discord.
- Go to https://cryptoroyale.one/custom/?cid=YOURCODE&debug=true and check if the link is valid on EU1 server
- Building a empty level
- Start the LDtk editor on your PC
- Load the `build-royale-examples` file
- Zoom out and see all levels currently in the example. They can be deleted as needed but LEVEL_0 MUST STAY THERE
- Duplicate LEVEL_0 to start a new level
- In "Project setting, use the SAVE AS... button to create a file for your project
- Required entities on the level
- Place down a single "PlayerSpawnPoint" entity in the middle of the level
- Required level setting for the empty level
- Go to the "Current level setting" tab on the top-left
- Scroll down to CUSTOM FIELDS and change the fields below. These will allow to test an empty or basic level on the website without problem
- EndIfTimeReached = 1200
- EndifPlayersLeft = -1
- MaxRespawn = 10
- Save the project (CTRL+S)
- Go back to the https://cryptoroyale.one/custom/?cid=YOURCODE&debug=true link, with "YOURCODE" replaced with your actual code
- On the bottom left , click on the "Choose file" button and select your project file
- A "Level selection" box will appear , select "1" in it.
- Click "Play" on bottom-right to join the game
- Click "(Re)Start" on bottom left to start the game
- You can now play in you own level!
- To apply modification, click "END" , wait for the wheel animation to end, choose your file again and select the level again
- When a game ends otherwise, wait for the animation to end and re-select your level
Racing Game : Sample game Step-by-Step
Steps to build a basic racing game, using the empty level as a base.
Level settings to modify
For a racing game, we will use the "Checkpoint" value to track how far the players are in the race.
Settings marked with a star (*) can be modified according to the type of game you want
- *EndIfPointsReached = 100
- *MaxRespawns = 100
- WinningCriteria = Points
- ShowAbovePlayer = Name
- *BaseMoveSpeed = 45
- *BoostCost = 0.9
- Scoreboard = Points
- BumpDamageEnemy = 0
- BumpDamageFriendly = 0
Setting up some Layers
Into the "Layers" menu (Keyboard L) , duplicate the "Zone" layer and rename the new Layers as following:
Theses will be used for different type of Entities for the game
- Checkpoints
- Wall
Setting up some Entities
Into the "Entities" menu (Keyboard E) , duplicate the "ZoneRect" Entity and rename the new Entites as following:
- ZCheckpoints
- ZWall
- ZBackground
Creating our Racetrack base
We will start be make a simple racetrack base. This will be a 2 Lap simple roundabout
Entites per layer will be listed, and place according to the image on the right. No Entities has been modified so far. Colors have been modified to illustrate different uses.
- Layer "Players"
- Two (Green) player spawn point at the start of the Racetrack
- Layer "Pips"
- Four (White) pips spawn point, one in each corner
- Layer "Walls"
- One (Red) central ZoneEllipse
- Four (Brown) obstacle ZWall
- One (Blue) special Zwall that we will use to prevent players from going backward later
- Layer "Checkpoint"
- Four Cyan ZCheckpoint for our race
Modifying the CheckPoint Entity
Go back into the "Entities" menu and modify the default values as following :
- ZCheckPoint
- Visible = False
- Collision = False
Modifying the Entites on the racetrack
We will add Checkpoints mechanic and prevent the players from going backward.
Each lap of using all four checkpoints will give Ten points to the player.
On the racetrack, modify the entities as following :
- Four Cyan ZCheckpoint , going clockwise
- CheckPoint "1"
- EffectCheckpointOnly = 3
- CheckPoint = 4
- PointsChangePerTouch = 10
- CheckPoint "2"
- CheckPoint = 1
- CheckPoint "3"
- EffectCheckpointOnly = 1
- CheckPoint = 2
- CheckPoint "4"
- EffectCheckpointOnly = 2
- CheckPoint = 3
- CheckPoint "1"
- One blue Zwall , behind starting line
- Visible = false
- Collision = false
- CollideCheckpointExcept = 3
Advanced feature creation -- using Racing Game Sample
The sections below will add feature to the Racing game sample
Adding speed effects to the race
- Slow Effect
- In the Zone layer, add a new "ZoneRect" anywhere in the path. It'll be kept visible for now.
- Change Collision = false
- Change TagPlayer = "SLOW"
- In the Zone layer, add a new "TagOverride" entity anywhere, this entity is never visible
- Change Tag = "SLOW"
- Change BaseMovementMultiplier = 0.5
- Change BoostStrenghtMultiplier = 0.5
- In the Zone layer, add a new "ZoneRect" anywhere in the path. It'll be kept visible for now.
- Fast Effect
- In the Zone layer, add a new "ZoneRect" anywhere in the path. It'll be kept visible for now.
- Change Collision = false
- Change TagPlayer = "FAST"
- In the Zone layer, add a new "TagOverride" entity anywhere, this entity is never visible
- Change Tag = "FAST"
- Change BaseMovementMultiplier = 1.5
- Change BoostStrenghtMultiplier = 1.5
- In the Zone layer, add a new "ZoneRect" anywhere in the path. It'll be kept visible for now.
- Both these speed effects are active until removed, here are two ways of limiting and removing them
- Give any Zone entity TagPlayer = "!FAST" and TagPlayer = "!SLOW" to remove the speed buff / debuff
- Create a new Layer named "SpeedEffects" , and add a zone covering the whole map
- Change TagPlayer = "!SLOW" and "!FAST"
- Change TimerEffect = 1,3,5,7,9
- Change both Visible and Collision to False
Adding death traps to the race
We will add specials zones that kill players using various settings.
For this, we will create a new "Traps" layer and put our Entities there.
- Immobile and permanent death trap
- Create a new ZoneRect or ZoneEllipse anywhere on the racetrack
- Change DeathIfTouched = True
- On/Off Death trap
- Create a new ZoneRect or ZoneEllipse anywhere on the racetrack
- Change DeathIfTouched = True
- Change TimerVisible = 1,2,3,4,5
- Moving Death trap
- Create a new ZoneRect anywhere on the racetrack
- Change DeathIfTouched = True
- Change ZoneMovePoints to add 4 points, moving around a wall
- Change ZoneMoveTimer to 1,1,1,1