Welcome to Gaia! ::

Final Steps and Testing

Just a little bit more to do before we're ready to actually call a level complete.

Adding the room info allows the game to know several different general room settings. The example image shows how each 780 x 505 space has its own room info. This is a Flash component that has many parameters tied to it. Included are settings for if you can screen transition to any of the 4 cardinal directions, whether this room is affected by GST (the time of day) and to what extent, what scale your avatar will display, whether this is a "dummy" room or not, and several other factors. An example of a dummy room can be seen in the blank room located behind the Dead Man's Pass gate. Since there are assets like the trees that have their reference points located outside of a traversable room, a special dummy room needs to be created so the game will at least know to render these props.

User Image

Full size

Other objects that are dropped in the level are for sounds. The Otami Ruins example shows some of the sound components used to make the waterfall audible. These objects have parameters like min/max radius for being heard, fall off, intervals to play, repeat etc.

User Image

Full size

Some areas of the game have regions with cast shadows burned directly on the ground from the rendering process. This would include locations like underneath the aqueduct, or below the wall outcroppings and pipes in the Waterworks as shown below. These dark blue regions are actually vector shapes with softened fill edges for a blurry look. They're set so they don't render in-game, but when your avatar walks on it, you'll get the same darkened shading as when walking under a tree. Since all the shadows handled up to this point were tied to a stage prop, we need another technique to be able to add shadow tinting to elements that don't necessarily Z-sort. FYI, the oval spots on the ground in the fish water fountain area are all the spawn locations where water drips are able to fall.

User Image

Full size

Next we need to add water depth maps to all areas that have water that you can walk into. For instance, Gold Beach has this black and white image spanning across all the water rooms where your character can traverse. Of course this image doesn't render in-game either, but it allows the game to know how submerged your avatar should be depending on where you're standing. Pure white represents no water depth, while black means you're completely hidden underwater, and the shades of gray are for all depths inbetween. Collision is used on the furthest black colored regions away from shore to stop you from walking out to sea. xp

User Image

Full size

A couple last things to do in a level is to decide on where chests and crystals will exist in an area. These are also stage objects, and can be moved as needed to work best for a level.

The minimap that appears on your map in-game also needs to be made if it's not a "low signal" zone. This image is created from a screenshot of the entire Flash level file.

Once we have all this complete, we can make some modifications to the publish settings for the level to assure everything will build properly. First we need to change the path for the exported swf file to the correct location. A swf is the file that you are actually playing when in zOMG!. It's the compiled, compressed version of the larger level file that we've been working on. Another setting to possibly change is the default jpeg quality. All the environment renders and props in the level file are pngs, or a lossless format. When a swf is created, all the images in the level file go through a degree of jpeg compression to reduce file size. Each image can be manually adjusted, or all images can be set to a compression value globally. Once this is all done, we can "publish" the level file, meaning turn it into a playable swf.

Finally we can try to play the level! By running a local version of the game, we can test out areas internally and make tweaks or corrections if needed. Each of the devs create a clone of their normal Gaia account that adds numbers on the end of your name to use just for game testing.

One of the first things necessary to check when working on a level is the collision. During nightly builds of the game collision that the programmers automate, the red vector collision shapes created previously get turned into less precise, blocky collision. This is for optimization, since having the game use a more accurate layout of the collision would lead to longer load times and more slowdown in-game. The Otami Ruins image below shows what this room looks like with its collision map on. By using this visual representation, it's easy to see where problem spots will arise, and players could get stuck or have a hard time navigating. Afterwards, the level file collision can be adjusted to fix these issues, and will update on the next nightly build.

User Image

Full size

When testing levels, the tool that all devs rely on greatly is the Admin Panel as shown below. It's available internally only for the people working on the game, so they're able to teleport to any room in any area, change the time of day, have any CL... in other words, cheat. FYI, Leon's response was actually Photoshopped. mrgreen

User Image

Full size

The Custom Command field is where you'd enter the area and room number, or CL you require, then hitting Send. We devs are too lazy to walk anywhere! xd

The Show Spawner (oops-- someone made a typo!) checkbox allows you to view enemy spawn points in an area. This can be helpful when trying to place objects like trees in front of spawn points so you can't see monsters come in, or to make sure no collision covers up these points. Otherwise, the monsters will be stuck in collision the same as players can.

Spinach will instantly grant you a CL of 20. Helpful when you just want to walk around environments without getting into constant fights with monsters. Getting dazed when you're just trying to test a local asset or see how a night rig displays is not fun. gonk

Not currently used is the large arrow on the right side of the Admin Panel. This was created only to test having more options expanding from the main window.

