NEOTOKYO Guide

how to new vegas for Fallout: New Vegas

Mapping for Neotokyo

Overview

Guide on setting up the SDK for Neotokyo mapping

Introduction

Neotokyo is a Source game, which opens up a lot of possibilities for customization, such as creating your own levels.

Install Source SDK

steam://install/211 or Steam Library->Tools->Source SDK

This contains the level editor and other tools.

Install Source SDK Base 2006

steam://install/215 or Steam Library->Tools->Source SDK Base 2006

We don’t actually need this to play the game, but I haven’t found out a way to use the editor without it.

Download Neotokyo FGD

Note: the required FGD file is already included in a Steam install of Neotokyo, in the path:

SteamsteamappscommonNEOTOKYObinneotokyo_pub.fgd

So you don’t need to manually download it anymore.

It’s also available for download from ModDB here. The ModDB download also includes some official NT map project files. These can be useful as reference ie. for finding good room heights and lighting values, when making your own levels.

Further reading for the curious:

Configure Source SDK, part 1

You’re going to need to edit 2 files, a GameConfig.txt and a GameInfo.txt. Try to keep track of which you’re editing to avoid confusion later on!

Go to SteamSteamAppscommonsourcesdkbinep1bin. If this doesn’t exist, look for SteamSteamAppsyour-usernamesourcesdkbinep1bin instead. In either one of these locations, you should find a GameConfig.txt. Open it in Notepad or other text editor of your choice.

If there is no GameConfig.txt, launch Source SDK from Steam Library -> Tools (should open up a green menu). Close it and see if a GameConfig was created.

**********
**********
If GameConfig.txt was in SteamSteamAppscommon[…]:
Remove GameConfig.txt’s contents and paste in the following:
(If you already map for other games using the SDK, just edit the config to your preferences instead of removing everything.)

Remember to fix all paths that start with a FIXME!

“Configs”
{
“Games”
{
“NEOTOKYO”
{
“GameDir” “FIXMEc:pathtosteamsteamappscommonneotokyomapping”
“hammer”
{
“GameData0” “FIXMEc:the-location-of-your-neotokyo_pub.fgd”
“TextureFormat” “5”
“MapFormat” “4”
“DefaultTextureScale” “0.250000”
“DefaultLightmapScale” “16”
“GameExe” “FIXMEc:pathtosteamsteamappscommonneotokyohl2.exe”
“DefaultSolidEntity” “func_detail”
“DefaultPointEntity” “info_player_start”
“BSP” “FIXMEc:pathtosteamsteamappscommonsourcesdkbinep1binvbsp.exe”
“Vis” “FIXMEc:pathtosteamsteamappscommonsourcesdkbinep1binvvis.exe”
“Light” “FIXMEc:pathtosteamsteamappscommonsourcesdkbinep1binvrad.exe”
“GameExeDir” “FIXMEc:pathtosteamsteamappscommonneotokyo”
“MapDir” “FIXMEc:pathtosteamsteamappscommonsourcesdk_contentneotokyomapsrc”
“BSPDir” “FIXMEc:pathtosteamsteamappscommonneotokyoneotokyosourcemaps”
“CordonTexture” “toolstoolsskybox”
“MaterialExcludeCount” “0”
}
}
}
“SDKVersion” “3”
}

**********
**********

**********
**********
Else if GameConfig.txt was in SteamSteamAppsusername[…]:
Remove GameConfig.txt’s contents and paste in the following:
(If you already map for other games using the SDK, just edit the config to your preferences instead of removing everything.)

Remember to fix all paths that start with a FIXME!

“Configs”
{
“Games”
{
“NEOTOKYO”
{
“GameDir” “FIXMEc:pathtosteamsteamappscommonneotokyomapping”
“hammer”
{
“GameData0” “FIXMEc:the-location-of-your-neotokyo_pub.fgd”
“TextureFormat” “5”
“MapFormat” “4”
“DefaultTextureScale” “0.250000”
“DefaultLightmapScale” “16”
“GameExe” “FIXMEc:pathtosteamsteamappscommonneotokyohl2.exe”
“DefaultSolidEntity” “func_detail”
“DefaultPointEntity” “info_player_start”
“BSP” “FIXMEc:pathtosteamsteamappsyour-user-namesourcesdkbinep1binvbsp.exe”
“Vis” “FIXMEc:pathtosteamsteamappsyour-user-namesourcesdkbinep1binvvis.exe”
“Light” “FIXMEc:pathtosteamsteamappsyour-user-namesourcesdkbinep1binvrad.exe”
“GameExeDir” “FIXMEc:pathtosteamsteamappscommonneotokyo”
“MapDir” “FIXMEc:pathtosteamsteamappsyour-user-namesourcesdk_contentneotokyomapsrc”
“BSPDir” “FIXMEc:pathtosteamsteamappscommonneotokyoneotokyosourcemaps”
“CordonTexture” “toolstoolsskybox”
“MaterialExcludeCount” “0”
}
}
}
“SDKVersion” “3”
}

