Zero G Arena Guide

Zero G Arena workshop guide for Zero G Arena

Zero G Arena workshop guide

Overview

The official, complete guide to creating maps for the Zero G Arena workshop.

Introduction

Zero G Arena now supports user made maps by way of me (the developer) downloading and adding them to the full game for all users.

If you need any help at all, don’t hesitate to make a new post in the Workshop forum: [link]

How the workshop is handled
The integration of user made maps into the game is achieved by the somewhat crude method of map makers just emailing me their completed map files (to [email protected] ).
I originally wanted users to be able to upload to the workshop and players to download maps through Steam, like many other workshops, but due to various silly technical issues this was not worth the hassle. I am aware the email system doesn’t actually use any of the Steam Workshop’s facilities.

Supported operating systems

The development files should now support Windows and Mac. Mac support is new so let me know if you have any issues. So far, the only minor issue seems that you may have to navigate to the installation directory and open ZeroGArena.uproject with Unreal manually on mac.

Process overview

So that you know what you’re in for, here’s a brief overview of the entire process of uploading an item to the Zero G Arena workshop:

  1. Install the unreal engine, and download the Zero G Arena development files (see below).
  2. Create item, using the unreal engine and the Zero G Arena development files (the files are just an unreal project)
  3. Send your map to me by email. (see “How the workshop is handled, and it’s shortcomings” above for why it’s by email instead of uploading to the workshop itself).
  4. I’ll make sure your item fulfils some basic criteria then download it and add it to the game under the “user created” section. This will then be available to all Zero G Arena owners after the next update.
  5. You can always update your item later (just send me the updated map file by email again), in which case I just add the updated content to the game to be available with the next update, as before.

Criteria for being accepted into the game

I don’t plan on being unduly picky if you’ve gone to the trouble of making a map for Zero G Arena but since the items are being added to the full game, I can’t accept any maps that:

  • Infringe copyright
  • Are blatantly offensive/inappropriate in some way (I realise this is vague. If in doubt, just tell me what you’re planning to make before you make it. I honestly can’t imagine anyone making anything for ZGA that could be considered offensive though).

It’s not so much of a hard criterion, but I probably wouldn’t accept a “joke” map that has little or no long term gameplay appeal (such as a map that’s novelty driven to the point of unplayability [e.g. a map completely enveloped by a damage zone, such that all players die on spawning, or some similar-such nonsense]). Again, if in doubt, just make a post in the workshop forum telling me what you’re planning to do before you put any significant time into it.

If there’s a problem with the map but it’s obviously a serious submission, I’ll probably just ask you to make a few changes, or just make them myself with your permission. An example would just be something like a gap in the map somewhere that allows players to get outside of it (a mistake I’ve made in the past).

Installing the necessary tools

I’ve made a video tutorial on installing the required tools here:
if you prefer that to a text guide. Otherwise, the instructions below are the same.

1) Download the Unreal Engine 4.10:
-Go to unrealengine.com
-Click “Get Unreal”
-Create an Epic Games account
-Download the Epic Games launcher
-Go to Library and click “Add Versions” to the right of Engine Versions
-Click on the dropdown arrow next to the version, select 4.10.4 (or 4.10.whatever, but probably 4.10.4).
-Click Install

2) Download Zero G Arena development files:
-Open Steam
-Hover over library then select “tools”
-Scroll down until you see “Zero G Arena development files” then right click on that and “install”

You can then right click on Zero G Arena development files and click “Play Game…” to launch the editor, with which you can make maps for Zero G Arena.

The development files are just that, files, rather than an actual program, so they can’t run by themselves, but rather need to be “opened” by UE4. Once they’re associated with an unreal engine version, they should launch correctly when you press “Play Game…”, but they might not associate automatically.

NOTE FOR MAC USERS: For mac, it looks like you can’t open the files from Steam even once they’re associated. You can either navigate to the installation direcory (Zero G Arena Development Files [right click] properties->Local files->browse local files) and open the uproject file, or follow the steps below to open it with unreal (you should then be able to open the files from the Epic Games launcher in future).

