XC_Engine [20] - XC_Core [7b] - XC_IpDrv
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
-
- Adept
- Posts: 427
- Joined: Tue Feb 21, 2012 7:29 pm
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Let me explain why I'm so happy.
For testing XC_PathBuilder I fast build a room 256×300×5000 spreading 4 PathNodes and 1 Playerstart. Let me see, Editor did not link anything there. Then I went to XC_PathBuilder with 1200 at "MaxScanRange". I did not only have them perfectly linked but I even could figure None unreachable spot testing even if do helps in bOneWayPath - it works like a charm. The main trivia, such a map with hyper paths works perfectly even without XC_Engine - seriously Epic were too restrictive with pathing stuff, mooing at Bots. With a few Console commands (I have to prepare some exec macro again) you can discard creating a crap-ton of paths through ammo loaded by keeping only weaponry marked, decreasing CPU processing for finding a route. I got an old cubed map (even with LowGrav inside) and I have tweaked some paths this way, it's just too good right now...
Little cons:
- mapper in advantage - such a map if by chance is full rebuild without XC stuff, will mess up paths because Editor is a bit retarded at chapter A.I. - lol Epic with "Paths Build" Command which has to be deleted from tutorials because is only an useless nonsense;
- Maps with geometry rammed cannot be recovered - simply DevPath is rejecting such tasks - no names - you'll see what I mean - the most disappointing there were done by dudes with some years spent in Editor - so to speak a bit more advanced than a noob cube drawer like me.
Now this stuff is fascinating, keeping me a bit busy in here, to mention that if you need normal paths but... Editor will not link some Nodes as you want, this is pretty much doable. By following Higor's documentation, actually you can handle things as you wish.
For testing XC_PathBuilder I fast build a room 256×300×5000 spreading 4 PathNodes and 1 Playerstart. Let me see, Editor did not link anything there. Then I went to XC_PathBuilder with 1200 at "MaxScanRange". I did not only have them perfectly linked but I even could figure None unreachable spot testing even if do helps in bOneWayPath - it works like a charm. The main trivia, such a map with hyper paths works perfectly even without XC_Engine - seriously Epic were too restrictive with pathing stuff, mooing at Bots. With a few Console commands (I have to prepare some exec macro again) you can discard creating a crap-ton of paths through ammo loaded by keeping only weaponry marked, decreasing CPU processing for finding a route. I got an old cubed map (even with LowGrav inside) and I have tweaked some paths this way, it's just too good right now...
Little cons:
- mapper in advantage - such a map if by chance is full rebuild without XC stuff, will mess up paths because Editor is a bit retarded at chapter A.I. - lol Epic with "Paths Build" Command which has to be deleted from tutorials because is only an useless nonsense;
- Maps with geometry rammed cannot be recovered - simply DevPath is rejecting such tasks - no names - you'll see what I mean - the most disappointing there were done by dudes with some years spent in Editor - so to speak a bit more advanced than a noob cube drawer like me.
Now this stuff is fascinating, keeping me a bit busy in here, to mention that if you need normal paths but... Editor will not link some Nodes as you want, this is pretty much doable. By following Higor's documentation, actually you can handle things as you wish.
-
- Masterful
- Posts: 717
- Joined: Fri Aug 12, 2011 9:38 pm
- Personal rank: masterfull
- Location: https://sites.google.com/view/unrealtou ... oject/home
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Yeah i think this is a good project i read some very positive things about this edited ut 99 core.
I just wanna say keep up the good works and go on like this.
Will be very handy to do a install writen text document with the files.
This files must be downloaded and installed in the ut 99 system directory?
Just a good hint make a help file with this package so other ut 99 editors mappers and gamers can download it ,or is it just server stuff?
Forgive me guys i just dont know jack shit about this editing.to complicated for me yes i,m a oldsckooler and a fossil about editing.
I just wanna say keep up the good works and go on like this.
Will be very handy to do a install writen text document with the files.
This files must be downloaded and installed in the ut 99 system directory?
Just a good hint make a help file with this package so other ut 99 editors mappers and gamers can download it ,or is it just server stuff?
Forgive me guys i just dont know jack shit about this editing.to complicated for me yes i,m a oldsckooler and a fossil about editing.
unreal tournament 99
®https://sites.google.com/view/unrealtou ... oject/home mine home ut99 website.
https://richardmoust105.blogspot.com/20 ... ef-in.html dutch blog page about ut99 settings.
-
- Godlike
- Posts: 1963
- Joined: Sat Sep 17, 2011 4:32 pm
- Personal rank: Dame. Vandora
- Location: TN, USA
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
@rjmno1 check this out: https://sites.google.com/site/ut99gotyd ... gameengine
I just don't have XC_Pathbuilder tutorial set up.
I just don't have XC_Pathbuilder tutorial set up.
-
- Adept
- Posts: 460
- Joined: Sat Dec 22, 2012 6:37 am
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Feature request. Well, possibly - this might be a really stupid code breaking idea, but I'm struggling to get the behaviour that I want at the moment (though perhaps there's another better way of achieving what I'm trying to do).
I'm modifying the UT bot behaviour. At various points, I want the bot to remain completely stationary and just loop the same animation until a number of seconds have passed. So far I've been using a goTo with a custom state for this. Something like (simplified for brevity):
This... sort of works. In a very limited way. If the bot has no stimulation - by which I mean, if there are no enemies near, or other activity nearby - it'll sit there looping the animation for 5 seconds, just as I want.
However, say, an enemy player happens to wander by. It appears (I don't really know enough about how UT works behind the scenes to actually know this, I'm just sort of inferring it) that the bot 'mind' activates and runs some of the non-latent regular function code that controls bot movement. The result is that, one moment the bot will be standing completely still (yay), and then very abruptly it might side-dodge to the left or the right (boo).
I've tried to find a way to prevent this from happening by overriding as many of the functions that deal with movement in bot.uc/humanbotplus.uc as I can find and inserting a test for a boolean that I set at the top of my state before proceeding, but it doesn't work very well. There are still unwanted movements during my latent 'sleep' call.
So I tried doing the same thing in a regular function and just sitting in a while loop (which is horrible from first principles because I imagine it would peg the CPU at 100%)
...but of course that just leads to a "runaway loop detected error". Which could be worked around, but it's missing the point.
So what I'm wondering is - as far as XC_Engine is concerned - would it be possible to include an unrealscript function that could call a native sleep? I've used the Win32 sleep() function in the past (to yield the timeslice of a heavy working thread - I know, bad form), and I'd like to do something similar here in a "regular" function, since I can't rely on sleep to block other bot activity in state code. Some kind of "nativeSleep()" which would block any other function from executing until it completed. Possible? Madness? Alternatives?
I'm modifying the UT bot behaviour. At various points, I want the bot to remain completely stationary and just loop the same animation until a number of seconds have passed. So far I've been using a goTo with a custom state for this. Something like (simplified for brevity):
Code: Select all
state busyState
{
Begin:
Acceleration = vect(0, 0, 0);
PlayAnim('Breath1', 0.2, 0.2);
Sleep(5);
GotoState('Roaming');
}
However, say, an enemy player happens to wander by. It appears (I don't really know enough about how UT works behind the scenes to actually know this, I'm just sort of inferring it) that the bot 'mind' activates and runs some of the non-latent regular function code that controls bot movement. The result is that, one moment the bot will be standing completely still (yay), and then very abruptly it might side-dodge to the left or the right (boo).
I've tried to find a way to prevent this from happening by overriding as many of the functions that deal with movement in bot.uc/humanbotplus.uc as I can find and inserting a test for a boolean that I set at the top of my state before proceeding, but it doesn't work very well. There are still unwanted movements during my latent 'sleep' call.
So I tried doing the same thing in a regular function and just sitting in a while loop (which is horrible from first principles because I imagine it would peg the CPU at 100%)
Code: Select all
function blockingWait(float duration)
{
local float endTime;
endTime = Level.TimeSeconds + duration;
while (Level.TimeSeconds < endTime) ;
}
So what I'm wondering is - as far as XC_Engine is concerned - would it be possible to include an unrealscript function that could call a native sleep? I've used the Win32 sleep() function in the past (to yield the timeslice of a heavy working thread - I know, bad form), and I'd like to do something similar here in a "regular" function, since I can't rely on sleep to block other bot activity in state code. Some kind of "nativeSleep()" which would block any other function from executing until it completed. Possible? Madness? Alternatives?
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Code exist, is called Roaming - labels Camp/LongCamp, just look there.
-
- Adept
- Posts: 460
- Joined: Sat Dec 22, 2012 6:37 am
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
:Whispering: that old thing for monster called jumper (due to lack of navigation from scriptedPawn and/or others...) I have developed a few toys for Bot (Bot jumper, pauser, hunter - shooting some targets) these are dedicated for default Bot. Making a Bot to camp at a moment is not that hard, it uses defending code - ALL defenders are camping.
But... XCGE can help you in screwing decisions ( PickDestination ) in order to not see it very busy with items and less attention at threats around.
But... XCGE can help you in screwing decisions ( PickDestination ) in order to not see it very busy with items and less attention at threats around.
-
- Masterful
- Posts: 717
- Joined: Fri Aug 12, 2011 9:38 pm
- Personal rank: masterfull
- Location: https://sites.google.com/view/unrealtou ... oject/home
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Thanks chamberly i will give it a try.Chamberly wrote:@rjmno1 check this out: https://sites.google.com/site/ut99gotyd ... gameengine
I just don't have XC_Pathbuilder tutorial set up.
first install version 7 and then 18 right?
i did install all files propperly and ut is running good on the new engine.
Maby a strange question but what are the bennefits with these new files?
i did also edit the unrealtournament.ini
unreal tournament 99
®https://sites.google.com/view/unrealtou ... oject/home mine home ut99 website.
https://richardmoust105.blogspot.com/20 ... ef-in.html dutch blog page about ut99 settings.
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
What !???rjmno1 wrote:Maby a strange question but what are the bennefits with these new files?
Read this topic right from the start location - Page No. 1.
Edit:
New Iterator NavigationActors take in account only Nodes registered in NavigationPoint List, those added later or without paths built are not in account by this iterator. I think I'll "foreach AllActors" then...
-
- Godlike
- Posts: 1866
- Joined: Sun Mar 04, 2012 6:47 pm
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Why would nodes be outside of that NavigationPointList chain? If you have to resort to other iterators, you're doing something wrong
Btw found a crashbug!
Some ape put a PlayerStart outside of a map and bots fail to spawn there, causing an infinite loop.
Code: Select all
native final function LockToNavigationChain( NavigationPoint N, bool bLock);
Some ape put a PlayerStart outside of a map and bots fail to spawn there, causing an infinite loop.
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
I might not want QueenDests linked in PathNet and then new iterator with queen tweaks will not find any - else I was doing a cube for testing all old weapons without to build any path, findplayerstart triggered the second method based on "num = 0" doing a stupid log: "Did not find PlayerStart for team 0" and PlayerStart was Team 0 by default. Just saying...
-
- Adept
- Posts: 460
- Joined: Sat Dec 22, 2012 6:37 am
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
Hmm. Sorry, I don't want to take this thread off-topic with my question, but I'm still having problems with the existing latent functions. I copied the code block for LongCamp and Camp separately into my state, and even with those additional changes - bCamping, bFiringPaused etc. - the blasted bot still breaks out of the latent code as soon as it gets to my call to sleep.
Once execution hits sleep, it starts to jump around again. I'm out of ideas. I might need to appeal for the native sleep function again Any other suggestions?
Once execution hits sleep, it starts to jump around again. I'm out of ideas. I might need to appeal for the native sleep function again Any other suggestions?
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_Engine [19] - XC_Core [7] - XC_IpDrv
My Bot_Pauser works fine just because I'm using a code already done and not other state, Bot is roamer addicted to roaming, just use damn roaming. ALL TIME Defender STAY and defender is in state ROAMING-LONGCAMP. You simply don't call codes correctly, I assure you that Bot stay on demand by itself. In Assault game all defenders are camping - so is not impossible to do such thing with a default Bot.
If other line is needed this action can be logged for future debugging.
Code: Select all
B.Velocity=vect(0,0,0);
B.bCamping=True;
B.CampTime=10;
B.MoveTarget = None;
B.GoToState('Roaming','LongCamp');