**********
**********

Save and close the GameConfig.txt once you’re done.

Configure Source SDK, part 2

Next, you have to create a “neotokyomapsrc” folder path as it is defined in “MapDir” entry of the GameConfig.txt.

You can do this by navigating to the “sourcesdk_content” folder location, and right clicking to create the new “neotokyo” folder, and “mapsrc” inside it.

This is the location the level editor will save your map project files. It could be any folder, but this is the commonly used location for such files in Source engine.

Configure Source SDK, part 3

Now, go to Steam/SteamApps/common/NEOTOKYO. Create a new folder called “mapping”.
In this folder, create a new text file called GameInfo.txt. Open it in a text editor and paste in the following:

“GameInfo”
{
game “NEOTOKYO°”
title “neatbkyoc”
title2 “”
type multiplayer_only
nomodels 0
nohimodel 1
nocrosshair 1

“developer” “Studio Radi-8”
“developer_url” “http://www.neotokyohq.com”
“icon” “nt”
“manual” “http://www.neotokyohq.com”

FileSystem
{
SteamAppId 215 // This will mount all the GCFs we need (240=CS:S, 220=HL2).
ToolsAppId 211 // Tools will load this (ie: source SDK caches)
// to get things like materialsdebug, materialseditor, etc.

//
// The code that loads this file automatically does a few things here:
//
// 1. For each “Game” search path, it adds a “GameBin” path,
// in <dir>bin
// 2. For each “Game” search path, it adds another “Game” path
// in front of it with _<langage> at the end.
// For example: c:hl2cstrike on a french machine would get a
// c:hl2cstrike_french path added to it.
// 3. For the first “Game” search path, it adds a search path
// called “MOD”.
// 4. For the first “Game” search path, it adds a search path
// called “DEFAULT_WRITE_PATH”.
//

//
// Search paths are relative to the base directory, which is
// where hl2.exe is found.
//
// |gameinfo_path| points at the directory where gameinfo.txt is.
// We always want to mount that directory relative to
// gameinfo.txt, so
// people can mount stuff in c:mymod, and the main game
// resources are in someplace like
// c:program filesvalvesteamsteamapps<username>half-life 2.
//
SearchPaths
{
Game |gameinfo_path|.
Game hl2
}
}
}

Save and close the file.

Configure Source SDK, part 4

Next, go to Steam/SteamApps/common/NEOTOKYO/NeotokyoSource. Copy the folders “materials”, “models”, “sound”, and paste them to Steam/SteamApps/common/NEOTOKYO/mapping.

If you don’t want to waste the extra disk space, and want easier custom files handling, see the alternative way below, instead. It uses command line, but is quite easy to do.

