GameBot not reacting in Custom Level
I’ve been using this forum to help in developing a tool for my thesis. And I keep on coming back and you guys always provide me great information to solve my issues. So I must give a big thanks to the development team of Pogamut!
I’ve come in contact with another problem.
I installed Pogamut Gamebots in UDK (Dec 2010 Edition) and preformed the following steps to create my level and a custom pickup:
STEP 1:
Inside C:\UDK\UDK-2010-12\Development\Src\UTGame\Classes, I created the following UC files:
class MyCustomItem extends UTItemPickupFactory
class MyCustomItem _Item01 extends MyCustomItem
With these I am able to create my own custom pickups which are shown in UDK Editor. I understand this is not directly related to Bots, but eventually I will need the Pogamut Gamebots to pick my custom items.
STEP 2:
I created a basic DM level by setting World Properties -> World_Info -> Game Type for PIE to BotDeatchmatch. Then I created several path_nodes and PlayerStarts in the level. Also create UTWeapon_Pickup_Factory for each weapon for the player and Bots to pick up.
Step 3
I named the level I created to DM-Deck for the reason that this is the name of the default map. Once done I COOK and MAKE everything with UDK Front-End tool.
Step 4:
Open Netbeans and create a new project. For this test I created a Hunter bot type from UDK Sample file.
Step 5:
Switch on server by going into Command Promptand got the following.
Server Output:
C:\UDK\UDK-2010-12\Binaries>udk server DM-Deck?game=GameBotsUDK.BotDeathMatch
Init: Version: 7637
Init: Epic Internal: 0
Init: Compiled (32-bit): Dec 11 2010 09:15:54
Init: Command line: DM-Deck?game=GameBotsUDK.BotDeathMatch
Init: Base directory: C:\UDK\UDK-2010-12\Binaries\Win32\
Init: Character set: Unicode
Log: Executing Class Engine.ServerCommandlet
Log: Initializing Game Engine...
Init: UEngine initialized
Log: Steamworks is unavailable
Log: LoadMap: DM-Deck?Name=Player?Team=255?game=GameBotsUDK.BotDeathMatch
DevMemory: Virtual memory allocation size: 88.31 MByte (92598272 Bytes)
Log: Game class is 'BotDeathMatch'
Init: WinSock: Socket queue 131072 / 131072
Log: NetMode is now 1
Log: Primary PhysX scene will be in software.
Log: Creating Primary PhysX Scene.
Log: Bringing World DM-Deck.TheWorld up for play (30) at 2011.02.04-15.45.34
ScriptWarning: Failed to register game with online service. Registering as a LAN match
BotDeathMatch DM-Deck.TheWorld:PersistentLevel.BotDeathMatch_0
Function Engine.GameInfo:OnServerCreateComplete:00F9
Error: Can't create a new online session when one is in progress: Transient.UTGameSettingsDM_1
ScriptWarning: Failed to register game with online service. Game won't be advertised
BotDeathMatch DM-Deck.TheWorld:PersistentLevel.BotDeathMatch_0
Function Engine.GameInfo:OnServerCreateComplete:0201
ScriptLog: BotServer bound to port 3000
ScriptLog: ControlServer bound to port 3001
ScriptWarning: Accessed array 'BotDeathMatch_0.GameSpecificMapCycles' out of bounds (-1/1)
BotDeathMatch DM-Deck.TheWorld:PersistentLevel.BotDeathMatch_0
Function GameBotsUDK.BotDeathMatch:PreBeginPlay:024A
ScriptLog: GB server on.
ScriptLog: BotServerPort:3000 ControlServerPort:3001
Log: Bringing up level for play took: 0.078683
Log: ########### Finished loading level: 0.432846 seconds
Init: Game engine initialized
Log: Initializing Game Engine Completed
ScriptLog: START MATCH
Step 5:
I go back to Netbeans and RUN the Hunter file.
Netbeans Output:
(Platform) WARNING 15:46:17.965 Creating registry at 51936 ...
(Platform) WARNING 15:46:17.988 Starting MBean server.
(RaycastingBot) WARNING 15:46:18.158 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
(RaycastingBot) WARNING 15:46:18.388 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
(RaycastingBot) WARNING 15:46:18.622 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
(RaycastingBot) WARNING 15:46:18.854 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
(RaycastingBot) WARNING 15:46:19.088 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
(RaycastingBot) WARNING 15:46:19.321 There is no weapon descriptor for current bot's weapon of id: 'UTWeap_LinkGun_0'
Step 7:
Open UDK Game and enter the game by going into “open 127.0.0.1”.
Server Output:
ScriptLog: We are in gained child 2, it is BotConnection_0
ScriptLog: Alive,BeginState
ScriptWarning: Accessed None 'Pawn'
RemoteBot DM-Deck.TheWorld:PersistentLevel.RemoteBot_0
Function GameBotsUDK.RemoteBot:Alive.BeginState:0029
ScriptLog: Alive,EndState
ScriptLog: State: Dead, fc BeginState()
ScriptLog: In Dead:Begin:
ScriptLog: Spawn hack
ScriptLog: Trying to spawn pawn
ScriptLog: In Roaming STATE! Shouldnt be!
ScriptLog: Alive,BeginState
ScriptLog: Alive,EndState
ScriptLog: Lost Child BotConnection_0
ScriptLog: We are in gained child 2, it is BotConnection_1
ScriptLog: Alive,BeginState
ScriptWarning: Accessed None 'Pawn'
RemoteBot DM-Deck.TheWorld:PersistentLevel.RemoteBot_1
Function GameBotsUDK.RemoteBot:Alive.BeginState:0029
ScriptLog: Alive,EndState
ScriptLog: State: Dead, fc BeginState()
ScriptLog: In Dead:Begin:
ScriptLog: Spawn hack
ScriptLog: Trying to spawn pawn
ScriptLog: In Roaming STATE! Shouldnt be!
ScriptLog: Alive,BeginState
NetComeGo: Open TheWorld 02/04/11 15:47:38 127.0.0.1
Log: Command not recognized
ScriptLog: ServerSetSpectatorLocation UTPlayerController_0 GetStateName():'PlayerWalking' GetViewTarget():'GBPawn_2'
This process loads the game and lets me traverse through the level I created with no problems letting me pick the CustomItems I added in the level. However the Hunter bot is simple standing there doing nothing. It does not react when I go next to it or when I shoot at it. And if I kill it another one will simple be created.
Could someone please help in solving this problem.
Kind Regards,
dirkmalta
P.S. I tried doing this same process for previous versions of UDK with the same result. I also noticed that using earlier version from UDK-07-2010 actually cause the level to crash when initially started.