ONS-Rail

Anything about UT2004 mapping, Uscripting & more
Post Reply
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

ONS-Rail

Post by Crusha K. Rool »

Now in the [catacomb funeral] edition v16!

http://www.mediafire.com/?44wqrbccccgm16x


I've done my first addition of actual geometry on this map in beta 16.
Specifically did I add an entire canalisation system below the map's surface that can be accessed from eight manholes across the entire map. Manholes can be covered and uncovered with the [Use] key when you stand close to them.

What's the point of it?
Well, for now it's about experimentation. I am not sure how exactly it will play out, especially since I avoided telling the bots how to get down there because they are already struggling hard enough with the map's massive path network and concepts of movable doors and ladders as it is. (Though if a bot should ever get into the incredibly unlikely case to fall down a manhole by accident, he should still know how to navigate the sewers)

I had several design goals for the sewers:
  • Discourage too frequent use of them. Pretty much every route you take through the sewers will take you longer than travelling on the upper ground of the map. The addition of manholes covers that need to be opened before entering the sewers adds another small discouraging delay and also prevents from accidentally falling down there.
  • Make it dark and claustrophobic. There is not much space to navigate around, they are about two player sizes wide. If you get caught up in a fight down there, you are probably easy prey for most weapons.
  • Provide the player in the sewers with decisions that he has to make. Straight routes are boring, so I tried to add many forked paths that are about equally attractive and give you alternatives so you are not necessarily forced to run into other players in the sewers. There is a choke room in the centre of the map that needs to be passed to get from one side of the map to the other, though, and it has some grates so that you can eventually be spotted there by other players that fight around the U-damage pickup above.
  • Use them to get behind enemy lines. The surface of the map can be spammy, so the sewers are the place that you can use for a more subtle approach to get into the enemy base - that is unless the enemy is guarding them as well. The manhole covers will also make a distinctive metallic noise when opening and closing them, so the enemy may get suspicious if he pays attention to it or sees open manholes around his side of the map despite having closed them not too long ago.
I also added an Invisibility pickup to the choke centre of the sewers that thou can grab to become a cloaked predator of the sewers and strike terror in the hearts of thine enemies! Pay attention to not step into the water, though, as it can easily give your position away with the ripples.
You can also try to smuggle the Kamikaze pickup through the sewers but you should keep in mind that it still gives your position away with it's ticking noise. The Kamikaze's Redeemer missile on your back will also still be visible if you combine it with the Invisibility pickup, so don't expect to make a devastating item synergy.


And tell me if your framerate increased with this version. Can't tell for me because it keeps running with constant 80 fps here, regardless of the new Cull Distance Volume.
I expect the network traffic to get a bit better, though, due to some players going into the sewers, which are naturally far better zoned than the surface and will also cause less players to be around for spammy fights that need to be replicated to everyone.
PonySlaystation
Posts: 3
Joined: Fri 20. Jul 2012, 20:59
Description: Nomen est omen

ONS-Rail

Post by PonySlaystation »

Hey Crusha!

just had a few first looks on the sewers and they look nice; nice as in "appropriate for a sewer". It can be a bit painful to get up and down the ladders though, as you need to be aligned perfectly for it to work. Especially when trying to go up, it's easy to get stuck on the rim.
Crusha K. Rool wrote:And tell me if your frame rate increased with this version. Can't tell for me because it keeps running with constant 80 fps here, regardless of the new Cull Distance Volume.
I can't tell for sure either because it's mostly a problem during online play, however I think I have an useful lead: a spot where performance varies extremely (with both v15 and v16!).

Here it is: Looking down from one the sniper towers.
Image
(alt link)

Now with a slightly different angle. Everything's alright again.
Image
(alt link)

You might not be able to reproduce it on first attempt. It's easiest to trigger when slowly descending your camera from a bit higher while watching your stat fps.

After triggering that bug, the frame rate will easily fluctuate by a factor of 4 in a seemingly random way, even if you don't move your camera. This leads me to believe that this is a key contributor to the problems everyone experiences. Often it also drags down the fps permanently, even if the rest of the map was running fluidly before.
Zon3r
Posts: 575
Joined: Thu 7. Apr 2011, 08:46
Description: Don't shoot at me!

Re: ONS-Rail

Post by Zon3r »

Um, os this supposed to be a tdm or an ons map? cause i dont see nodes, there is one node up in the middle, but its not shown on the map. as for the fps, with 31 bots+me, it was jumping from 16 to 98. here is the lonely node :D
Image

now the link designer is showing the red core, but it isnt really there
Image
Image
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: ONS-Rail

Post by Crusha K. Rool »

Hmm, can you post the contents of your UT2004.log after playing the map?
SpaceEngineer
Posts: 75
Joined: Sat 3. Mar 2012, 22:26
Description: what is it?

Re: ONS-Rail

Post by SpaceEngineer »

Nice work Crusha! I can't play ONS on this map too, there no nodes spawned. This is probably occurs then you forgot (or refuse) to rebuild bot paths. Regarding to bots, why not using manually connected path nodes inside the sewers? I always try to manually connect path nodes, this helps to avoid "disconnected path nodes" error and "no route from A to B" errors, simplifies route network, and decreases build time. Regarding to manholes, you really should make it at least 2 times bigger, because it's too hard to enter the pipe, you are perfect target while trying enter there.
PonySlaystation
Posts: 3
Joined: Fri 20. Jul 2012, 20:59
Description: Nomen est omen

Re: ONS-Rail

Post by PonySlaystation »

Here's mine. Same problem as Zon3r described; happens only with the v16 map.

Code: Select all

ScriptLog: New Player PonySlaystation id=53aac5c806e8248d961a9a1ab8832edd
Log: Static mesh batches: 16464564 vertex bytes, 1571082 index bytes
Log: Allocating 16384 byte dynamic index buffer.
Log: Finished precaching geometry in 4.452 seconds
Log: Finished precaching textures in 0.527 seconds
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetInitialState:0018) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:000F) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:0017) Attempt to assign variable through None
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:0033) Accessed None 'PC'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetInitialState:002F) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:000F) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:0017) Attempt to assign variable through None
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.SetCoreDistance:0033) Accessed None 'PC'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0022) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0022) Accessed None 'PowerCores'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0040) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0040) Accessed None 'PowerCores'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateSeveredLinks:006D) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:0007) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:001D) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:0040) Accessed None 'PC'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateSeveredLinks:0081) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:0007) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:001D) Accessed None 'PC'
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.Sever:0040) Accessed None 'PC'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0243) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0243) Accessed None 'PowerCores'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0277) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.UpdateLinks:0277) Accessed None 'PowerCores'
Log: Spawning new actor for Viewport WindowsViewport
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.FindPlayerStart:02A2) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.FindPlayerStart:02A2) Accessed None 'PowerCores'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.FindPlayerStart:044E) Accessed array 'PowerCores' out of bounds (0/0)
Warning: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.FindPlayerStart:0465) Accessed None 'SelectedPC'
Error: ONSOnslaughtGame ONS-Rail-Beta16.ONSOnslaughtGame (Function Onslaught.ONSOnslaughtGame.FindPlayerStart:052C) Accessed array 'PowerCores' out of bounds (0/0)
ScriptLog: Warning - PATHS NOT DEFINED or NO PLAYERSTART with positive rating
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 12:52
Description: Coding Dude

Re: ONS-Rail

Post by Wormbo »

SpaceEngineer wrote:Nice work Crusha! I can't play ONS on this map too, there no nodes spawned. This is probably occurs then you forgot (or refuse) to rebuild bot paths. Regarding to bots, why not using manually connected path nodes inside the sewers? I always try to manually connect path nodes, this helps to avoid "disconnected path nodes" error and "no route from A to B" errors, simplifies route network, and decreases build time. Regarding to manholes, you really should make it at least 2 times bigger, because it's too hard to enter the pipe, you are perfect target while trying enter there.
Forced paths are no solution, as they actually work a bit differently. They allow more control from the UnrealScript level, which might cause additional performance issues if overused. If bots aren't supposed to use the sewers anyway, you might as well just show them the shortest way out, i.e. the ladder up.

[edit]
Path building took 18 minutes here. Not really surprising, considering it scales at least quadratically with the total number of nav points. The map might have too many navigation points in some areas.
Last edited by Wormbo on Thu 25. Oct 2012, 08:46, edited 1 time in total.
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: ONS-Rail

Post by Crusha K. Rool »

Seeing how bots already struggle to get up ladders to the roofs on the open areas and often get stuck at the top, I am actually concerned that they would ever make it up the sewers ladders.
Zon3r
Posts: 575
Joined: Thu 7. Apr 2011, 08:46
Description: Don't shoot at me!

Re: ONS-Rail

Post by Zon3r »

so, after rebuilding the paths, wanted to try the map, it's ok, working, nodes and everything. so i have left the building to the bots, and went to explore the sewers, after some time, i have realized that something isnt ok. my bots are not building the nodes. so i started looking for them. they were having some community gathering.

(don't pay attention to the flying blue bot top left :D)
Image
Image
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 12:52
Description: Coding Dude

Re: ONS-Rail

Post by Wormbo »

Personally I'd recommend replacing "essential ladders" with jumppads (or lifts, but I don't think that'd fit the theme) for better playability. Especially the ladder in Zon3r's pic is in open view from the enemy side, allowing long-distance attacks against the slow ladder climber before he can react.

IIRC there are a number of ladders in UT200x stock maps, but none of them are actually set up as ladders. (visuals only) You can tell by the looks that at some point those were intended to be ladders, but gameplay choices decided against them.
Post Reply