Under Map It, Show Collision will display the red blocky collision for the room you're in, as described above. One more click will turn it off again.

The Set GST field allows you to enter in any time of day, and the game's lighting will slowly transition to that time. The Lights On/Off button will instantly turn on any lights or painted light assets that exist in the level. This is a much easier way to test night lighting in an area as opposed to waiting for hours so it occurs naturally. rolleyes

After testing the level ourselves, the area is sent to QA (quality assurance) for them to check. They will then go through an exhaustive process of trying to do anything possible in the game in hopes of breaking it, finding errors, glitches and display problems among other things. They'll then write up a bug report with severity level, description and screenshot(s) applied to each issue they find. Then it's up to the dev team to fix these problems so you won't encounter them while playing zOMG!.


In conclusion, this is basically the evolution that every level in the game goes through to become a playable area. Of course this just takes care of the environments. Levels still contain monsters, NPCs, scripting, items and other aspects to make it complete. It can be a long process, but worth it when it's finally finished.

Thank you all for following these threads, and the support you've given. I hope it was educational, and you feel just a little bit closer to the game now that you know how it works.

See you online or in zOMG! biggrin


User Image

Previous topics:
Overview of Environment Art Pipeline

Concept to Flash Implementation

Prop Concepting

3D Model Creation

Asset Organization

Camera Setup

Rendering and Conversion

Flash Asset File

Flash Level Rooms and Props

Local Assets and FX

Animation, Collision and Switches
Stellar Phoenix's avatar

Man-Hungry Demigod

Seeing all the behind the scenes stuff is really neat. (:

Thanks for sharing!
Kitteh Fluff's avatar

Gracious Hunter

9,100 Points
  • Megathread 100
  • Invisibility 100
  • Beta Forum Regular 0
thanks for the amazing series of behind the scenes!

i enjoyed reading it like always ^-^
Ahaha - the CL 20 buff is actually called Spinach? That's so cool!

A very interesting and in-depth post, as always. The Admin Panel was especially neat to read about! Thanks so much for all of these wonderful threads - I'm just sad that they've come to an end! I hope you find more to share with us down the road. :3
Sensual Soul's avatar

9,650 Points
  • Hive Mind 200
  • Elocutionist 200
  • Conversationalist 100
Yay! smile Or maybe I should not be so happy, this is your last one. emo

Well first off I want some of that Spinach! wink And I like the sound of what QA gets to do. Being the "Glitch Magnet" I would rock at it! rofl

I think what you guys do is really interesting. 3nodding Thank you again for sharing your knowlage with use. Now don't be a stranger and keep chatting with us! And I hope to sometime see you in zOMG!
Uesugi Ankit's avatar

Winged Demon

15,300 Points
  • Alchemy Level 9 100
  • Winged 100
  • Alchemy Level 10 100
Lol Admin Panel
Nerevar Telvanni's avatar

Eloquent Elder

11,150 Points
  • Beta Gaian 0
  • Elocutionist 200
  • Alchemy Level 2 100

Mavdoc, I have loved these threads from the beginning. I have enjoyed learning how the game was designed and built.

Thanks for giving us a peek at the GOD console.

I hope to see more of these threads or one similar in the future.

DrQuint's avatar

Girl-Crazy Ladykiller

Admin Panel!!!
Very nicely done, as always~ 3nodding
ShadowFlame1721's avatar

O.G. Entrepreneur

Thank you for all of the threads! mrgreen

Great report every time. *shall miss the updates*

[EDIT] SO THAT'S what the admin panel looks like!

The greatness you, by CL; JK by teleportation; and Qixter by mind control came from that! xD

I think I should help test it. ninja
Saburoo's avatar

Desirable Sex Symbol

12,600 Points
  • 50 Wins 150
  • Elocutionist 200
  • Alchemy Level 4 100
That admin panel is really cool :O

Awesome explanation on how things are finished up, I've found all these threads very interesting 3nodding
Gtsluvr's avatar

Tiny Angel

14,400 Points
  • Money Never Sleeps 200
  • Alchemy Level 10 100
  • Winged 100
I love how spinach is the magic item to raise that cl of yours. xd
Buggy loves that spinach too. 3nodding
Over 9000!
Lei_Trigar's avatar

Noble Survivor

Patrick Jiuliani's avatar

Ruthless Businessman

So thats how Jk managed to teleport around. I'll miss seeing these threads from time to time but its good to see that they are achieved so I can always go back and read through them should I get curious about how its made again. Well done and thanks for all the information

Quick Reply

Manage Your Items
Other Stuff
Get GCash
Get Items
More Items
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff
Gaia's Games