[Logo]
 
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Proposal: New Bot Sentinel  XML
Forum Index -> Druids RPG Development
Author Message
Szlat

Wicked Sick!

Joined: 05/18/2005 18:32:41
Messages: 2124
Location: UK
Offline

There are currently two sentinels available for Engineers - the lightning sentinel and the normal sentinel. I am proposing a new sentinel, which instead of being stationary, follows the player around. (See the Drones thread for the concept)

Features I am proposing:
  • Follows the player around. This could be circling round the player as the drone does, or just following a set distance behind the player
  • will translocate back to the player if more than a certain distance away
  • Bot health rechargeable via link alt fire, as for any vehicle/sentinel
  • Bot's main target will be incoming projectiles. However, I am not sure yet how much cpu will be required to work out what is incoming and what is outgoing. So I think it is likely to actually target the nearest non-team projectile within range. This will include warlord rockets, skaarj projectiles, lava blobs, krall bolts, but not attacks from gnats, mantas
  • it will just fire just one shot at a time (like the bolt), not at all in range (like the rod)
  • if no projectiles within range, it will target nearest enemy
  • Damage. Projectiles it will explode. Damage to enemies will not be much - perhaps just 5. Perhaps a bit more closer up. Will use the TakeDamage function, so affected by DB/DR
  • Firing rate perhaps once every 0.5 secs, but adjusted according to player's WeaponSpeed
  • Initial health of bot adjusted according to ConstructionHealthBonus skill
  • The bot will have to let all player fire through. We would not want the player's redeemer to hit the bot and explode

    Although the concept is inspired by the Drone, the code will be all new. The Drone has extra abilities. like healing the player, which I do not think we want.

    Name perhaps "ShieldBot"? Or "DefenseBot"?

    So, any thoughts?
  • BotFodder

    Wicked Sick!
    [Avatar]

    Joined: 01/13/2006 15:23:41
    Messages: 1239
    Location: Florida
    Offline

    I'm going to start having identity crises depending on what you call it.

    I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
    WM: (DC)BotFodder 170
    MM: (DC)BotDoctor 141
    AM: (DC)BotBooster 147
    http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
    Twitter: http://twitter.com/ericdives
    [WWW] aim icon [MSN]
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    BotFodder wrote:
    I'm going to start having identity crises depending on what you call it. 
    LOL Well, think of a better name for it. I must admit the term Bot may be confusing with non-player characters, so a different term may be better.
    But, no feedback apart from the name?
    TheDruidXpawX

    Wicked Sick!
    [Avatar]

    Joined: 12/19/2004 18:32:13
    Messages: 1946
    Offline

    There actually is already a little starwars bot that someone built that follows you around. It might be worth looking at.

    Skin download: http://www.disastrousconsequences.com/dcforum/posts/list/1189.page

    The fundamental problem is this: The first word we learn as children is NO. From that point forward society teaches women that saying no isn't polite, and society teaches men to respect those who wont take no for an answer.

    The world is what you make of it, my friend. If it doesn't fit, you make alterations. -- Stella, The Morning Star
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    I tried doing a stationary sentinel that would do the "shooting down projectiles" thing. I thought a defensive sentinel would be quite nice to have.



    Well, I've given up on this one.

    The idea of a sentinel shooting down incoming projectiles sounded good.
    The test version I knocked up was really effective. Get a few of them together and all kralls blasts/rockets/rocks/gasbag belchs/skaarj fire (including lava), got taken out before it got to you. But you still had to watch out for the explosions (and gnats).
    Would have been great in defense.

    However, although the sentinel destroys the projectiles, it only does it server side. So, your client still sees the projectile coming at you - it just does no damage when it hits (since damage is determined server side).

    Have I mentioned I hate replication?
    The problem is that projectiles have this flag bNetTemporary set. This means that the server tells the client to spawn a projectile with this speed and direction, then the server has no more control over it. The client just draws it flying through the air based on those initial states.
    So, destroy the projectile on the server, and it still flies on in the client.
    Set it to hidden on the server, and it still flies on in the client.
    Explode it on the server, and it still flies on in the client.
    Kick off a dummy processtouch on the server, and it still flies on in the client.
    You can't even pass a projectile variable to the client - it refuses to replicate them. So you can't tell a client side actor which projectile the server wants destroyed.

    To change all projectiles to not be bNetTemporary (similar to the redeemer and transbeacon) would be a lot of work, and would also put an unacceptable load on the bandwidth. So, it's a no-go.

    So, I'll probably look at the shield wall idea next instead.
    TheDruidXpawX

    Wicked Sick!
    [Avatar]

    Joined: 12/19/2004 18:32:13
    Messages: 1946
    Offline

    Some events can stop projectiles though. Like when an avril is shot down. Another idea would be to have the projectile impact on a non-existent wall when it's shot down.

    Hope my 2 cents helps..

    Dru

    Skin download: http://www.disastrousconsequences.com/dcforum/posts/list/1189.page

    The fundamental problem is this: The first word we learn as children is NO. From that point forward society teaches women that saying no isn't polite, and society teaches men to respect those who wont take no for an answer.

    The world is what you make of it, my friend. If it doesn't fit, you make alterations. -- Stella, The Morning Star
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    Thanks for the suggestions Dru.

    TheDruidXpawX wrote:
    Some events can stop projectiles though. Like when an avril is shot down. 
    The avril is another of the special cases where bNetTemporary=false. Like the redeemer, it can be guided and shot down, so the server stays in control. This is true for quite a few player controlled weapons - like grenades, spider mines, bioglobs, avril, shockballs etc.
    However, the only monster projectiles that can be shot down are
    Slith
    Lava skaarj
    poison queen web

    leaving out
    Rockets (Brute, Behemoth and Warlord)
    gasbag belch
    krall (bolt, laser, ice and blasts)
    skaarj fire (from skaarj and queens)
    Beam warlords
    gasbag flak shells
    all instant hit fire

    so not really a lot of use on an invasion server.

    We could alter all the DCMonster projectiles so they can be shot down. That would probably be enough to make it useful. Getting rid of lava globs and null warlords rockets would be a help. But I do not want to increase the replication load too much.

    TheDruidXpawX wrote:
    Another idea would be to have the projectile impact on a non-existent wall when it's shot down. 
    I had actually tried that, but not with a lot of success. It can't be a non-existant wall - you have to physically create it so it gets created on the client.
    The timing becomes a nightmare. Once you have decided which projectile you are taking out, you have to spawn a wall in front of it. However, you have to make it far enough in front so that in the time it takes to replicate to the client, the projectile hasn't got there yet. With pings of 200 common on DC, I am not sure what distance that would be - quite large I suspect. Then you have to make sure player projectiles and other pawns do not collide with this temporary wall.
    TheDruidXpawX

    Wicked Sick!
    [Avatar]

    Joined: 12/19/2004 18:32:13
    Messages: 1946
    Offline

    Can it change the color of the projectiles, or their translucency?

    Even if the projectiles appear to keep coming, that really may not prove as much of a hinderance as it seems.

    Skin download: http://www.disastrousconsequences.com/dcforum/posts/list/1189.page

    The fundamental problem is this: The first word we learn as children is NO. From that point forward society teaches women that saying no isn't polite, and society teaches men to respect those who wont take no for an answer.

    The world is what you make of it, my friend. If it doesn't fit, you make alterations. -- Stella, The Morning Star
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    TheDruidXpawX wrote:
    Can it change the color of the projectiles, or their translucency? 
    Nah. Can't seem to do anything to it - unless I am missing a trick somewhere. The server doesn't seem to be able to tell the client anything about the projectile.

    The only way seems to be to get rid of the bNetTemporary flag, then I think it works alright. I just don't know how much loading that will put on the network. In a way, monsters fire less projectiles than players do. Each monster will only fire one or two a second.
    We could try changing the DCMonsters to have not bNetTemporary projectiles, and see how it goes? I might be able to get the sentinel to check if that flag is set, and not fire at the bNetTemporary projectiles, so no confusion occurs.

    TheDruidXpawX wrote:
    Even if the projectiles appear to keep coming, that really may not prove as much of a hinderance as it seems. 
    I am not sure. I can commit the code if you like so you can have a play. You don't know whether to dodge missiles or not, so it gets well confusing. I suppose if we repackaged it as a missile nullifier rather than a missile destroyer it wouldn't be so bad? So the sentinel takes the sting out of missiles rather than destroying them?
    TheDruidXpawX

    Wicked Sick!
    [Avatar]

    Joined: 12/19/2004 18:32:13
    Messages: 1946
    Offline

    I have an idea for you. It would only work for the owner of the sentinel.

    Have it execute the shoot down on the server and the client. Since the client owns the sentinel, it should work.

    To other players, it wouldn't be as obvious, but to the engineer it would look just like it was shotdown I believe...

    Skin download: http://www.disastrousconsequences.com/dcforum/posts/list/1189.page

    The fundamental problem is this: The first word we learn as children is NO. From that point forward society teaches women that saying no isn't polite, and society teaches men to respect those who wont take no for an answer.

    The world is what you make of it, my friend. If it doesn't fit, you make alterations. -- Stella, The Morning Star
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    Szlat wrote:

    TheDruidXpawX wrote:
    Even if the projectiles appear to keep coming, that really may not prove as much of a hinderance as it seems. 
    I am not sure. I can commit the code if you like so you can have a play. You don't know whether to dodge missiles or not, so it gets well confusing. I suppose if we repackaged it as a missile nullifier rather than a missile destroyer it wouldn't be so bad? So the sentinel takes the sting out of missiles rather than destroying them? 
    Actually, on reflection, that might work fine.
    Have the sentinel target missiles, and any missile that gets zapped gets it's damage set to 1. As if the explosive has been destroyed and it is just the shell hitting you.

    I'll have to have a look for special cases, that do funny things on impact - they may need to be destroyed. I will investigate further.
     
    Forum Index -> Druids RPG Development
    Go to: