torsdag 6 mars 2014

Escape - Group 4 - Week 7 - Level Editing

After a few delays, the lead programmer gave the "ok" to start using his level editor for the project. As per the SCRUM-meeting for the week, I took on the task of using the editor to build all planned levels. Little did I know what lied in wait for me.

Using the editor and building the levels (or "sectors", as we call them for this project), goes like this:
  1. A mockup of the level done by the graphics designers is loaded as a template.
  2. Walls and outside boundaries are placed by setting coordinates for upper left and lower right corners of rectangles.
  3. Props like furniture and other environmental objects are placed by setting middle point coordinates, angle in degrees and setting full, half or no light transparency for the games lighting engine.
  4. Setting up the guards (NPC's) spawn points and waypoint patrol patterns.
  5. Placing key-items.
  6. Setting player spawn point and level exit.



After almost a week, I'm still working on one level and I'm still on the second phase. There's no undo-, move- or delete-function for the objects placed in the editor. The saved data is in shape of TXT-files, so every misstep has to be fixed manually by editing the TXT's.

In order to get the most accurate coordinates, I open the mockup pictures in Photoshop. I place the the objects as layers, read the coordinates and angle degrees. Then I switch back to the level editor and place the objects using the data from Photoshop.
The level sizes varies from 7000x7000 to 10'000x10'000. Following the mockups close to pixel-perfect is a very time consuming process and it became obvious that I wouldn't be able to finish this task by myself. Therefore, one of the graphics designers was appointed to help editing the other levels.

There are two reasons why we chose to build our levels like this:
  • We wanted to avoid using a tile-system. We didn't want the levels to have a readable and blocky pattern, but to have a more irregular and interesting feel and design.
  • In order to make our lighting engine work as well as possible, the walls and boundaries needed to be set into side by side squares. When setting the corner coordinates for the walls, the editor divides the set rectangles into a number of differently sized squares.
It's monotone and very time consuming work. But in order to give the player an experience as good as possible, I'm willing to put up with it.

1 kommentar:

  1. Nice, interesting blog post. You clearly tell what you have done and you give a good set of reasons why you did it. How you did it is not as apparent as there is simply no possible way for me to have used the program you used. Even then I can get something of an image of the process and the pains you went through every time you made an mistake, having to go into a txt file to fix them sounds like something somewhere between very aggravating and hellish depending on how many other things are in the level already.
    It is somewhat helpful for designers perhaps but for programmers it is a bit irrelevant although you can not help it as this is what you did the last week. Maybe you can elaborate more on the design decisions that went into each level as you have barely mentioned anything about them or the level design overall. Perhaps something as simple as the reasoning behind why you did not want your levels to be readable, as this is not necessarily a bad thing though you may be more hard-pressed to make it interesting in such a case. All in all though, nice work! Keep it up and you may just make something great!

    SvaraRadera