– – –
– – –
(Alternatively, instead of copying folders, you could use symbolic links[en.wikipedia.org] (or similar) here to avoid using up disk space. For example, junction link the 3 folders separately.

Navigate to your “SteamSteamAppscommonNEOTOKYOmapping” folder. Copy the full path to your clipboard. Open a command prompt window (Windows key + R –> cmd –> press enter). Type “cd”, and paste the clipboard path surrounded by quotes. For example:

cd “C:Program Files (x86)SteamSteamAppscommonNEOTOKYOmapping”

If that location is on another disk drive, you may have to first change drives like shown on the first line below:

D:
cd “D:Program Files (x86)SteamSteamAppscommonNEOTOKYOmapping”

This should move your current working directory in the command prompt to this pasted location.

You can’t link the actual “NeotokyoSource” root folder, as the game’s GameInfo.txt would conflict with the one used for mapping here. However, with these three commands, you can create symbolic links between the actual Neotokyo files and the “mapping” folder, which works great:

commands to insert:
mklink /j .materials ..NeotokyoSourcematerials
mklink /j .models ..NeotokyoSourcemodels
mklink /j .sound ..NeotokyoSourcesound

– – –
– – –

Now, go to Steam Library->Tools and launch Source SDK.

A green menu should show up. Select Engine Version: Source Engine 2006 and Current Game: NEOTOKYO. Double-click Hammer Editor under the Applications tab. Hammer Editor should now launch without error messages, and be set up for Neotokyo mapping. If not, check the troubleshooting section below and/or ask in the comments.

What now?

NT mappers are the most active in the ANPA Discord‘s Architects channel, feel free to join!

We also have a Steam group dedicated to Neotokyo mapping. Feel free to join and discuss level design, ask for help and testing, promote your maps. There is also a “Custom Content” sub-forum at the ANPA group.

You should glance at these 2 if you are new to Hammer! Just having a rough concept of these two problems in your mind can save you from a lot of headache if/when you run into related trouble with your levels later on.
How visibility works
About leaks

After that, internet is full of tutorials for mapping using the SDK’s Hammer Editor. Here are a few resources for you to get started:

Valve Developer Wiki, very useful for reference. Covers almost every entity at a basic level, and also has articles on specific subjects like lighting and design.
, a video tutorial if you’re into those.

Here are the main Neotokyo related point entities you might come across:

– info_player_attacker – Team spawn, Jinrai starts here the 1st round.
– info_player_defender – Team spawn, NSF starts here the 1st round.
(Need at least 16 spawns per team, otherwise players may spawn from the spectator spawn position on full server. If you still have people spawning in weird positions, try moving the spawns further apart from each other and map geometry.)

– info_player_start – Start camera position, spectator spawn position.
– neo_bloom_controller – Control recon nightvision intensity. Good value depends on your map lighting.
– neo_game_config – Set game mode. CTG for Capture the Ghost, TDM for Team Deathmatch. VIP not supported.
– neo_ghost_retrieval_point – Ghost capture zone. Team and radius controls.
– neo_ghostspawnpoint – Ghost spawn point. Spawn location is chosen randomly from all of these.
– neo_controlpoint – Not supported.
– neo_escape_point – Not supported.

Troubleshooting

“Failed to load the default scheme file…”
Something went wrong with the configuration. Double-check your FGD, GameConfig, and GameInfo locations and contents.

“gameinfo.txt doesn’t exist in …”
Confirm GameInfo.txt and GameConfig.txt contents. Make sure the file extension is correct (not .txt.txt for example), having file extensions always visible may help (search “Show or hide file extensions” in Control Panel).

Grass won’t generate / “Material […] uses unknown detail object type”
Go to Map -> Map Properties, and set “detail.vbsp file” to your full SteamAppscommonNEOTOKYONeotokyoSourcedetail.vbsp path.

“Could not find lights.rad in lights.rad.”
You can copy-paste lights.rad from NeotokyoSource folder to your SourceSDKbinep1bin folder to get rid of this.

Hammer goes unresponsive when compiling!
This is common behaviour. Just leave it alone for a few minutes, it should become responsive again once it’s completed compiling. If you wish to abort the compile, open up the task manager (ctrl+shift+esc), and terminate “vvis.exe” and/or “vrad.exe”, depending on which stage of the compile it’s currently at.

How do I auto-launch Neotokyo after compile?
This would require some GameConfig.txt editing, I believe. I’m not really sure (tell me if you know!) What you can do, however, is run Neotokyo in windowed mode during testing, so you can quickly alt-tab back and forth between the editor and the game (“map mapname” in console to quickly reload the level).

My level has no lighting even after I added some!
– Make sure you compiled with VRAD enabled.
– Make sure the in-game client cvar “mat_fullbright” is set to 0.

Ghost doesn’t spawn!
Both teams need at least 1 player for the ghost to spawn, use the console command bot_add to spawn bots. Also make sure the game mode is properly set with a neo_game_config entity to CTG.

My level has bad framerates / takes forever to compile!
Read this. Saves you from a lot of headache when moving on to make more complex maps.

It still takes quite a while to compile although I’ve optimised properly.
Try setting VIS to “fast”. This will make the visibility calculation part of compile cut some corners for faster compile times. You can also set RAD to “fast” for less accurate, quicker lighting calculation. You can also set RAD to “no” to skip lighting stage altogether if you aren’t currently working with lighting. Having no light entities in the level will also automatically skip RAD. I would advice against setting VIS to “no” unless you know that’s what you want. If you’re curious about what the compile actually does, see this article.
Remember to always compile your release versions with both VIS and RAD set to “normal” for optimal lighting quality and map performance. You should not compile HDR lighting, as Neotokyo doesn’t support it and it increases map size.

Something else
Ask away!

SteamSolo.com