Map Editor

From Days of War Wiki
Revision as of 08:39, 31 January 2020 by IRedCraft (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

For us at DrivenArts, modding is a huge step in the right direction. It embraces thousands of people wanting to make their own maps to play on, share them in the workshop, get feedback from other players and enjoy creating them. So, it was important to make the modding toolking as transparent as possible, and we hope that this will help introducing you into the vast creativity of making maps for Days of War.

Preparation

Days of War runs on the popular Unreal Engine 4. In order for you to start modding, you will need to download Unreal Engine 4.20 through the Epic Games Launcher. If you don't own the launcher already, you can download it here.

After you downloaded it, head to the Unreal EngineLibrary tab and install Unreal Engine 4.20.

EpicLauncher.png


Obviously, you'll also need to download the Days of War Editor. The editor is also distributed via Epic Games. Open the Store tab on the left and search for Days of War. You will find the Days of War Editor which you can install by clicking on GET.

EpicDoWEd.png


Once it downloaded, search it in your library and hit Launch.

Getting started

Once you downloaded the Days of War Editor, open it up! Don’t  worry if it takes a bit to load, especially the first launch will take a while to prepare the content for use. Once it has loaded, you are good to go. Note that the editor layout might be different for you. You can drag all tabs across the screen and/or dock them at fixed points. Let’s have a little overview over the editor: 

DoWEdLayout.png


1: The main viewport

The core of the editor, the viewport. You can see the map you are editing live in here. To rotate the camera, hold down the right mouse button and move the mouse. To move, press W/A/S/D while holding down the right mouse button. You can also change the movement speed by turning the mouse wheel while holding down the right mouse button. To select objects in the scene, simply click on them. A gizmo will apear to move the object around in the scene. More on that in ​[Placing Assets].

2: Modes

This window is essential for level editing tools for the scene. The first tab Modes.png is for placing objects (in Unreal they are called actors) in the scene. You can find primitive shapes, lights, visual effects and volumes in there. To place one of these, just drag them into the viewport. The other tabs are for mesh painting, creating landscapes, painting foliage (grass and trees) and geometry editing. For more information on Unreal’s level design features, see here.

3: The content browser

The Content Browser acts as a file/asset explorer. By clicking ContentBrowser.png on the left-hand side you can open the directory tree view which helps a lot with navigation through the files. All content which ships with Days Of War is listed under ​Content​. Content which comes from plugins and mods is listed below under ​<Plugin/ModName> Content​. You can use the content browser to create new assets, import assets, and search for some while building your level. 

4: The details / world settings

The bottom right pane is used for showing the details of a currently selected object. If you don’t see anything in the Details tab, try selecting an object in the scene. You will be able to modify the location, rotation and scale of objects, change their collision settings, and modify a bunch of parameters which differ from object to object, e.g. for lights you can modify the intensity and color, for meshes you can change the model and material.  Another tab which is useful and is suggested to put next to the details panel is the ​world settings​. You can open them by navigating to ​Window → World Settings​. Here you can find settings which are global for the whole map you are editing, such as the minimap texture, the factions the map should be played with and more.

5: The world outliner

The world outliner is simple: it lists all the objects (actors) you have in your scene. You can search them, group them in folders, and rename them for easier access. You can also hide/show certain actors and see their type.

6: The toolbar

The toolbar is the main place to execute actions from. You can save the current level, quick-change settings, open the level blueprint (more on that later), and test your map using the Play-In-Editor feature. Also, the mod window is linked there, which we will use now. 

Creating a mod

Click on OpenModWindow.png in the toolbar to open up the mod window.

ModWindow.png


Click on Create Mod, enter the name of your new mod (e.g. myfirstmap) in the name text field and hit Enter. You will see your new mod appear in the list, and the content browser switches to the content directory of your new mod. That's all we need to do for now, so let's close the mod window again and look at the content browser.

As a good practice, you can always organize your imported assets in a directory structure like this:

Meshes Will contain new models you import
Materials This will contain custom materials you create for meshes
Textures Will contain textures for meshes (used by the materials) and/or UI.
Sounds Put any new sounds in here
Blueprints This will contain new blueprint scripts you create for your map
Maps This will contain all maps of the mod

Now that we have a new mod, let's create the map!

Creating the map

In the editor, navigate to ​File → New Level​ and choose either Default or Empty Level as a template. This will load up a new map for us to edit. Before we start building our level, click the SaveCurrent.png button in the toolbar. This will prompt a new dialog for you to enter where the map should be saved.

SaveAs.png


Save your map in the Maps folder of your mod and name it.

Info.png Note!

It is recommended to have map names named after the mod name, such as dow_myfirstmap.

Placing assets

After creating and saving the map, it should look somewhat like this:

EmptyMap.png


Let's start by placing some cubes. To do this, drag the cubefrom the left Modes panel (tab Basic) into the scene. You can now move the cube around using the three-dimensional "Gizmo". You can also change the Gizmo controls on the top right corner of the viewport (or using the keys 'W', 'E' and 'R') to control Location, Rotation and Scale.

Location.png Rotate.png Scale.png


Info.png Note!

Tip: to duplicate an object, try holding down the 'Alt'-key an drag any of the Gizmo arrows (in location mode). This will create a new instance of the object you are pulling

Let's also create a red light by dragging the Point Light from the Lights tab in the Modes window. The result will look like this:

ExampleMapWithLight.png


As mentioned before, the light color and intensity can be set from the Details panel in the bottom right corner of the editor.

As a last step, let's search for a cool model to place in the scene. How about a bicycle? To search for it, jump in the Content Browser and search for "Bicycle" in the search bar. Then take the Bicycle_mesh and drag it into the scene just as you did with the cube and the light. That's it!

ExampleMapWithBike.png


Info.png Note!

Tip: press 'G' to show/hide editor icons in the scene

DoW actors

Obviously, we need some Days of War specific actors in order to make the map a DoW map. You can find these in the Modes tab (see the editor layout image above!) by searching for them.

Spawn Points

To place spawn points, search for Shooter Team Start and drag them on the map. In the point's Details panel, you can adjust the team you want to spawn here:

TeamStartDetails.png


You can adjust the following properties:

Property Description
Spawn Team Which team should start at this point? Valid options are None, Allied and Axis, the other options aren't in use.
Not For Players Whether players can spawn here
Not For Bots Whether bots can spawn here

Flags

For the typical domination game mode, the map requires flags. To create them, just search for Flag. Look at the Details panel to adjust the flag setings:

FlagDetails.png


You can adjust the following properties:

Property Description
Flag State The state this flag will have upon map start. Valid options are None, Allied and Axis, the other options aren't in use.
Flag Name Name of the flag, shown in the killfeed when the flag is captured.
Time Needed to Capture Time in seconds it takes to capture this flag
Players Needed to Capture How many players does it need to capture this flag
Objective Position Can be First, Second, ..., Tenth. This is the position where this flag is rendered at the HUD. Should match the map layout.

Spawn Boundary Volume

The spawn boundary volume is used to mark a certain area on the map as the spawn area for a certain team. This will kill players of the enemy team when they're touching it (can be turned off if not wanted). It also allows the player to change his class.

SpawnBoundaryVolume.png


You can adjust the following properties:

Property Description
Spawn Team The team this boundary volume is meant for. Valid options are Allied and Axis, the other options are not in use.
Kill Enemy Team on Overlap Whether to kill the enemy team when they're touching the volume.
Box Extent Size of the volume in three-dimensional space

Playtesting your map

When you're ready to test your map, simply click Play.png in the toolbar. The editor will allow you to play inside the viewport.

A real world example

Everything's better with a real world example, so let's have a look at a full working map with a domination game mode structure:

RealWorldExample.png


Here you can see what a map with three flags, two Spawn Boundary volumes and 16 spawn points look like. If there are multiple spawn points for a team, the game will spawn new players randomly at one of the points. The spawn points are wrapped with spawn boundary volumes and there are three flags layouted like most of the flags on the official maps.

Uploading to Steam

Does the map work as intended? Does it look good? Great, then we can proceed to the last step: uploading your map to the Steam Workshop. To do this, open up the mod window using the OpenModWindow.png button in the toolbar. Select your mod from the mod list and fill out the missing information, such as the description, category and visibility.

Info.png Note!

It might be a good idea to keep the item title equal to the mod's name so it can be found easier.

Now, we need a thumbnail for our mod. You can either capture a thumbnail in the mod window (it will take a screenshot from the viewport's camera) or upload a custom thumbnail to use.

ModWindow2.png


From here, you can also give your mod a good and fitting description and set the item visibility to what you need.

Now you have two options. You can export the mod which will package it and copy it to a folder you specify. That's helpful for testing and sharing for friends, but not recommended. The second option is to hit Upload to Steam. It will package your mod and upload it to the Steam Workshop.

Info.png Note!

The packaging and uploading process can take everything from a minute to multiple hours. It strongly depends on your hardware, the map/mod size and your network speed.

After you received a confirmation, the item has been successfully uploaded to Steam.

Info.png Note!

It can take a while until Steam displays your item in the in-game browser.

Playing on your map: Local

Now that you created your map, we want to use it. You can play offline on your map by opening up Days of War. In the main menu, visit Maps → Workshop.

WorkshopInGame.png


Find your item and click on it. Click the Subscribe button on the bottom right corner to subscribe to the mod. Once it finished downloading, a Play offline button will appear. Clicking it opens the map and you can play it locally!

Playing on your map: On a server

Obviously, we want to play our map together with friends. To download workshop mods on a server, jump to the Server Info by opening the 'Esc' menu. In the Server Info window, jump to the Workshop tab. You will see the same server browser but clicking Subscribe on a item will download it to the server.

WorkshopServer.png


In addition, you can add/remove workshop mods from the server by editing the server's Game.ini file (located in <YourServerFolder>/DaysOfWar/Saved/Config). Workshop mods are listed like this

[SteamWorkshop]
WorkshopMod=...
WorkshopMod=...

where ... is the ID of a mod. You can add or remove mods here and restart the server to make the server download them (or remove them).

After the server downloaded a map, you can then check the map rotation under Maps and turn it on/off for the workshop mod and/or vote it up.

Info.png Note!

You need to be administrator on the server to download workshop mods

Now, when clients connect to your server running a modded map, their game will automatically donwload the workshop item needed to join. Same goes for people who are online on your server while it changes the map to a workshop mod.

And now?

We hope you learned how to create your own maps for Days of War. If you still have questions, feel free to join the official DoW Modding Discord server!