If you’re prompted to select an Unreal version, just select 4.10 (which you should have installed). If there’s some other kind of error, you probably need to:

  1. Run the Epic Games Launcher
  2. Go to Library and Launch 4.10
  3. Then press browse (bottom right), navigate to the Zero G Arena development files installation folder, and open “ZeroGArena.uproject”. You can probably find the installation folder at “C:Program Files (x86)SteamsteamappscommonZero G Arena development files” or something similar.
  4. I’m hoping that the project will then be associated with the Unreal Engine installation, and you can just press “Play Game…” in future. I’m not 100& sure though, so let me know if you have any further issues. You can always open the project in the same manner, by launching the unreal engine first though.

Creating your map (Basic process)

UE4 basics
First of all, you’ll need to know the basics of level creation in UE4. I haven’t created any tutorials on this, since there are already plenty on the subject. If it’s something people want though, I’ll create a video explaining the bare minimum of UE4 features you need to know about for ZGA as concisely as possible.
Anyway, here’s Epic’s own level creation quick-start guide:
[link]

Epic also have lots of tutorials on YouTube, which you could certainly look up, but they probably go into rather more detail than you’ll need just for making ZGA maps. If you’re interested in learning to use UE4 in more depth though, perhaps to start a project of your own, then those videos are very good.

Zero G Arena level creation
I’ve made a video in which I attempt to explain the basic use of the items in ZGA content browser that you’ll need to make ZGA maps:
I’m planning to make more videos where I go into more depth on how you can use magfields, and also general best practices.

Alternatively, I’ll outline everything important that’s explained in the video here:

  • Please create your map in the UserCreated folder.
  • To turn off gravity, go to World Settings (on right side of screen), expand “Physics” and tick “Override World Gravity”. The default override value is 0, which is what you want.
  • To set the game mode, still under “World Settings”, go to Game Mode, and set GameMode override to anything that starts with “Sta”. This is just so that you can test the level, and have a ZGA character spawn in. You can change it to different game modes as you go, to test for them.
  • “Magfields” define walkable areas, and exert a force on avatars with their magnets on.
  • You can find the Magfield classes under Content/Blueprints/Magfields.
  • Once dragged into the level, the blue arrow indicates a Magfield’s direction
  • A Magfield will have no area by default. To assign it an area, click “Add Component” in the details panel of a magfield, then scroll down until you see the collision section. And number of box capsule or sphere collisions can be used to define the area of the Magfield.
  • These collision components can be moved relative to the parent Magfield, and you can set their dimensions by selecting them in the box below “Add Component”, then going to the “Shape” section.
  • Any solid objects within a magfield can be walked on, if the character lands on them. The character’s orientation will obviously be determined by the field direction at that point.
  • Make sure the magfield overlaps any surface you want to be walkable
  • You can rotate magfields using the rotate tool. Make sure to have the root “ArrowMesh” or the whole blueprint selected when you do this though, rather than the collision components. Remember, the direction of the arrow indicates the direction of the field.
  • THE “MAGFLOOR” BLUEPRINTS ARE NO LONGER USED. They’re all under Blueprints/Magfloors, but again, you won’t want to use them. Because they’re blueprints, they have a dark blue bar at the bottom, and by convention, I’ve put “_BP” on the end of their names.
  • What you probably will want to use are the magfloor static meshes, found under Meshes/MagFloor. The standard flat magfloor meshes are under “MagFloorRecycled”. Basically, any static mesh that looks right you could use. Static meshes have a turquoise bar at the bottom.
  • These can be used to indicate where there is a magfield. This is something I suggest you stick to, otherwise the player’s not going to have any indication of where magfields are. They don’t do any special game logic or anything though.
  • Magfields have a property called “Magfield Priority”. When multiple magfields overlap, only the one with the highest priority applies a force to the player. If they have the same priority, both forces are applied. The priority can be below 0. You can set it in the details panel for a magfield selected in the level (make sure to have the whole magfield selected, rather than just a component of it [click where it says Magfield<Whatever>_BP(self) if you can’t see the Priority section]).
  • You can find a very limited number of other useful meshes in the content browser.
  • I regularly use the cover meshes (Meshes/Cover), some of which are modular, so can make cover elements of various lengths.
  • The pillar meshes are also not completely un-useful (meshes/pillar).
  • You can technically use any meshes in the content browser, but you’ll probably find most of them are just stupid boxes and stuff. I’m currently looking into getting some more art assets made for ZGA.
  • To define spawn locations, go to “Content/Blueprints” and drag a number of “StaPlayerStart_BP”s into the level. You’ll want at least one of these per player you want your map to support, else people will probably spawn on top of each other.
  • NOTE: One thing I forgot to mention in the video, on the subject of playerstarts, is that you need to give each playerstart a bit of clearance from the floor (a meter or two). Otherwise, the player might clip the floor on spawning in, which can cause all sorts of bad things. In general, playerstarts need some clearance from any objects for the same reason.
  • To support team game modes, you can set a team for each StaPlayerStart in the details panel, under Game Mode, Team. Make sure to have enough for each team.
  • If you want to support team and non-team game modes, you can put a bunch of StaPlayerStarts with team of “NONE”, and a separate set for red and blue team, and they’ll be prioritized as appropriate for the current game mode.
  • You can find all the weapon and health pickups under “Blueprints/Pickups”
  • Keep in mind, you shouldn’t put weapon pickups in a level for different weapons that occupy the same inventory slot (currently just the rocket launcher and homer gun).
  • Also, the SMG pickup is currently called “StarterGunPickup_BP” (because it used to be the default weapon).

