The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:Mapping For Unreal SinglePlayer
Originally published at UnrealSP.org by Drevlin and eVOLVE
You want to create a singleplayer level but don’t know in what end to start? Perhaps you have already created a singleplayer map but you feel that it is missing that little “extra”. In the following documentation you’ll read about how to create a better singleplayer experience…
NOTE that this is not a pure tutorial - in some places I might describe how to make stuff but you should not count on it.
- Use of environment
- Holding up a storyline and keeping it exciting.
- Weapon / powerup placement
- Creatures and scripted sequences
- Various small tips for Singleplayer mappers
You might think wonder “what difference may sp lighting do compared to lighting in multiplayer maps?” Well not much really J
Although you need to plan your lighting a bit better - in multiplayer a lot of people turn lighting off to see all of the level unlit. There are not many people who do the same in singleplayer maps. Lighting is an important factor in the atmosphere of a level and atmosphere in singleplayer maps is more important than in multiplayer maps. Remember the flickering corridors in Doom, and it gave you that “omg Omg OMg OMG!!!!” feeling?
One must remember that lighting is not just the presence of light, but also the absence of it. Use shadows to your advantage when covering enemies and secret areas (more on secret areas in “Use of environment”) Allot of people don’t use that much of coloured lights anymore, which I find to be a shame. I mean look around yourself, the light you see around you is not just one colour, and if it is it sure as *ell not white/uncoloured. When coloured lighting was introduced in Quake 2 (It was first, right?) Everyone thought “oooh yeeeey… that looks awesome!!” And with Unreal it was “OOOOH YEA!! HOLY MOTHER!!!” Unreal has one of the most advanced lighting engines to date, use it.
- Think not only in the ways of “light there and light there” but also in the ways of absence of light. Hide enemies in shadows, use special effects such as flickering, Strobe and other to create a rich light map.
Use of environment
A very important factor in singleplayer levels is that the environment feels realistic for what’s going on, meaning that if you are making a level which has the story of a wrecked alien city you don’t go build a medival castle… “But of course” you say but remember the case mentioned above, was a extreme chase. Small things such as miss aligned textures, poor use of textures or perhaps a misplaced powerup can completely ruin a level.
Be smart in the design of the level. Use the Z-axis (up and down, folks) in your work; surprise the player with special effects and, of course, overwhelming architecture.
One thing that I miss in today’s games is the "Secret areas" where goodies such as weapons or armors can be found. Hide secret passages in shadows and/or use natural covers (Trees, bushes, rocks etc).
Also when you make Castles or houses or facilities remember to make the realistic and make sure that the architecture is natural and doesn’t get in the players way. Also make sure that the creatures that inhabit the place find it easy to navigate. Make multiple rooms with areas such as sleeping halls, libraries, engine rooms, dining rooms, transport tunnels - anything to make the building feel realistic for its purpose (I find it hard to believe that an alien race invaded a planet only to build useless buildings on it.)
- Use the Z-Axis to your advantage by not only building the level on the X and Y axis. Be a perfectionist! Look for small flaws such as wrongly aligned textures alike and correct them.
- Make Eye candy – when everyone says “Gameplay comes first” they are correct, however this doesn’t disable you from making a good-looking level.
Bottom line is what looks good and plays good is good level Environmental wise.
Holding up a storyline and keeping it exciting
You should have completed the entire story and plot before starting the work on the level/levels and it should contain information about what will be told (using the translator). Just as in a good book the ending should be surprising and to do this you should lead the player into a, so to say, “different direction” so when the ending does appear he is totally unprepared for it (Mentally wise). You can also use Translator events in an “unknowing way” - meaning that you, for example, stumble across a few dead corpses of a few humans who have had “Sightings of a aggressive species”. The player feel a bit excited for seeing this “Aggressive species” as well as he is a bit afraid to encounter it.
Another thing which is very effective is a simple change of music. Switching from calm music to an echoeing silence will make the player cautious, and maybe afriad. The opposite to. Just when the player thinks its over you can suddenly change the music for a "surprising" feel.
Advanced Story Telling
The following section is for the ones who feel they want to do more than just Translator events to be the main source of information… How to accomplish this? Use movies/in game sequences. Ill tell you about the latter first:
By saying "in game sequences" I mean Scripted sequences… still not with me? Remember the Skaarj that ran away in the first level of Unreal when you got the dispersion pistol? Or perhaps when the poor guy gets thrown into a wall followed by a couple of rockets from a brute? That is what I am talking about. This may not be the CLEAREST way of telling the story (And you should not only use this method) but it’s a real cool thing that I use a lot in my levels. It don’t just have to be made to tell the story but just as a “cool thing” to have in your level. See more on scripted sequences down below.
You can go one step longer and use movies, using the game engine, to tell the story – have you ever heard of the word “Machinima”? Its another word for “Movies which uses a game engine” (Good short, eh?) This is easily made in the powerful tool put together by the great Unframed Team (www.unframed.org) called UMS or Unreal Movie Studio (see Capturing Unreal Video). In it you will find a lot of useful features that will enable to make your level a interactive movie if you so want J. If you feel that you just wish to use the regular tools already existing in UnrealED (or are just to tired to learn some new tool) you can make less advanced movies using just UnrealED (But it will take longer time and is more difficult and uncontrollable)
- Hide the true objective of the campaign until the very end of the scenario.
Inventory Item Placement
A very important topic as the placement of the weapons and powerups are vital to build a level.
The best way to find out what is needed and what weapon/powerup feels right at a certain spot is simply to play the level (Using no cheats). Keep in mind that there are worse people than you that are going to play the level so don’t place the weapon so you barely survive.
- Aw cmon… The info stated above is NOT very long… Read it trough you lazy sob J
Creatures and ScriptedSequences
The main factor in a good level is really the characters you meet in it and who you are fighting because think of it – if people want to play an quest based game they will not play Unreal but some adventure game. The creatures in your level must feel realistic for the level and must not feel misplaced. It really helps if the Creature is not just standing in one place doing nothing. Simple Scripted sequences such as Patrolling creatures and on Skaarj creatures you can place them behind a keyboard and use the option “buttonpushener”. A useful simple sequence is the sleeping Krall - Go into Krall properties and then display. Under animation type either Sleep1, sleep 2 or sleep3 to get the Krall far into the land of dreams (which cant be THAT far from the Unreal universe J
That covers the “Basics” of this section so now lets move into the more advanced stuff.
The little actor called AlarmPoint mostly makes scripted sequences in Unreal and this little actor is somewhat awesome. You can get the Creatures to fight each other, you can make the buggers flee, push a button and even take alternative routes to attack the player by using only this actor.
Learning this actor is VITAL for you to bring the community a good singleplayer experience: find out more about it on the ScriptedPawn page.
It has to be fun.
That sentance may seem like a "well duh!" kind of thing, but, sadly, this cruitial factor is missing from alot of custom single player maps I have played. Dont make it so hard you have to try 7,415,151,337 times to beat it. Dont make puzzles that are near impossible to solve. (ie: you must shoot an invisible trgger in the darkest part of the room then blah blah blah, just to open a single door (unless it is a secret area or, of course, the player is expected to accidentally shoot the trigger in the middle of a firefight.) that you must solve to continue. Dont make the puzzles to simple either.
Also dont make fights to boring or to long. Nothing is more annoying in a game to work for 10 minutes to get one shot one soem boss monster thingy and you realize you must do it 99 more times.
Sites dedicated to the original Unreal game and singleplayer mapping.
- Mapping For OSM Adventure – A singleplayer/cooperative gametype for UT2004.
evil_blue_dude: Made a few changes. Marked them with a boldm first letter.
SuperApe: I'm close to releasing a SP gametype mod as part of a mapping toolset that is meant to mimic the old UT-style monster AI. After a little more SP mapping experience, I'd like to revisit this page. Just to clean it up; the technical info for my mod should be the same as old UT, so this would be used as a reference for both. The concepts are the same, I just want to format and clarify some of these things.
SuperApe: removed bolding from ebd. Will revise this page soon.