What SimGolf Can Teach You about Designing the Perfect Level

Alex J. Champandard on October 8, 2007

Do you know what the perfect level in your game looks like? Forget the story, focus on how the structure of the level emphasizes the core gameplay mechanics. What process do you use to guarantee that all your levels fulfill their potential?

Cue SimGolf, a simulation game where you play the role of a golf course designer and part-time professional golfer. The experience is not only fun, but it also answers some interesting questions about the role artificial intelligence plays in the process of designing levels. This review looks at the different elements involved, and then shows how you can apply them into your own game.

Artificial Emotions

While designing your grounds in SimGolf, you’ll notice little “Sims” trying out your course by playing each hole. These golfers have artificial emotions, which affects how they feel about your design.

Golfer feedback.

Screenshot 1: Golfers voicing their feedback about the course.

Notably, the Sim Golfers:

  • Comment on features of the course as they walk around.

  • Chat and congratulate with each other, and sometimes trash-talk.

  • Provide feedback about their shots and experiences.

Each Sim has a unique combination of character traits: neat, outgoing, active, playful, nice. Their behavior and preferences vary accordingly…

Unique Playing Styles

On top of the emotions, playing styles are modeled for each Sim Golfer. There are multiple specific skills, but they can be broken down into three categories:

  1. Length — How powerful the golfer is with different clubs.

  2. Accuracy — How easily the golfer can control the ball.

  3. Imagination — How creatively golfers approach each hole.

Professional Golfer

The skills affect the decisions the golfers make to complete the course. So in the end, there are major differences between professional golfers who take more direct and risky shots, and the casual golfers who take the safer and longer route.

Building a successful course then becomes a matter of understanding these different demographics and designing with each of them in mind. Keeping the superstars golfers is necessary to bring you fame and exposure from tournaments, while the casual golfers pay the high membership fees!

Patterns and Statistics to Assist Design

In SimGolf, pleasing these different kinds of players takes a certain creativity, but part of it is mechanical too. The game in fact rewards you for designing holes of different types. In a sense, you’re encouraged to use patterns while designing:

  • Fairway split into two down the middle.

  • Discontinuous fairway surrounded by rough.

  • Green hidden bytrees of varying heights.

  • Long hole with a dog-leg.

The process of designing and assembling these patterns is extremely similar to level design. But there’s more to SimGolf; the game gives you very specific statistics how your golfers played the course. For example, each hole has a measure of how much accuracy, power, and imagination required to complete it.

Making a perfect hole is a matter of incremental redesign to accommodate all the different traits, and try to make them balance out. For example, a hole could offer two paths, one that requires accuracy in landing on a small piece of fairway behind the trees, and a second that would be a longer way around with very few obstacles.

A simple golf course.

Screenshot 2: Following the shots of a golfer through the course.

Play Testing with Artificial Intelligence

Those of you familiar with the game development model will recognize this incremental process as play testing. The idea is to bring in members of the target audience and let them play the levels. The feedback is collected together and is used to help revise the current version.

What makes SimGolf interesting is that the feedback is automated using AI. Instead of requiring a lengthy process to bring in real golfers to review your course (I doubt Tiger Woods would be willing to help), you essentially get pure statistical information about the different ways golfers complete your course. Even with mediocre AI, the mere fact of going through this process is of great help.

How Can You Use These Ideas?

So, here’s what you can do to improve your level design process in your game.

  1. Create an AI player that models different skills and styles.

  2. Expose this AI as a tool to play through prototype levels.

  3. Establish a correlation between the statistics and real players using testing.

  4. Make the results available as quickly as possible to the designers.

  5. Use the feedback to iterate over the layout and placement of entities.

Amateur Golfer

How do these ideas help you design perfect levels for your game? Essentially, it gives you a useful metric for designing your levels against. It helps the designers focus on what matters with much faster turnaround times than real play-testing.

As AI technology improves, the technological investment to implement these steps becomes much lower. You have no excuse for building levels that do not cater to both your casual audience and the hardcore gamers!

How do you think artificial intelligence can be used to assist level design?

Discussion 2 Comments

diegix on October 11th, 2007

I think using AI for automating a lot of tasks that are not so difficult but tedious is a great improvement we are able to do right now if we spend the time to build it. AI, specifically computers, are very good at doing long searches that would be more difficult for humans to do and keep all the data to analyze. For example, AI can also be used in the design of a level or a gameplay mechanism by letting the AI play and try to find different ways of playing the level. That way the AI will find possible exploits in the level we haven't seen and we can choose to fix them or to change them a little bit to make gameplay more interesting. Another whole topic would be how to use AI for automated testing of features that cannot be easily covered by unit test, letting the AI do the functional tests of gameplay and complain when something breaks as a QA human would do.

alexjc on October 12th, 2007

Logo: Exactly. It's certain that technology can be reused, but it would take a dedicated an AI person to get right... Diego: Good suggestions. There are things called "[B]soak testing[/B]," which runs the whole simulation (with AI) to check for memory leaks, asserts, etc. Alex

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!