XMP-Silos: I got bored over the xmas holidays...

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

GreatEmerald

Khnumhotep
Jan 20, 2008
4,042
1
0
Lithuania
Hi Jet, was nice playing with you XD

Actually, yea, neat map. But I don't approve of the blocking volumes, it seems that you can touch a building but you get blocked, and you don't even know what did that. I guess that something should mark the end of the area, and it would be an awesome effect if you could utilise U2KickReflectors from Unreal II (needs porting, but from what I can see it shouldn't be hard to do).

Oh, and encoutered a very strange bug while playing, my character kept walking to the left even if I didn't push anything. But I guess it's not related to the map.
 

EQ²

Code Monkey
Oct 30, 2004
244
0
16
42
Near Birmingham, UK
www.teambse.co.uk
Since this is supposed be a BF-style map (or like a BF-meets-XMP map really) In an ideal world I'd use the same method that BF uses where going outside the playable area shows first a countdown and then begins to inflict damage. That system works fine in BF where movement speeds are slow but XMP movement means you could reach the "real" edge of the map before a reasonable amount of time had passed, and making the volume insta-kill seems unfair to punish players who stray outside by accident.

So, basically, blockingvolumes do the job but not the job I want. I considered making it a force field that becomes visible as you get near (there's a 2k4 map where they do that, can't remember which one since I've barely played 2k4), but that's a break from both BF and U2 style. The kickers would be easy to port, but isn't that just as unfair to players? The killvolume is unfair as you could stray into it whilst fighting and die through no fault of your own, kickers have the same problem in that hitting them by mistake would send you back toward your enemy, or am I missing something?

Basically there's no solution I like but blockingvolumes are the least intrusive to players, but I agree it's kind of weird to see something and not be able to get to it, I don't know how to clearly indicate to the player that it's nonplayable. I've used deco and lighting to indicate where the boundaries are in places where it's possible, playable areas are bright, nonplayable are dark. It's also on the radar the same as battlefield, as in BF you always watch your minimap to notice where you're close to the boundary. I realise there's a lot of assumptions here about people knowing the BF paradigm but I did specifically set out to make another 2142-style map.

Cordons (like haz-tape or similar) are a possibility, but I don't want anything that looks too contrived or un-natural as I am keen to preserve the feel of it that I feel I've established. In some places there are already clear barriers (like the building fronts or pieces of fence) but what would be good would be to know which parts most specifically need some kind of delimiter, so I can work on those and add something appropriate.

As for the other bug I've no idea, unless it's some weird lag on the server side or the peering between you and my server, I have seen a little bit of packetloss recently so it could be network related.

Out of interest what did you think of Quayside, as that was my first attempt at a 2142-style map a couple of years ago but was never really happy with and didn't ever finish properly? Would be interested to hear your thoughts.
 

GreatEmerald

Khnumhotep
Jan 20, 2008
4,042
1
0
Lithuania
Hmm, the BF style sounds the same as the IonKillVolume from UT2004, but it would be a little more difficult to port since it comes with new graphics and sounds (Ion Cannon Activated! :D )
Kickers are a little better than we have now since right now when you hit the boundary, you stop and are a sitting duck until you hit the ground. If there were kickers, you'd dodge off the barrier automatically, and movement is always better for players than no movement. As for getting kicked more closer to your enemy, well, you don't run backwards too often, a lot more often you strafe so that you wouldn't hit something that you don't see, and that way you'll be kicked to the opposite direction of strafing, not into the enemy.

Never played that map as far as I can remember.
 

dutch_gecko

Think Pink
Jun 16, 2004
1,882
1
0
www.dutch-gecko.co.uk
If you need delimiters, may I suggest embedding little lights into the ground? Kinda like the edge of the track in that raptor-race map that's in the dark (sorry, forgotten the names of all of them).
 

EQ²

Code Monkey
Oct 30, 2004
244
0
16
42
Near Birmingham, UK
www.teambse.co.uk
Kickers are a little better than we have now since right now when you hit the boundary, you stop and are a sitting duck until you hit the ground. If there were kickers, you'd dodge off the barrier automatically, and movement is always better for players than no movement.

I looked at the U2KickReflectors from U2 but what they do is reverse the incident vector which kind of sucked. So I started with that code but instead subclassed volume (rather than trigger) and instead of reversing the incident vector I reflect it by the surface normal so that you "bounce" off the surface. It took some messing around to get it to feel right but now it's done I'm inclined to agree that it's better.

As for actually representing the boundary I took a look at the 2K4 map I was thinking of (it's called DesertIsle I found out) and they do the force shield thing with a mover. What I've done instead is an array of shields around the outside with a triggered texture that appears when the kicker is triggered and then fades out:



It looks ok, the texture needs tweaking a bit but the principle is there. The trigger only happens clientside too so there should be no replication overhead bar the small amt needed to replicate the event tags and material names, and that only happens once. I've made some little "forcefield generator" meshes which kind of delineate where the map edge is too I hope.

I've disabled the kick effect if the incident vector size is smaller than the encroaching pawn's walking speed, so that bumping gently against the kicker just shows the forcefield but doesn't kick you or play the sound. I also left the blockingvolumes in place as sometimes it seemed to be possible to get past the kicker if travelling at the right speed along the right vector.

It'll definately need some tweaking but UEd has crashed on me so many times today I've kind of run out of time. In the mean time here is Alpha9.

Gecko: the name of the map you're thinking of was Morolod ( anagram of LordMoo :) )
 

GreatEmerald

Khnumhotep
Jan 20, 2008
4,042
1
0
Lithuania
Awesome :D Have to check this out!

EDIT: checked it. Some buildings aren't shielded and behave the same way they did before, which still looks strange. Then if you look at the sky after triggering a shield, you can see strange anomalies. In some places you can get a little through the shield that you wouldn't be able to see it (I think it's up on the train railway on one side). But other than that, it's an awesome effect and good job! :)

By the way, does the shield throw you away with a force that is dependent on the way you bump into it? And how about making an emitter effect that spawns in the place you touch the shield wall, maybe similar to what the train emits?
 
Last edited:

EQ²

Code Monkey
Oct 30, 2004
244
0
16
42
Near Birmingham, UK
www.teambse.co.uk
Yep it's far from finished, I kind of ran out of time yesterday as getting the materials on the forceshield to look right took a while, and tweaking the client-side so it worked just right.

Some buildings aren't shielded and behave the same way they did before, which still looks strange.

What I've tried to do is put kickers wherever there isn't already implicit level geometry that defines the edge of the map, so the kickers ride over the top of buildings which form intrinsic walls, so you'll hit the forcefield if you try to jump on top of the building but not if you just bump up against it. I did this on some of the buildings because the kicker would make you hit another peice of level geometry and you'd end up ricocheting off both like a pinball!

If you think the forceshield should come down everywhere I'll have a think about it, but I feel that where the edge is already clearly delineated, putting the kicker isn't necessarily required.

if you look at the sky after triggering a shield, you can see strange anomalies.

Actually it's there all the time, you just have to be at the right angle. The way I'm fading the material is using a TriggeredTexPanner with a gradient ramp with a transparent strip in it's "at rest" location. What I think is happening is that at the right distance/angle, the MIP map is taking over and perhaps a slightly opaque part is making it to the shader. If I'm right I can fix this just by either removing the MIP maps or just manually making them all transparent so that at lower LOD the thing just doesn't show up.

The other method could be to reign in the cull distance for that mesh, since they already cull significantly, I might make the cull distance shorter to mitigate the effect.

In some places you can get a little through the shield that you wouldn't be able to see it (I think it's up on the train railway on one side).

Yep I know about that one, I think the squeeze modifier I applied to make the shield into a dome actually moved some of the bottom vertices of the shield, it's a bit time-consuming to re-do the mesh so I just need to realign the blocking volumes and kicker volumes to where the mesh actually is.

But other than that, it's an awesome effect and good job! :)

You know I only spotted this after about the third time reading the post and had thought up to that point that you thought it was rubbish :)

By the way, does the shield throw you away with a force that is dependent on the way you bump into it?

For incident speeds less that walking speed it does nothing. For higher speeds it reflects the incident vector along the surface normal but caps the vector components to a sensible value so you don't go bouncing off around the level like a crazy person. That bit of code I copied from U2ReflectionKicker.

And how about making an emitter effect that spawns in the place you touch the shield wall, maybe similar to what the train emits?

Getting an approximate touch location isn't too hard, all that is needed is to offet the pawn's location by the reverse of the surface normal with a size equal to the pawn's collision radius I think. But yeah I had thought of that but I'd probably make a different Salamander for it to the train spark. I'd probably do that server side as well so that other players could see the effect.

Anyways, going to do some more work on it this evening so we'll see what I can come up with. :)

EDIT: Whoops this ended up being a long post :D
 

GreatEmerald

Khnumhotep
Jan 20, 2008
4,042
1
0
Lithuania
If you think the forceshield should come down everywhere I'll have a think about it, but I feel that where the edge is already clearly delineated, putting the kicker isn't necessarily required.
Some buildings have walls that aren't completely smooth and you expect getting hung up on those parts, but instead you get blocked off a little earlier and slide off. That's pretty unrealistic. Also, there are a few parts really near the buildings that don't blend with them and look like gaps in the forcefield.

You know I only spotted this after about the third time reading the post and had thought up to that point that you thought it was rubbish :)

