Unreal Editor 3 is a way into the industry. One of many ways.
There are, among a few others like the business and marketing side of things, 2 general paths you could take when deciding what you want to do in the gaming industry, you can either be the engineer or the artist. Good programmers are brilliant minds like John Carmack, Gabe Newell or Tim Sweeney that can come up with interesting new effects and love to research the newest technologies. Good artists are people who might not know how to program a game but know how to make it work on paper, they could be either designers of some sort or concept artists, musicians, and so on. These are people like Nobuo Uematsu, Ron Gilbert and Sam Didier.
Level designing is something in between nowadays. When I used to make levels for Duke Nukem 3D, I would get a bath spa level running in 2 hours. Nowadays you're getting closer and closer to CAD drawing and even to 3D software like Maya. You need a fair bit of "engineer" in you to make this kind of art. Unreal Editor 3 (UE3) needs to feel like an extension of your arm because when you're trying to create those complex scenes you have in your mind, you can't stop to think where "that one button" was or you'll lose your train of thought. Nowadays it takes 6 hours to create a small 1 vs 1 level.
That's why it's so damn frustrating that the editor crashes every now and then when you push the wrong buttons. Big programs/engines like this have thousands of lines of code and finding the reason why it crashes every now and then because of a function you could avoid using isn't easy, and probably isn't even something the developer of the tool is that interested in looking into. I find it odd though that these programs then cost thousands of dollars. UE3 comes free with Unreal Engine 3 games like Unreal Tournament 3, but 3D Studio Max 5.1 cost thousands back in the day and it used to, on rare occasions, corrupt your save file. You have to use "Save as.." for every save and make it a new file in case the last one got corrupted. This isn't a joke either, my 3D lecturer at the time was from Futuremark and he's the one who warned us about it. Anyway, the UE3 program itself is supposedly "Beta" to some extent and Epic doesn't directly offer support for it (not like it's documented anywhere anyway, I wonder what kind of documentation/help engine licensees get..), so it might not be representative of the real "tools" given out and with the source code you can mess around with anything really.
I've tried to cook one of my maps recently after installing UE3 on the Vista x64 machine and it crashes the editor every time it gets to the "Loading map" part of the process. After 4 full installs of the game, sometimes getting it to work and then getting it to bug again, and fiddling around with command line options like "nohomedir" which forces Unreal to forget "My Documents" exists, I figured out the problem. First of all, UE3 works in 2 main directories, one being your install directory of the game and the second being \Users\UserName\Documents\My Games\Unreal Tournament 3\UTGame. From that directory you can see the maps you've been making, both unpublished and published (cooked). In the \Unpublished\CookedPC directory you can see the different packages you've saved, for example in \Environments you could have NEC_Wires.upk and think that nothing is wrong. The problem is that NEC_Wires.upk is already a package that comes with Unreal Tournament 3 and if you save your own package changes to a name of a package that came with the base game, you're going to have problems. Problems as severe as crashing the editor without even letting you in and making some people format their HDD cursing over not being able to make levels. Why is there even an option to save with the same filename then? It's not even an option, it simply saves it as the same filename when you click yes to a dialogue that at no point stated "clicking Yes on this will crash your system". There's not a lot of help online either for UE3 so you're left to experiment with this buggy program.
Learning UE3 isn't that hard but there really isn't enough out there to help get you started. The tutorials by 3D Buzz only come with the collector's edition of the game, which I couldn't get in time, and that's quite lame. Why do they want to limit the amount of people learning to use their engine and thus possibly buying it in the future for their own company? The "official" tutorials are also online on Game Trailers but half of them refused to start for me. However, there are some good places to start so I'll list those. The thing is, if you're a beginner you really need to start from the very basics and some of these tell you how to build a skybox but if you don't know what a skybox is in the first place you'll feel lost.
- Triggz at Game Trailers (the whole system is really messy, try to find what you can).
- 3D Buzz (choose Unreal Tech from the Video Category menu on the left).
- Hourences is a hardcore mapper with some good tutorials.
- Waylon Brinck's UE3 tutorials for a course he did.
- Architectonic, UE3 tutorials.
- Unreal Technology site, Epic's site is mostly for Licensees but also has some good mod resources.
The best bet is still to get the official tutorial videos that come with the Collector's Edition (CE) of Unreal Tournament 3. They're found on the first link posted above but the site is messy, the videos are smaller and some people seem to have problems loading some of them. Get to know what BSP and Static Mesh means and you're on your way to creating new worlds.
When you open the editor for the first time it can look very daunting. There are lots of buttons and you don't know where to start. It's not too bad if you've done stuff with the earlier versions of the engine but for new users it might even turn them away, but if you're going to give up that easy then level designing is definitely not for you.
The tutorials help when they start from the very basics and that's why the ones that come with the CE version are so great, they start from the very beginning and take care to explain everything. You can learn a lot from the movies just by having UE3 open while watching the videos. The guys there talk in an excited tone and don't seem bored at all. They also don't mention any crashes and the weird "bugs" or "terribly odd features" that do appear are brushed aside like for example sometimes moving an object get bugged so you try to go left with your mouse but the static mesh (or whatever) goes up. The Reference Coordinate System had turned to Local instead of World and for some weird reason follows the local plane not only visually but also strictly with the mouse.
For any new wannabe level designers I'll tell you this, to get an idea of how your level will be made you will generally be following this order:
10 Steps To Creating A Level In Unreal Editor 3
1. Sketch and Draw. Plan out your map by getting reference pictures (or in the best case individualised concept art) and draw a sketch of how you want it to look. You want to know how the flow will work and you want players to be able to move around freely and have many paths into 1 area and perhaps some closed out more dangerous areas too for powerful pickups. You don't need to worry too much about pickup placement yet though. It would be good if you knew the different themes available in the game you're working on. For Unreal Tournament 3 the most important packages are:
\Environments
ASC - asian/chinese/japanese theme (curved roofs, lanterns,..)
HU - human theme (buildings, cars, wooden doors,..)
LT - liandri/futuristic town (buildings, neon signs,..)
NEC - necris/alien (tentacles, alien architecture,..)
NR - norse/middle age (very few resources)
UN - universe/world/nature (caves, water, grass,..)
\Effects
Envy - particle effects (smoke, water,..)
\Sounds
A - all sound effects and music
2. BSP. Use Primitives and edit vertices in Geometry Mode to get your basic layout done. You are basically working with very simple blocks at this stage. It'll look like Duke Nukem 3D. Also, remember to save your level with the appropriate tag in front early on to enable the gun mesh, double jump and correct settings for when you test it in the editor. Here are the tags in Unreal Tournament 3:
DM-LevelName, Deathmatch
CTF-LevelName, Capture The Flag
VCTF-LevelName, Vehicle Capture The Flag
WAR-LevelName, Warfare
Remember the jump heights for the character if the game supports them. It's best not to use the max values because it becomes very hard to actually get on top. It's possible but not good for a gaming situation. In Unreal Tournament 3 they are:
55 units for single jump - I would use 50 at most to make it easy.
90 units for double jump - I would use 85 at most to make it easy.
Also, as explained above, use room/corridor sizes like 256, 512, 1024 and 2048 to be sure that fitting Static Meshes in isn't a problem later on. Remember to have the floor and ceiling at one of the major grid lines (this can become a problem in Additive space if you create a Hollow Primitive, I would advise against making those for main rooms anyway, build your own walls) because you don't want to later realise your small 2 unit difference creates a bigger problem.
Nothing but the building blocks for an Unreal Tournament 3 level.
3. Static Meshes. Start adding Static Meshes to create the look of your level. Add any terrain you want and get a Skybox up if you need one. Static Meshes are the most important part of your level in terms of "wow factor". You can really create some crazy things by freely adding and combining different pieces together. It'll look like something from the first Unreal Tournament game at this point.
Your level starts forming. Create the general look and feel.
4. Lights. Add the lights to get a feel to your level. Don't overdo it or your scene will look bad, try to limit the amount of colour you use if you want realism. Remember to tweak the Shadow Resolution on objects if you want. Remember though..
On terrain a lower shadow resolution number means you'll get a lower quality lightmap.
BUT
On BSP surfaces a lower shadow resolution number means you'll get a higher quality lightmap.
Try not to get confused. Also, turn OFF the Cast Shadows function of your Skybox in it's properties if you want your Skylight to have any effect on terrain. Skylights tend to act weird sometimes. Once you turn on your lights for the first time your level will look very different to what you thought it would be. Simply put, it will look a lot cooler and you will feel like a magician. You should also get to know (do a Google search) what Vertex Lighting, Tessellation and Lightmaps are, especially if you want to bring in your own 3D meshes.
5. Interaction. Create your Interpolation Actors such as doors and lifts. You need to make the Static Meshes, that you added earlier, move. Remember, they will need Dynamic Lighting as opposed to Static Lighting that you've used up until now because a moving object will be pitch black without a Dynamic Light on it. Also, you'll need to get into Kismet at this stage for certain features in your level. Remember, plug in the "wires" to the left side of your new object and out from the right side of it. Have a look at Matinee too if you need cinematic elements but this should be implemented a bit later, just keep it in mind.
6. Effects. Add any Particle Systems like water dripping down from the top of a cave or wind blowing outside in a field. Add fog and a Post Process volume if you want Bloom or Depth of Field effects. You don't want to overdo these either because too many effects in one room combined with lights will cause some serious framerate drops. Always remember to monitor your progress through the Light/Shadow Complexity and Texture Density views.
7. Blocking Volumes. With lots of Static Meshes all over the place you'll want to make sure your players don't get stuck in some tight space. I feel that they use this a bit too much in Unreal Tournament 3. Every single surface is covered in Blocking Volumes and I can't help but think it's a bit redundant. It even gets annoying in-game when you're playing and want to jump to some interesting roof spot for a good sniping position. Simplifying your level by using Blocking Volumes to guide the players can be used to an advantage in fast games like the Unreal Tournament series but games like Rainbow Six should allow players to fit into tight corners more. The absence of a jump feature affects level design a lot in Rainbow Six though, but that's another topic. You might want to design Matinee stuff here as well if you're doing a Single Player story driven experience for example. It's best to do this after Collision is in place for obvious reasons.
Make sure the player doesn't get stuck if running along walls for example. Create "slopes" like this to guide them along.
8. Paths. Enemy AI needs to move around and building paths helps them understand where they can go. You should do this at a fairly late stage or else you might run into problems when changing around parts of the level.
9. Audio. Music and sound effects. You want to make your final atmosphere by looking at the level and running through a completed design and adding what you feel fits best. I kind of wished there was a better system for sounds in UE3 (for example Previewing should be easier) but it works OK for now.
The finished level in the editor with lights, collision, audio, bot paths, etc. The idea was to create a small 2-4 player map with a dark moody futuristic atmosphere. The level needed some powerful items in dangerous places. More info on that at the bottom.
10. Cook. Remember to publish your map by cooking it. By doing so you'll have 1 file with your full map that you can distribute to your friends or send online for others to play. There are some problems though, as I learned the hard way, and those are that you should have any custom assets in your same working directory as the map from the very beginning (or you might have to remove them all from your level and redo them) and don't save packages with the same name as the base game's packages or you might end up in an infinite crash loop like me. UE3 doesn't even warn you that it's saving by the same name, it just does it when choosing to cook your level. Be careful.
Another thing that got me quite annoyed at first was the lack of a real keyboard layout image/list that shows what the different buttons do in UE3. There are buttons for a lot of different things and you might wonder why something is not working when you have the feature turned off. You can turn viewing of different things on and off in the viewports from the small arrow down named "Toggle Show Flags". You can view the buttons used to toggle paths, BSP, etc. from there. Some other important keyboard buttons are:
Left Mouse Button (LMB), or Right or Both and Drag
Move the camera around in the selected viewport.
L + LMB
Add a default white Point Light with brightness 1.0.
L + CTRL + LMB
Add a Point Light with brightness 0.2 that matches the surface colour you clicked (for faking radiosity).
CTRL + A
CSG: add. Sometimes might refuse to work. Select and deselect, then try again.
CTRL + S
CSG: subtract. Might refuse to work, same as above.
A + LMB
Add selected actor from actor class browser. You can also right-click and choose to add the actor from the menu there if this is proving unresponsive as it sometimes does.
S + LMB
Adds the currently selected Static Mesh. Usually it's fine to add it just through the right-click menu because you only need one and can then duplicate it with ALT pressed so you're not going to use this as often as A for actor classes because those trees have a tendency to close themselves.
. + LMB
Thats a period. It adds a path node which is very useful for when you want to make paths for your AI to move through since you'll be putting a lot of them down at times. Just remember to do this near the end of your level after collision is finalised and all pickups are placed (they act as path nodes too as you can see from the Actor Classes tab).
Space
Swap between the 3 main Widgets. If you want to manipulate the size of only one side of the selected object then you'll have to choose the Non-Uniform Scaling Widget from the top of the editor window or set your own values at the bottom right.
Middle Mouse Button Drag
You can measure distances like this. Useful to see what ratio you need to fit an object into an area for example. Have your Windows Calculator open in the background and measure the size of the area and the object, then divide those two and set the value in the left-most Draw Scale box at the bottom. Try to use default room and corridor sizes to fit Static Meshes in by default. Those are 256, 512, 1024 and 2048 for example.
CTRL + ALT + LMB drag
Select everything inside the area. Remember this will add to your current selection. Either left-click first on one object or them CTRL and left-click to select/deselect multiple.
ALT + LMB drag
Create exact copy of whatever you drag, rotate or scale.
ALT + SHIFT + LMB drag
Create exact copy of whatever you drag, rotate or scale and follow any movements you do with the camera.
CTRL + LMB/RMB
Manipulate terrain in Terrain Editing Mode.
F4
Open selected actor's properties. Same as right-clicking an object in one of the viewports.
F5
Open selected BSP surface properties.
H
Show only BSP. You can toggle only Static Meshes/Sprites/Collision off in the "Toggle Show Flags" menu.
Home
Center all viewports on the selected object. Very useful.
End
Drop the selected object onto the level just below it. Useful to place things on the ground and not have them floating around. Be very careful with leaving walls and such in the air, your level will lack finesse.
Ctrl + 1-9
Sets a camera angle to that spot for the keys 1-9 (not on the numeric keypad).
1-9
Brings your view to the place that camera was set to, see above. Useful for tweaking screenshots of your level or if you have mountains in the distance and need to edit them up close and then quickly get a view from where the level is played from you can make 2 cameras and swap between them while working.
A good understanding of some 3D software or a CAD program will get you far. UE3 is a lot simpler than any 3D editing software but it can get quite complex the deeper you go into Kismet. Luckily it isn't as boring for us non-programmer types as writing LUA code for WoW modifications but it's not exactly easy to figure out unless someone tells you the basics. There are good videos out there to get your first door/lift moving.
I really like the Unreal Engine and it's the only one that you can really consider buying right now if you're going to go for someone else's engine and not build your own. id Software haven't spoken a lot about the new id-Tech 5 engine and Monolith no longer license their LithTech technology (I never saw it as anything special anyways, they seemed to lack the real drive to push forward, and one of those brilliant minds like Tim Sweeney and John Carmack). As for Cry-Engine 2, I'm not even going to bother finding out if you CAN buy it, Unreal Engine 3 is optimized so much better and is a highly polished engine when it comes to the games themselves. Crytek just seems to want nice screenshot machines. I've had numerous bugs in both Far Cry and Crysis (can you give up on the dumb 'cry' name already?) with tree textures getting stuck on the player viewport from the other side of the island creating looooong stretched textures and I still don't know why Crytek don't all just transfer to Futuremark to work on PC benchmarking software. Games are supposed to create a feeling of false reality so to speak and Unreal Engine 3 does that just as well currently when judging the technology of the engines because it's optimized better. I don't buy games that make your frame rates die with a computer that cost 1500 euros. Enough Crytek ranting, I just don't get their what they're trying to contribute to gaming.
The crashes get me furious at times but UE3 has mostly worked very well and at least it hasn't corrupted any of my work files. You have to learn to use it, and I don't just mean learn where the buttons are but also learn how to not crash it and cause problems for yourself. But that's the same with many big programs as I wrote earlier. I don't get the bugs but I'm going to continue making some cool maps because that's a great way to prove to a possible employer that you have vision. Here are some pics of the completed map DM-Remedy that I made for the sake of this post.
Rocket Launcher - The most powerful weapon in the level is a rocket launcher. You can only find ammo from one place (the bridge in one of the rooms) and therefore it's not going to exactly end up being a "bunny-hop-rocket-launcher" level. I still love the fast shooting rocket launcher as a weapon in games even though some people dislike the idea. There are no translocators in this level so you'll have to use your jump. To get the weapon you have to jump from a pile of rubble to the railing and from there up to the pedestal that holds it. It's not an easy jump either and you might fall down into the lower pathway which will set you back a bit. Risk vs. reward.
Med Health - The idea was to have a health powerup that didn't do anything if you had full health but one that you could go to if you had survived a tough fight or one you ran from with low health. The medium health fit that purpose well. You can approach from 2 directions as the arrows show and do a double jump to the other side of the small room to get it. It's still risky but if you can do the jumps fast it can easily save your life because you can jump into the other room from the health to escape pursuers.
Lower Paths - The lower pathway has a shield belt at the corner but if you decide to go for it you'd better not enter from the sides here, but from the room in the middle so you can get out fast. The fairly narrow corridor is blocked on both sides so you'll easily become prey to all the weapons in the level (Flak Gun, Rocket Launcher, Bio Rifle, Link Gun and Shock Rifle - all of which are powerful in these types of small areas).
Tentacles and Invis - There is an invisibility powerup spawn point here which works great in 1 vs 1 games. It's a bright area of the level with a crack in the corner showing a landscape with mountains (terrain), a skybox and a town in the distance, covered in a Post-Process Volume for a Depth of Field effect, that's being overrun by Necris tentacles. There are some tentacles coming through the walls here too.
Future improvements on the level include:
Ceiling - I need to get the ceiling in most areas to look a bit better. I added some windows to make it seem more complex along with the rest of the level but some other areas are still lacking. It's important to keep a consistent feel to your level and don't leave too many empty areas with the basic underlying BSP showing because that gives off an amateur vibe.
More height variation - This is a simple level but the ceiling is basically at the same level throughout and this creates an amateurish feel. I'm going to have to change heights in certain areas but I don't think I'll look into this map that much anymore, I'll start focusing on something different, preferably something outdoors and maybe with vehicles.
Here's a fullscreen picture of the level being created in UE3. It'll look quite complex in the end but since you've built everything yourself from the ground up one step at a time, you'll know where everything is. Don't get discouraged when looking at the complexity of the maps that ship with Unreal Tournament 3, they spent months on each one just to get it looking as good as possible because they're trying to sell the engine too. There are some not-as-awesome-looking maps in the bunch too and they too have a few issues with overlapping textures and such. Maybe check out some other company's UE3 levels like those in Rainbow Six Vegas 2. They're simple and a lot less complex, just don't take those as a reference for what to strive for, they're simply a good beginner's guide. Somehow it just feels they either don't know how to use the engine fully (I believe most Unreal Engine 3 licensees don't really know everything the engine is even capable of) or had too little time. Anyway, it's good to compare. That's also a problem with buying a ready-made engine, because of all the small little quirks and how the engine works, many games are bound to look the same to an extent. Partly because someone else does the futuristic world type of game too and copy elements from Epic's own games, for example in Mass Effect you can see some of the same type of architecture as in Unreal Tournament or Gears of War. Obviously it's a longshot to state something like that but it's very possible some 3D modeller was influenced along the way, so what. Another thing is that when you put cool features like the Bloom and Depth of Field effects in Unreal Engine 3, developers are bound to use them because they feel they have to since they paid for it. Doesn't apply to everyone, I know, but it's something Epic needs to keep in mind, keep the engine as "genre-independent" as possible. Make it easy to create anything with it. It's working nicely for now at least so I'm not complaining.

0 comments:
Post a Comment