The Great Testing Guide by Lady Saavik

Share your ddrace-related map with the community.
The official map testing moved to our discord (
Forum rules
You can join the official testservers and support the testing staff anytime.
Be sure to share your feedback in the appropiate discord channel.
  • Server PW: nimrocks
  • Rcon Access (F2): test4321
User avatar
Lady Saavik
Posts: 1763
Joined: Tue May 13, 2014 4:02 pm
Player profile:
Mapper profile:

The Great Testing Guide by Lady Saavik

Post by Lady Saavik »

I have tested many DDRace maps and learned a lot. I enjoyed testing and wanted to do it as well as possible. Recently many new people want to start testing. I understand that they don't have any experience with testing. So I decided to make this guide to help these and all other testers. This guide is also useful for mappers to avoid the most common mistakes in their own maps. The rules for DDNet maps also apply.

Let's start with some expectations: Testing is not just playing a map! It takes more than just 20 minutes and it is hard work. You as a tester are not just a machine to check if parts work and map is free of bugs. We do not take every map. Take a critical look at the map. Does this map bring something worth releasing to DDNet? If you are unsure, comment on it, tell your opinion and explain it. Together we can figure something out. But always remember: The map belongs to the mapper, not to us! Be nice to mappers, even if you don't like their map. And judge the map fairly, even if you don't like the mapper.

Quite a lot of testing tips will follow. You don't have to follow all of them for every map you test. But it's still good to know what can go wrong and what to look for.

You should start by uploading the most recent version of the map to the testserver and reloading the map so that you're actually testing the right map. Official testers know how to do that, as it's described in the internal section of the Forum.

You can't test for every issue at the same time. I usually go through the map multiple times looking at these issues separately:
  1. Play the map with your tee (and a partner) and test the gameplay. Think about the server and difficulty in stars the map should get.
  2. Search for wrong (too many or missing) tiles by switching entities on and off (bind 0 toggle cl_overlay_entities 0 100) while walking through the map using super. To find wrong freeze tiles use cl_overlay_entities 50. Make screenshots of bugs so you don't forget them and can post them on the forum!
  3. Search for cheats by scrolling through the map as a spectator. Zooming out (zoom-) can help to get an overview of the entire part and imagine how it could be cheated. Make screenshots as well!
After the mapper has fixed the map you have to check again if all bugs have actually been fixed and that no new bugs have been introduced.
So, what are the issues to look out for?

  • Leave a lot of space. DDraceNetwork has 64 player servers. Imagine 20 tees pushing against each other in a tightly packed part. Do you want that? No. That's especially important at the start, so that players have enough space to build teams and do the first parts in huge groups. It's always good to have some platforms or hookable tiles, where other tees can hang around and do to each other whatever they want while they're not actively playing.
  • The difficulty of parts should stay on a similar level or slightly increase, and not switch around between Novice and Brutal. It's okay to have a few easy parts in a Brutal map. But in a Novice map you can't add a hard and faily part, because most players will not make it and will never see the rest of the map, which may contain easier parts.
  • Not every part that can be played alone has to be a solo part. The solo part can be optional. Then you can go into solo when you don't want to be blocked. But new players can watch other tees without solo part and even get help from them.
  • You don't have to test every part. If it's just a standard part that you have already played 1000 times and you know it works, you can just skip it. Still make sure that teleporters work. And don't accept maps that only contain standard parts.
  • There should be multiple spawn tiles and they should not be blockable, so that everyone can play, even though 50 players may spawn at the same time.
  • Don't place teleporter destination (TO) tiles on the ground, as they can make players bounce away unexpectedly. Better lift them up by one tile and set more than one tile.
  • Sometimes it makes sense to have unfreezes when you get teleported back, especially in parts where you need many tries.
  • Triangle tiles can be an entity or not, but it should be one or the other consistently.
  • Teleporter destination (TO) tiles should be set at a smart position, so that you don't go through ON and OFF tiles with every new try of a part. That would lead to a lot of spam by the server in the chatbox. Easy ways to avoid this is by moving the teleporter, or not setting the ON and OFF tiles directly next to each other.
  • Everything that the player has to know about, has to be clearly visible. Players should never be required to use entities to understand a map.
  • Colors in the map have to be in harmony instead of causing eye cancer. Also the map should not be so dark that it can only be played in a moonless night.
  • Some merely cosmetic layers, like doodads, sun, clouds and stars have to be declared as HD, so they are not shown for players with older computers. Sometimes it's good to keep a few cosmetic layers, so that the map doesn't look completely naked. Walls, freeze and the background should never be HD.
  • Background graphics have to be big enough, so that they are not cut off. Note that Teeworlds shows more to the left and right with a widescreen resolution, and more up and down for other resolutions.
  • Quads should not look weird. They can be overly stretched, which can be fixed by having the correct aspect ratio. You can make sure of that by right clicking on the green dot of the quad and selecting "Aspect Ratio". When quads are enlarged too much, they look blurry, which can be fixed by redesigning the image at a higher resolution. When the graphic seems to have a weird border, but only in Teeworlds, then it usually needs to be dilated.
  • Mapres should be used in a smart way. That means, that the maps should not have a 552352kb mapres with only 2 tiles used in the actual map. Try to minimize the amount of mapres and delete the unused parts of an image if possible.
  • Animations should be smooth, but that's pretty easy to see and noone even knows how to do animations.
  • The map should not reduce your FPS much, especially without HD. You can set cl_showfps 1 and disable vsync to check how a map performs.
  • You can leave 1 tile space between shield tiles as they have a long reach and that looks better.
  • The start line must not be skippable under any circumstances! Why you may ask, players would not get a time anyway? When an entire team skips the start line, they can play the map until they are right before the finish. Then they ask another player to join their team and go over the start line. That player then leaves the team again, and the other tees finish with a time of one second. (This cheat will probably get fixed in DDNet servers, but still make sure everyone has to go through the start line.)
  • Checkpoints make cheats so easy. You can just take a weapon or endless, and have touched another checkpoint before to land somewhere entirely unplanned by the mapper! Often there's also no way to go back when checkpoints are used, so you can't help your friends who fell behind.
  • Not everything that looks like a cheat is a cheat. Sometimes it's good to have multiple ways of doing a part, so that good players can be faster, while new players do the path in an easier way. More players working together often make a part easier, which may also be fine, so that even bad players can work together and finish hard maps. Just make sure they can't cheat the part entirely.
  • Make sure all players lose their weapons and special powers, instead of having a player carry them through the entire map.
  • Players should not be able to fly out of a part and enter back into the map at another part, thereby cutting out other parts.
  • At high speeds, which can be achieved by falling fast, using speeders, jetpack or ninja, tees can skip many tiles, including start lines.
  • If you need to initialize switches at start, then do it after the start line. Otherwise teams can skip switch initialization.
After you're done with everything else and if you still think the map should be accepted, you should also open the map in the editor, which is the only place where you can notice some things:
  • Make sure that the layers have the correct size. They should not be too big, as it makes loading the map slower and uses more memory on the server.
  • All images that are not included in the standard Teeworlds client have to be embedded. Even those included with the DDNet client, like ddnet-tiles, ddnet-walls, fadeout and round-tiles. Otherwise the maps will not look right for players with the standard client.
  • It's a lot of work, but you can still check whether all images, layers and envelopes are used. For example a map with only a few animations should not need 800 envelopes. (Looking at you, Silex)

Code: Select all

bind up rcon up
bind down rcon down
bind left rcon left
bind right rcon right

bind pageup rcon super
bind pagedown rcon unsuper

bind p say /pause

bind plus zoom+
bind minus zoom-
bind hash zoom

bind 8 toggle gfx_high_detail 0 1
bind 9 toggle cl_show_quads 0 1
bind 0 toggle cl_overlay_entities 0 100

Code: Select all

change_map MAPNAME
totele TELENR (Regular Teleporter)
totelecp CPTELENR (Checkpoint Teleporter)
status (Show player IDs)
tele ID1 ID2 (Teleport player with ID1 to player with ID2)
tele ID1 ID1 (Teleport player with ID1 to the position he is spectating)
Congratulations if you made it down here! We hope you found this guide interesting and learned something valuable. If you have any questions, ideas or comments, you're welcome to post them!
Last edited by Lady Saavik on Sat Jan 16, 2016 1:29 am, edited 1 time in total.

Who is online

Users browsing this forum: No registered users and 0 guests