Testing, Testing, Testing!
Overview
So you’ve been struck by a bolt of inspiration, picked up your mapping tools, got busy, and completed your first compile … now what? Now it’s time to test.
First off, testing should be a continual and constant process. You should be constantly running compiles and taking quick runs through your map to check gameflow, dimensions, texturing, z-fighting, etc. I typically run a quick compile (BSP only) and run through the map after just about every major piece of work I do. I do this because I know exactly what I just did and it’s easier to track down and fix bugs when I have a better idea of what caused it.
External testing and feedback should also be done on a regular basis. Often times, mappers will have an idea of how their map SHOULD play that may not actually synch with how their map DOES play. This is where external testing comes in.
In this tutorial, I’ll outline 4 key stages of testing, all of which should be continual and ongoing. By continual and ongoing, I mean that just because you’ve released beta1, doesn’t mean that you are finished doing individual testing or closed private testing. The 4 stages are roughly:
- Individual testing
- Individual external testing
- Closed private testing (team and ‘pub’)
- Public beta testing
Individual Testing
This is what you, the mapper does, and can be as extensive as you want. What you do during this testing really depends on what you think needs testing and where you are in the mapping process. If I’m testing functionality and lighting, I typically test in my mapping environment, but before you release anything to anybody, you absolutely HAVE to run a test in a separate and clean testing environment. This environment should only have the initial install, any patches, and the file to be tested.
I’ll list out a ton of stuff I typically check as I work my way through the mapping process:
- Drop the console immediately after the map load up. Do you see any error messages or warnings in yellow or red? This is a huge help in just making sure you remembered to include everything in your PK3.
- General map flow, dimensions, and scale. Does everything feel about right? Where do I need clip ramps and ladders. Can jumping from boxes get me to places I shouldn’t?
- Texturing and texture alignment. Do I get HOM anywhere? Z-fighting? Do textures seem to go together? Are there areas where textures are misaligned?
- Limbo cameras. Are the limbo cameras oriented the right direction
- Objective scripting (can I run through the map doing all of the objectives. Do the objectives work the way I expected them to.
- r_speeds and vis at various points in the map using (r_showtris 2 and …)
- Command map. Do all of the proper command map icons show for the appropriate sides. Do command map icons appear/disappear at the right time?
- Command Posts. Build, destroy, rebuild, and destroy your CP. Do all the events that are supposed to happen actually happen.
- Spawn times. I often set spawn times at 1 and 1 for testing purposes and it’s easy to forget to reset them before adding the .script to your pk3.
- Limbo screens. Do the appropriate checks and x’s show when objectives are completed
- Custom textures. I check every custom texture I add to make sure it showed up and looks ok.
- Team doors. Do team doors open for the right team and for coverts in uniform
- Lighting. Which areas are too dark and what areas are too bright.
- Connectivity. Are there multiple ways to get from point to point. Are chokepoints too narrow or too easy to dominate with spam or a single heavy weapon.
- Timing and distances. I run from various spawns to various objectives, both as Axis and Allies and compare the differences to the spawn differential. I’m checking to ensure offensive maps have an offensive bias (I’ll talk more about this in a separate tutorial)
Individual External Testing
I’m personally a big fan or releasing early test builds to selected individuals on a private basis to get external input, feedback, and suggestions. External testers often identify problems or make suggestions I never would have thought about because they’re coming at the map from a different perspective.
You need to select testers carefully, people who are willing to run around very raw builds and focus on gameplay feedback. Testers also need to understand that early versions of your map are only to be used on local servers or on very controlled private servers. Ideally, you also want testers who are willing to invest time to give you detailed feedback which will improve the map.
Make sure some of your testers are good trick jumpers. They will find spots where players can trick jump their way into areas you don’t want them to, or trick jump their way past key objectives which may or may not break your map.
If your map is designed for comp play, then you need to get comp players to help test the map. They will most likely suggest structural and connectivity tweaks that are best made as early in the process as possible.
Closed Private Testing
OK, you’ve tested the map on your own, you think it’s ready for some semi-public play, so you arrange your first private test.
This is where you can get solid feedback about how the multiplayer aspects of your map work. There are simply areas you cannot test by yourself or with just one or two other people running around, that will become hideously apparent with a full map. However, a key point that I cannot stress enough is, “don’t take the feedback personally”. You have to accept that you cannot build a map that pleases everyone, so don’t get upset if people don’t like it. What you are looking for, is constructive feedback and recommendations, positive or negative.
Not everyone has access to the private server or pool of willing map testers you need to run a private test. If you don’t, I highly encourage you to spend some time getting this set up as my most valuable feedback often comes from these sessions. You can set up arrangements with friendly clans, the server admin for the pub where you are a recognized regular, there are even some people on the Splash Damage and WWGN forums that could help you out with a server. IRC can be a good channel to get map testers. Just be mindful of other peoples’ time.
Things you want to test:
- Offensive/defensive bias. Is the map actually as hard/easy to attack on as you anticipated
- Gameflow. Can people navigate around the map smoothly or are hallways too tight? Are people getting hung up on protrusions or getting jammed up in key areas?
- Gameplay/objective dynamics. You thought of an original objective dynamic. Does it actually work in practice?
- Distances and timing. Are distances about right, too far, too close? Are respawns getting out of spawn and into firefights while still invulnerable? Do players feel like they are running forever?
- Linearity and layout. Can players figure out what to do and where to go without you holding their hands.
- Chokepoints and bottlenecks. How easy is it to hold chokepoints and bottlenecks?
- Defensibility. Can the defense actually set one up or are there so many routes that a defense can’t get set anywhere?
At this point, you’re going to get the full range of feedback, both negative and positive. Some feedback will be pretty simplistic, “this sucks” and other feedback will be very constructive and helpful. The key here is to develop a thick skin and not let any of the negative feedback get to you. Take it for what it’s worth, try to figure out why the map isn’t working for some people and balance whether the changes are good for the map overall.
If you’re holding structured testing sessions, then I like to do three things:
-
Give everyone a tour. This is just the polite thing to do and helps get people up to speed on your map very quickly. It also allows others to answer simple questions if you’re not around.
-
Ensure console logging is enabled. People will make comments and observations, make recommendations etc throughout your test session. If you’re logging all of the comments, you can go back through your console log at your own leisure and review the notes, Otherwise, you’ll have to do dual duty test and taking notes.
-
Debrief all of the participants in IRC. The best time to do this is right after everyone has gotten off the server. You want to hold this when ideas and observations are still fresh in everyone’s mind and everyone is there to contribute. Often times, one person will identify a problem that other people don’t have any issues with. The resulting discussion is still very valuable information for you. Other times, there will be consensus that a problem exists and having several heads tossing around ideas about how to fix it is super helpful.
Public Beta Testing
Your private testers are happy, you’re satisfied, and now it’s time to unleash your work on an unsuspecting world. At this point I strongly encourage you to read the tutorial “Marketing Your Map” and follow the advice there, making sure you clearly lay out the game objectives, provide attention grabbing screenies, and provide channels for feedback to get back to you.
It is really helpful at this stage to develop a relationship with a couple of server admins, perhaps the admins of your favorite pubs, who would be willing to host your map. They can serve as a point of contact for community feedback as well as help get the word out.
When you find pubs which are playing your map, I like to join under my mapper name so that people can see that I am there, assuming they make the connection, and ask how the map is running. I think it helps when people know that their suggestions and comments are heard and at least noted.
When joining pubs, I like to spend a lot of time in spectator mode just watching. It helps me see how people use items (e.g., CPs, constructibles), how they attack objectives, where people get lost, where the action gets bottlenecked, where people can get to areas I hadn’t intended, etc. If I see a lot of really clueless people or people just exploring, I’ll offer to give guided tours or just offer advice via chat – without being overbearing of course. Naturally I try to get in and play too.
Conclusion
Hopefully, this will help you get from great idea and initial work to a polished map that is enjoyed by hundreds of gamers everywhere.