Alien Swarm Level Development

Awhile ago, I had my first chance to experience the Hammer Editor and the Alien Swarm SDK. My classmates and I were tasked to create a level each, while at the same time learning the in and outs of this tool. After planning the layout of my level, I jumped into the editor to see what it was capable of, before planning the various events and obstacles that the players would encounter. Using the provided tools, I made a rough version of my layout and tried to test it. This was were I encountered the first of the various requires that this game required to run, this being the camera and unsealed geometry.

Reading through the documentation, found on the Alien Swarm wiki, I was quickly able to seal my level to let it compile, finally allowing to test my level. However, because of how the camera is designed to work in Alien Swarm, I found that a few of the rooms I designed, where hidden by their very own walls. A section of the building caused to camera to start cutting through geometry, because of the players descent. As such, I had to go back to my plans, and start removing sections, and editing others, to allow the player’s view to go unhindered. After a few runs of the level, and several trips to the drawing board, I was finally able to get acceptable layout, for the levels alpha.

My next task, was to work with the various Aliens that the player would have to face. Getting the Aliens into the level was easy enough, however getting to work and avoid pop in proved a different matter. I made getting the aliens to behave as I wanted, my first objective. Thankfully the documentation, along with trail and error, I was able to create the proper amount of info nodes and object tags to get the Aliens to behave. The problem with popping in, took a more hands on approach then reading. As I had to work with their borrowing and jumping animations, along with various models and invisible walls, to assure that the aliens didn’t just appear out of thin air and prevent the player from falling through any holes for the aliens.

With both layout, and Aliens taken care off. I took a more general approached, and starting working on the features that the game had to offer. Such as hackable doors, mission objectives, and scenery. Following what I learned from dealing with setting up the behaviour of the Aliens, I was able to apply to most of the remaining features and get them work after a bit of tweaking. As such, I went back to the drawing board one last time, and planned for the events for the players. Then after a few days of play testing, and tweaking, I was finally able to finish my first attempt at creating a level for Alien Swarm.

Good: I was more or less happy with my level’s initial layout, and having the level drawn on paper before hand-made creating the basic shape of it a simple matter. Plus the editor provided all the games models and scripting, so that allowed me to focus more on designing the level, then creating a game from the ground up.

Bad: Hammer is rather buggy, and I had to deal with crashes quite a bit. Combined with the fact that their no official documentation, I had to spend time either testing or searching for any info that was either vague or not truly covered on the wiki that has been set up.

Overall: This was a learning experience, as this was my first attempt with a studio’s actual Editor and SDK. I had to learn how to deal with the inherent restrictions, limitations, and lack of info, that comes with dealing with in-house development software. Due to the short amount of time I had to deal with, I had to learn to manage my time between planning, researching, working, and tweaking. In the end, I was able to create a level that I happy with as a first try. Below I have included a link to download the VMF file of the level, if anyone wants to see what I have done.

Alien Swarm Level: Download Link

Advertisements

Designing Level with Mario

Radek Koncewicz (You can read his posts here.) did a great series of blog posts, which detailed various points into what made Super Mario Bros 3 levels not only great, but also into a teaching tool for game mechanics. This not only involved positioning enemies, objects, and the environment in such a way that aid the player in doing it themselves, but also the order in which the player encounter these situations. The best example of this has to be, not only the start of the game, but the first point in Koncewicz’s post, in which the player travels forward to encounter an enemy with a few blocks overhead. A player that never played this game before, would probably try to kill, or avoid, the Goomba. This will potentially lead to the player inadvertently hitting the block, teaching the player that these blocks contain items.

This way the player is taught a very valuable mechanic, yet the game doesn’t force him nor does it just show him. The level allows the player, to learn this on their own. This trend happens throughout the entire game, not just in the first level. Such as levels that side scroll are introduced early, and are not hard. Which helps prepare the player for later in the game, when they encounter the much harder military levels. Same with the power ups, be it the long flat spot to build up the flying power after you get the leaf, then the coins right at the end that entices the players to jump and learn that they can fly. Then the Fire Flower, which is introduced in a level where most enemies are immune to it.

However, not all of Super Mario Bros 3 levels were great for just teaching. They also had unique elements that could create cases of stress or suspense, these method kept the game interesting and fresh as the player made it through the eight different worlds. Some levels were devoid of enemies, but required the player to be patient and think to bypass the obstacles and make it to the end. Other had giant fishes, or even the sun, chase you through the level until you made it to the end. Then there were even levels were normally helpful terrain, such as slopes and wooden blocks, would be used to hinder the player instead of protect or aid them.

This is the perfect version of a tutorial, no long tedious introduction to learn the controls since it is just pick up and play. There is no stopping every so many minutes for the game to let you know that you can hit blocks, or jump on enemies. Plus with the levels being open enough, players are not forced into doing these actions to get through the levels. There are a number of ways, that do not involve holding the player’s hand as they walk through the level.