Walkable spheres
I’ve made a video on this here:
but no text guide yet. I’ll make a text guide on request. You’ll probably be able to deduce most of the things you’ll need to know to use spheres from the last video.

Naming your map
The name you give your map will be the display name in game. You can always change it after you’ve created it. It can’t contain spaces, so use an underscore “_” if necessary. There are no naming conventions other than that if a map only supports a single game mode, I’ll prefix it with the abbreviation of that game mode (e.g: “CTS_One [the least imaginative map name in the history of video games]).

Map creation suggested practices

Suggested general map creation techniques

  • You can use either static meshes or BSP to “block out” the level (i.e create the walls and general geometry). Given the lack of static meshes in the ZGA content browser, I recommend you use BSP in most cases. It’s also easier to edit.
  • If you want to recreate ZGA’s signature “programmer-art” look, then the material I use for the walls in most levels is “M_WhitePlastic”.

Level creation best practices (technical)

  • Make sure your map is completely enclosed. Obviously open-topped maps aren’t going to work
  • Make your outer walls reasonably thick. At least 200cm, I should think. This is because under extreme circumstances (high speed, low framerate), it’s possible for players to completely clip though a wall if it’s too thin.
  • Since the latest update, the avatars can walk on pretty much any geometry within a magfield in theory. The system probably isn’t going to cope well with some geometries though, so I advise you test walking on whatever you make. You’ll want to know that the avatar can step up on anything less than 50cm high. Slopes should be fine, but particularly steep slopes might produce some glitchyness . Note that you won’t see anything but flat surfaces in my levels thus far, since they were all made before the new system.
  • Turn up the brightness on your lights. The default brightness is far too dim unless auto exposure is enabled (which for some reason does not seem to work on all hardware…). I generally use brightness of about 30,000, although this depends on the size of the room. See the maps in the “maps” folder for examples. If you want to go the extra mile in testing, you can go to project settings->rendering and untick “auto exposure”, under “Default Postprocessing Settings”. This will demonstrate the brightness level people will experience if auto exposure isn’t working.

Supporting different game modes for your map

Maps can support any number of game modes. The GameMode Override property under World Settings is just for testing your map. You just need to let me know which game modes you want your map to support when you send it to me, since there’s no way that I’m aware of to store that information in the map itself.

In terms of what features your map needs to support specific game modes:
Free for all

  • Nothing special

Team deathmatch

  • If it makes sense, you can use team-specific player starts to designate team spawn zones. Otherwise, normal playerstarts work fine, and players will spawn randomly, as in free-for-all.
  • THIS GOES FOR ANY TEAM GAMEMODES: If you want to use spawn rooms, you can use the “SpawnRoomDamageZone_Blue” for the blue spawn room and the red one for the red spawn room. This will damage the other team if they enter it. You still need to place team-specific player starts in the spawn room. I tend to indicate the spawn rooms just using very blue or red lights. Once you’ve built lighting, this will make it pretty obvious.

