There has never been a better time to start designing game environments and level designs. More game engines and level editors are becoming readily available for free or small price of the game to anyone who wants to learn how to level design. But with more choices, comes indecision. Especially if you are just beginning your journey into level design and game environment art.
What game engine should you start with? What level editor do you choose to work with? What is the difference between a game engine and a level editor? How do you download level editing tools and game engine to work with? Is UDK better then CryEngine 3 SDK or is Unity 3D the way to go? Which Source Engine game should I start mapping for? What is the difference between game environment artist and level designer?
Where do I start?
In this tutorial I want to help you choose which level editor and game engine you may want to start with. I will cover the basics and then go more in-depth to help you choose the "right" game engine and level editor.
Following tutorial covers:
- Level Editor vs Game Engine vs SDK
What are the differences between level editor, game engine and SDK
- Level Designer vs Game Environment Artist
What does it mean to be a level designer and game environment artist
- Stand Alone Game Environment or Playable Game Level
Are you going to be creating a playable map or a stand alone game environment?
- Choosing a Level Editor for Level Design
If you are interested in level design, which level editor should you choose?
- Choosing a Game Engine for 3D Game Environment Artist
If you are interested in 3d environment modeling for games or arch viz, which game engine and its toolset should you choose?
- How I Choose a Level Editor and Game Engine
My personal preference and how I choose a game engine and level editor to work with on a specific project and things you should consider when choosing
Make sure to check out all the tutorials within this series listed below:
Level Editors/Game Engines Series:
What Level Editor and Game Engine Should You Use - (How to Choose)
Lets start with the difference between game engines and level editors.
LEVEL EDITOR VS. GAME ENGINE VS. SDK
What is a Game Engine?
Game engine is the technology used to create and develop videogames. Game engines are the core of any game you play. It is what makes the game possible. It is the functionality, graphics, gameplay, animation, sound, AI, physics, rendering, network code etc. There are a lot of game engines that are used to create games.
Here is a list of game engines: Wikipedia.org list of game engines
Many game engines are constantly updated and modified. For example Unreal Engine is very versatile and has been used to create games such as: Batman: Arkham City, Gears of War Series, Borderlands Series. For a full list of Unreal Engine games go here.
Source Engine is another game engine. Source has been used to create: Half Life 2 series, Counter-Strike: Source, Counter-Strike: Global Offensive, Left4Dead, Left4Dead 2, Portal 1 and 2.
Few examples of games and engines used to create them are:
Game Engine: Glacier 2
Game: Hitman Absolution
Game Engine: FrostBite
Game: Battlefield series
Game Engine: CryEngine 3
Game: Crysis 1, 2 and 3
Many game engines are made available to the community for free (or price of the game). While others are only available in-house (in studio) and are not released to the public. Many game engines require you to purchase a license in order to develop your own games with it. However there are game engines that are open source and are free to download and begin using.
So if you were to create a stand-alone game to sell or to give away for free, you would need to either license a game engine or use open source game engine (free), to develop your game.
Tutorial: Recommended 3D Game Engines
What is a Level Editor?
Level editors are used to create levels/maps for a specific game engine and specific game. Level editor is used to create the world that the player will navigate, interact and play in. Level designers are able to create new mission types, new worlds, and new content without modifying any code to the game engine itself. Level editors are usually limited to the type of game and game engine that was used to create it.
Level editors are either shipped or released with the game as a download. Many level editors are only used in-studio where the game was created and are not released to the public.
Level editor usually comes bundled with the game engine and its tools, also known as SDK or Software Development Kit. (More on SDK in next section.)
After creating a new gameplay map, level designer can release their final work for others to play using a specific game that the level editor was used in. Or this level/map will be used as part of the entire game.
For example if you want to create new maps for Left4Dead2 then simply downloading the L4D2 Authoring Tools will give you access to the level editor and everything you need to create custom map campaigns to add to the world of L4D2. Same goes for any other level editor. Want to create environments for Skyrim? You will need to download the Bethesda Creation Kit, which is available once you have the game.
Here is a large list of level editors that you may want to take a look at. Not all level editors listed have a downloadable version.
For a full list of WoLD recommended level editors see this blog post.
There are level editors that offer more flexibility along with source code allowing you to change and create new gametypes, new functionality that were not intended with the shipped game.
Such example is original mod Counter-Strike.
screenshot source: wikipedia
Using the Hammer level editor and its SDK, modders were able to modify the code and use the level editor to create a new gametype, include new models and new game functionality that Valve did not intend for. They used the game engine, the level editor and its source code to create a new mod (game).
If you want to go outside the scope of what was intended within the level editor, you will need to have access to software development kit (SDK).
What is SDK?
Wikipedia defines SDK as: "a software development kit (SDK or "devkit") is typically a set of development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform."
SDK is a kit that contains all the tools needed to develop using the chosen game engine. This would include the game engine, level editor, exporting/importing tools, model viewers, example files, tutorials etc.
Game Engine is the code and tools that makes the game and SDK possible.
Simply, Game Engine is SDK with additional tools to help the developer.
LEVEL DESIGNER VS GAME ENVIRONMENT ARTIST
Level designer and game environment artist are two different disciplines, yet there is a lot of overlap between them. The outcome for both is to create game art that other players experience.
Level Designers job is to create a playable level. The world in which the player walks through, fights through, experiences the story and explores. Level designers are responsible for the layout of the map, scripting events, setting up gameplay elements, using props and assets that the game environment artist created, polishing and optimizing final playable map. Level designers create how "fun" the map is for the player and how the player progresses through the game world.
Game Environment Artists are responsible for creating the art (3d models) that the level designer uses to create the world. Environment artist sculpt using Zbrush/Mudbox, model using Maya/3DSMax, UV, texture and import their finished models into a game engine, ready to use by the level designers.
Level designers and game environment artist work together to create the game world that the player plays though.
Depending on the gaming studio, level design and game environment art is split between two different people or it is done by the same person.
Very often there may be overlap of responsibilities between a level designer and game environment artist, especially if you are creating the world by yourself. For example, if you are creating a playable map for a specific game, and you want to include custom models and textures. This will require to create custom props and assets in a 3d application. You will need to take on a role of environment artist before you can jump back to level designing.
STAND ALONE GAME ENVIRONMENT OR PLAYABLE GAME LEVEL OR GAME DEVELOPMENT
Before you begin to create custom environments and/or maps ask yourself:
Will I be creating a stand-alone game environment? Or Will this be a playable level for a specific game?
Will I take on a role of a game environment artist or level designer or both?
Here are some distinctions.
Playable Game Level:
- Playable for a specific game
- Contains gameplay (flow of the map, puzzles, enemy or friendly AI etc)
- Must be optimized for performance, and for gameplay
- Requires scripting
- Requires a specific gametype
- Requires player interaction and participation
- Often involves a story; has a beginning, middle and an end
- Part of already created game, an extension of the game's world
- End result is for others to download and play your map for a specific game
Stand-Alone Game Environment:
- Created in any game engine, only limited by what the game engine can do
- No gameplay elements, no player paths, no objectives, other players will not be exploring and interactive with the environment
- Usually for a portfolio, to create an environment to share, to showcase your skill, to get a job, to learn and expand your skill
- Usually involves custom models, textures, materials to be created and imported into a game engine
- End result will be a fly-through video or screenshots
- No need to optimize, primary focus is on visuals
- Used to showcase and display game art, game models, game textures or arch viz
IF YOU ARE INTERESTED IN LEVEL DESIGN, WHICH LEVEL EDITOR SHOULD CHOOSE?
To choose a game level editor to work with, the first question I would as myself is which game do I play the most? Which game do I want to create custom maps and missions for?
Which game do you play the most?
The decisions which engine you'll end up working with will likely depend on what games you are playing and which games you want to create custom maps and game environments for.
You want to spend time creating levels/maps for games that you love and enjoy playing. For me it is L4D1/2, Counter-Strike Series (Source, CS: GO), Far Cry, Crysis Series and Unreal Engine (I love engine itself, so any FPS game that uses Unreal Engine has my attention).
Thus, the game you want to map for will dictate which game engine you'll work with and which level editor you will use.
Level Editor Availability:
Once you know which games you would like to create maps for, check to see if a level editor is available for you to download.
You can use google to search if a level editor is available. You can also take a look at the wiki's full list of level editors.
See this blog post for the recommended level editors that are available for download.
My top suggestions and level editors I use and cover on this site are:
If there is a level editor available, then most likely you will have to purchase the game to have access to its tools.
UDK and CryEngine 3 SDK can be download as stand alone installations. While they are not actual games, they give you all the tools needed to create. But for Hammer Source level editor, Crysis 2 Sandbox, Skyrim Creation Kit, or Call of Duty: Modern Warfare you will need the full game installed on your computer before you can use the level editing tools.
If you want to map for Day of Defeat: Source, Counter-Strike: Global Offensive, Counter-Strike: Source, Half Life 2 and its episodes, Portal 1/2, L4D1 and L4D2 then you need Hammer Source level editor.
If you want to map using Unreal Engine tools then you have a few options. Mapping for Unreal Engine will either require a game, such as Gears of War (only the original Gears of War has an available level editor; Unreal Tournament 2k4 or Unreal Tournament 3) or you can use a stand alone downloadable game engine and level editor UDK, which is what I now prefer to use.
If you want to use CryEngine 3 Sandbox, you can download free stand-alone game engine and level editor CryEngine 3 SDK, or you can purchase Crysis 2 and download the Sandbox level editor to create new maps for Crysis 2 only.
If you are interested in any other level editor for your chosen game, you will have to cross reference to see if a level editor is available.
Go here for full blog post: 15 Recommended Level Design Editors.
Be Aware of Limitations:
When working with level editors for a specific game, you are limited to only creating maps for that game. Even if the game engine is the same. For example, Dishonored, a game by Arkane Studios uses Unreal Engine 3 Technology, but you can't use UDK or other Unreal Editor tools to create maps for Dishonored. You would have to use proprietary tools used by Arkane developers, which are not available to the public.
Choosing a game and its level editor will limit you to create only environments for that particular game and its engine.
Another thing is to be aware of the limitations within technology of the game engine of what is possible and what is not. Games you will create content for have specific set of rules that you will have to follow. Certain game engines weren't designed to do specific things. For example Source Engine wasn't designed to create open ended forest environments. It works best if you stick with urban theme and limited rural open areas. Not that Source can't work with forest environments; it is just limited within its ability to do anything expansive. CryEngine 3 and Unreal Engine 3 would be a better choice and can create large open-ended worlds with amazing detail.
The more you practice creating environments in a given engine, the more you will discover what is possible and what is not.
In a nutshell, to choose a level editor:
- Which games do you play?
- Which game do you want to create game environments for?
- Does that game have a level editor and tools available?
- If yes, you are set. Download and begin to create.
If you are working as a level designer in a studio, you already have a game engine and a level editor chosen for you.
IF YOU ARE INTERESTED IN 3D GAME ENVIRONMENT MODELING FOR GAMES, WHICH GAME ENGINE AND LEVEL EDITOR SHOULD YOU CHOOSE?
If you are a 3d game environment artist and want to create stand-alone game environments that are not game depended and will not have any gameplay, you have a handful of choices.
When deciding which game engine you want to work with, you'll have a few decisions to make.
Accessibility: What is available to download right now to begin using. My suggestion is to choose the most current up to date game engine you can find, and one that is very open ended to any game environment you choose to make.
Price: Is it free? Do I have to buy a license? What does this license limit me to do? Can I do as I please with this game engine?
Features: Does the engine offer current generation workflow (advanced shading, dx11 support, skeletal animation, blend shapes, dynamic lighting, lightmaps, per pixel shading etc). You can find most of this information on the game engines feature page. See this page for a list of game engines and links to feature pages.
Export/Import: How easy is it to import your custom content into the game engine? Do these game engines come with plug-ins that I can use right now? Can I use Maya/3dsMax/Blender to export/import custom models right out of the software?
Community: Are tutorials easy to find? What about official documentation? If I get stuck and need help, are there active online community I can go to for help?
My top 5 suggestions:
- Unreal Engine 4
- UDK (Unreal Engine 3)
- CryEngine 3 SDK (CryEngine 3)
UDK will offer pretty much everything you need. It is constantly updated game engine with the latest tools and technology. It is widely being used in the industry right now. I highly recommend UDK.
CryEngine 3 SDK is another great engine you can begin learning about and using. CryEngine 3 is a very powerful and game engine and will make you learn and incorporate the latest industry standards into your work.
Unity is another good game engine you can start with. There is a free version and a premium version of the engine. I have not used Unity myself, but from what I've read and seen others have done with it, I would recommend it.
*Source Engine is my final choice of recommendation but with few side notes. For this you will need a game to use. With UDK, CryEngine 3 SDK, and Unity can be downloaded right now without a game to be used. Source will require a game.
Also, Source is an older game engine, so you will be limited to the type of game environments you can create. The pipeline of getting your own custom models is very cumbersome and requires many steps to make them work. You also need few stand-alone applications and plug-ins to get it working. With all the downsides, I still love working with Source because of the games.
One of the thing that Source has going for it is the amount of packaged content that the game offers. You can put a game environment together pretty quick without having to create your own custom content.
For level designers my top choice would be Source Engine.
For game environment artist my top choices would be UDK (Unreal Engine), CryEngine 3 SDK or Unity3D.
If you would like to have more choices to choose from, complete with links and information about each game engine, read this blog post in the series.
MY PERSONAL PREFERENCE: HOW I CHOOSE A GAME ENGINE AND LEVEL EDITOR FOR MY PROJECTS
The way I choose what I want to work with.
First, I decide if it is going to be a playable map for a specific game or if it is going to be just a stand-alone game environment to showcase, for tutorials, for screenshots, for video etc.
The choice for a level editor is very simple for me. If I choose to do a playable map, it is usually for a specific game that I have an idea for. This is often for L4D2 map, Counter-Strike: Global Offensive map or UDK Deathmatch/CTF in UDK. After this I begin going through preproduction stage of the project.
If it is a stand-alone game environment with a specific theme then the decision is between three game engines that I currently use and love working with. UDK, CryEngine 3 SDK, or Source Engine.
Second, I decide if I want to practice and learn something in a specific game engine. For example, I felt that my lightmapping skills were weak and I needed to spend some time becoming proficient in lightmaps. Or I wanted to quickly put together an arch viz environment using Source Engine and a video trailer, without having to model my own props and assets. The purpose of the project drove my decision to use a specific game engine.
If I am going to do any custom modeling work, I choose UDK or CryEngine 3. Same for any large open rural environments (landscapes, terrain, water). It is UDK or CryEngine.
With Source Engine I know I can use pre-existing models and props to put something together very quick. There are hundreds of urban props and assets that you can use from the game you are creating the environment for.
For UDK and CryEngine, there is a very limited amount of existing meshes to use. In order to have more specific models you will need to custom create them using a modeling application (3DSMax, Maya or Blender).
Third decision is time and my own ability is another important factor I consider. How much time am I willing to dedicate to this idea? My current weaknesses and strengths are very important in this decision. Being honest with myself where I suck at and where I am good at will determine how much time I am willing to spend on a project.
If you are interested in game design, make sure to read recommended 3d game engines.
So the decision for me often goes like this: (not in order)
- Practice or learn a skill, in a specific game engine and its production pipeline
- Note the strengths and weaknesses of each game engine and choose which is better to execute my idea
- Know my own strengths and weaknesses and how much time I want to spend creating this. Do I have and want to spend extra time and improve my skill to learn or do I need to put this out and finish as quickly as possible.
- Speed of implementation: which game engine can make my vision and my idea take shape faster. This often depends on the skill level with that engine. I have to take into consideration where my strengths and where my weaknesses are and choose the engine based on that.
This is my personal decision making on how I choose what I want to work with. When you are making a decision, be sure to take into consideration your own goals, your own purpose for creating game worlds and where do you want to end up. These will determine which tools you choose. Are you trying to get a job in the industry? Are you building your own game? Are you creating a playable map just for fun with friends? Is this for a personal project or school project? Some tools may already be chosen for you by your school, your work, while other times you will have freedom to choose without restrictions.
I hope this tutorial was helpful in putting some ideas and understanding in your next decision of choosing a game engine and level editor.
Please let me know if I missed anything that you wanted to know more of.
Let me know what do you do and how do you choose the game engine and level editor to work with for your project? Do you have one engine you like to work with, or do you cycle between multiple engines and level editors? Do you map for one single game or do you have multiple games you are mapping for?
Let us know on the forums in this forum thread: What Level Editor and Game Engine Should Use and How to Choose