Level editor design

Lately I've been designing the level editor for Degrees, and I'm really enjoying it. I'm inventing a creative workflow and a tool to support it. It's rewarding to think that at the end I'll be able to just sit and make levels with no friction. Here's my idea of a nice level editing workflow:

  1. Concept
    • Design a level on paper
  2. Shape
    • Create the shape of the level
    • Define zones with portal planes
    • Add fog volumes?
    • Test and refine for navigability and performance
  3. Gameplay
    • Add enemies
    • Add items
    • Add scripted things?
    • Test and refine for gameplay and performance
  4. Appearance
    • Add lights
    • Create palette transition triggers
    • Add ambient sounds?
    • Paint the voxels
    • Test and refine for appearance

If you've read the second ECGC post, you'll recall that Valve builds levels by testing as they go, saving artwork for the end. I think the idea was to get the play experience right before you dedicate time to the appearance, because sometimes you need to scrap a whole room or a whole level. That sounds like a great place to start. Besides that, I've learned a lot from using UnrealEd and Scrivener. So I'm planning a four-pane 3D editor with a builder brush and properties for each selectable thing.

When I was younger I would fool around with Unreal Tournament, and there were a lot of things I loved about UnrealEd. But I had no idea what order to proceed in, and I'd have to go back and redo things. That was a lot of unnecessary pain. To clarify the right order, I'm building in a global mode switch for the stages of the editing workflow. You're either working on the shape of the level, or the gameplay within that environment, or the appearance of the environment. These modes really just limit which options are available at any given time, but I think it will pay off, especially if I end up releasing the editor to users.

I also want to support a really fast testing cycle. Since the game loads levels on the fly anyway, and since the editor will run on a Mac and the game runs on different iOS devices, I may as well do it live over the network. I'll make a separate build configuration for the game to act as an editor client. The editor will act as a server for multiple clients, so I can test gameplay and performance on different iPhones and iPads at the same time. After connecting to the editor, the game will poll for changes and refresh itself whenever the level is rebuilt. The game can also send profiling data to the editor, which the editor can show as a buffer of messages that you can filter.

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (38)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: raspberry ketone
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: body building
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: healthy diet
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: fun run cheats
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: homepage
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: fun run hack
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: zumba weight loss
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: biotin hair loss
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: muscle growth
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: Dexter Yager
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: green coffee beans
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: iOffer
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: comprar ebook
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: digital review
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: sell products
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: parents dating
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: vehicle reviews
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: yahoo.com
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    Response: yahoo.com
    Degrees, a game in progress for iPad and iPhone - Development Blog - Level editor design
  • Response
    I never see this much of good content. That has been plenty of needless agony. To help make clear the right get, I'm constructing within a international manner move for that development on the modifying workflow.
  • Response
    Response: ExploreTheOpen
    I wanted to visit and allow you to know how great I liked discovering your web blog today. I�d consider it the honor to operate at my place of work and be able to operate on the tips discussed on your website and also be involved in visitors� responses like this. ...

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
« App-to-app communication with Bonjour | Main | Things learned at ECGC 2012, part two »