King of the hill and Team King of the hill

  • You need to place a “KothGoal_BP” (found under “Blueprints”) in the level.
  • The KothGoal will be hidden on loading the map for any game modes other than KOTH or team KOTH. This way your map can also support FFA or TDM.
  • Team-specific spawns are optional for Team KOTH, like Team Deathmatch.

Capture the sphere

  • You need to place a “CTSSphere_BP” (found under “Blueprints”) at the desired starting location in the map. It will reset to it’s starting location every time a goal is scored.
  • At the moment, the sphere will not be hidden for other game modes, because I didn’t imagine a CTS map would be suitable for any other game modes.
  • You also need to Place one Goal_BP in the level for each team. You can set it’s team in the details panel.
  • You can also set the extent of the goal by selecting “Box” in the details panel.
  • I tend to indicate the goals using the “RedGoalMaterial” and “BlueGoalMaterial”
  • Team spawns are technically optional, but I imagine it only makes sense to use them for CTS. It’s up to you though.
  • Bear in mind, each team has to score in their own goal. I now tend to put the spawn points near the goal of the opposite team, since this prevents the matches from becoming one sided once one team gets the upper hand. This is up to you though, of course.

Map creation – Lighting

I’ve made a video on lighting here: [link]

There’s nothing really specific to ZGA here, but it should go over everything you need to know to light your level. I’ll write this up for the guide on request, if you prefer text guides.

Making custom materials for your levels

If you want to create a new material to use in your level, you can definitely do that, you just need to send me the material (and if you imported any new textures, you need to include them too) with your map. Just make sure to create the material in the “User Created” folder, next to your map, so the map can find the texture when I add them both to the User Created folder on my end.

Sending the materials and textures will be much the same as sending the map file. Just find the assets in the content folder in your file explorer (see the uploading to the workshop section). Note that the file extension will be .uasset instead of .umap though.

For actually creating them, here’s UE4’s documentation on Materials:
[link]

That’s probably rather more in depth than you’ll need for your purposes, but there should be a great deal of information available elsewhere on using materials in UE4.

NOTE:
I’m actually almost certain the same thing goes for static meshes, if you want to make some custom static meshes outside of UE4 and then import them into the user created folder. I haven’t been able to fully test this just yet though, so if this is something you want to do, perhaps consider sending me a prototype version of your level, along with rough versions of your custom static meshes (plus any materials they use), and then I can just make sure they still work on my end. I really am pretty sure they will though.

Sending me your map files for addition into the game

To find the map file:

        

  1. Right click on the “Zero G Arena development files” in your Steam library, then go to properties->LOCAL FILES and BROWSE LOCAL FILES.
        
  2. Open “Content”, where you will be able to see everything from your content browser
        
  3. Locate your map (it should be under the UserCreated folder). The file type is “.umap” and it will have the name you gave it in the content browser.

Just attach this to the email you’re going to send me.

Please also include a preview image with your map, which will appear in the map browser in-game. This should be square and ideally a .png file. The exact resolution doesn’t matter though, as long as it’s 200×200 or larger. You can just attach this to the email too. You could just take a screenshot of it in the editor, and crop it.

Also, if you could just let me know in the email a few pieces of information about the map:

  • What you’d like to be credited as for it (i.e. who created it). This could be your Steam name or your real name, or both or whatever. Just let me know exactly how you’d like it to appear in-game. This will be displayed in the map browser with your map.
  • The list of game modes your map supports. Which game modes it supports will be dependant on whether you’ve added team-specific player starts, or the goals for capture the sphere e.t.c, e.t.c.

Ok, so just email map file, the preview image and those pieces of information to [email protected]
and I’ll just make sure it fulfils the basic criteria and then add it to the game for the next update.

Very well done
If you’ve finished your first map. Although the UE4 editor is very easy to use for what it is, what it is is not a consumer-level toy but rather a serious game development tool used by professional studios.

If you want to make any changes to your map later, just email the updated map file, and I’ll replace the old one for the next update.

SteamSolo.com