For incident speeds less that walking speed it does nothing. For higher speeds it reflects the incident vector along the surface normal but caps the vector components to a sensible value so you don't go bouncing off around the level like a crazy person. That bit of code I copied from U2ReflectionKicker.
:D
I like the idea of bouncing off like a crazy pinball with a flashbang :lol: But I guess that's why people don't like concussion jumps :) They + unlimited forcefield = you in the enemy base...
 

EQ²

Code Monkey
Oct 30, 2004
244
0
16
42
Near Birmingham, UK
www.teambse.co.uk
I see what you mean but that was kind of the intention, to stop players getting stuck on fiddly architecture. The one part where I do agree it was kind of weird is the front of the "garage" buildings where you couldn't go into the recessed parts at the front. I've now changed it so the kickers go up and over like they do on the other buildings:



The "weird artifacts in the sky" bug seems to have been banished by removing the MIP mapping from the gradient map texture (MIP mapping isn't really ideal on that material anyway) and I also changed the ramp texture to be grey->black rather than white->black which makes the forceshield noticably less opaque when hit, and looks more like a forcefield now.

Have corrected a lot of the misalignment between the forceshield mesh and the kickers, so there shouldn't be any signficant places where you get "behind" the shield. Have also added kickervolumes in a couple of places where there were gaps.

I've added a basic particle effect when the shield is hit, the calculation actually ended up very simple :cool: :

Code:
ForceFieldEffectLocation =
        Other.Location +
        (myNormal * -1 * Other.CollisionRadius);

Again this effect is client side so it doesn't create any network overhead. I can't decide whether to bother replicating the effect to other clients.

I actually lol'd at the idea of the forcefield accellerating you a little, so that conc-jumping against it would propel you insanely fast! I think not somehow. The velocity limit is a public property on the Actor though so if you feel like making a map without the limit then go nuts :)

Here is Alpha10 (particle package included).
 

EQ²

Code Monkey
Oct 30, 2004
244
0
16
42
Near Birmingham, UK
www.teambse.co.uk
Well here is my progress as of now and I'm thinking this is about where I want to be for a beta release since everything I want is now there and does not appear to be majorly broken. :)

So here are the changes for alpha11:

  • Forcefield effects now replicated to clients, although cull distance on the forceshield meshes means the clients need to be reasonably close to see the effect too. There are also some general improvements and refinements to the kicker netcode and effect trigger code.

  • Tweaks to the net update frequency of some of the custom actors to hopefully reduce replication overhead

  • Improved collision on the generator area so it's harder to get stuck on fiddly bits of deco. There's a tradeoff here against accurate clipping/position of players stood on the generator base mesh but the not-getting-stuck factor is greatly improved so I feel it's worthwhile.

  • Some lighting tweaks, brightening up key areas that weren't to my liking.

  • Some mesh refinements, primarily higher-poly ladders on the bases and silos, and a redesign for the interior of the silos (see pic) so it's far less dull



  • Added detailtextures on the buildings to improve overall appearance and make them seem more grubby and less artificial:



  • Replaced the sheet at the water plant deco with fluidsurface



  • Fixed some more mesh misalignment & other minor tweaks

Map package can be downloaded from here.

As I said at the start of the post I think this might be ready for a beta designation as I'm happy with most stuff now. If anybody has any comments though they're always welcome, especially since nobody actually plays XMP so I'm just making this map for the fun of it and the longer I can drag the process out the more fun I can have :lol:

Anyways, here's some more pretty pictures just because I can: