Page 1 of 1

Pointers stuck inside the Kernel

Posted: 21 Oct 2014, 17:46
by PauloMorfeo
I'm seeing units getting stuck when trying to leave the Kernel somewhat often.
I remember seeing Pointers stuck, but also Bytes and Bits I think.
(talking about KP is a ton of fun)

I can try to get a replay, if someone wants.

I've only tried System so far and it appears to be related to the 4 corner "horns" of the Kernel.

The units just keep trying to leave the kernel but bump into the cornes and eventually fail - with human intervention the problem is solvable manually - I'm going to try to make the AI adapt to it.

---

Another pathing issue:
Whenever I order the Kernel to move somewhere (thus making all its creations be born with that order), when the units are born they have 2 move orders instead:
  • Move to what looks like to be (X=0; Z=Factory's_Z)
  • Move to the intended destination

Re: Pointers stuck inside the Kernel

Posted: 22 Oct 2014, 01:19
by Anarchid
Just posting this to say i absolutely love the topic's title.

Re: Pointers stuck inside the Kernel

Posted: 22 Oct 2014, 12:53
by PicassoCT
I played against the Linus Torvaldus AI and it totally rejected my Patch

Re: Pointers stuck inside the Kernel

Posted: 28 Nov 2014, 19:44
by zwzsg
It seems it only happens when the pointer is given an order before leaving the factory. Otherwise, they may spin around a bit, but eventually exit. So I suggest not giving orders to pointer or kernels, only ordering them after they exited.

It is still an annoying bug though. But I am not sure I am qualified enough to fix pathfinding.

Also, which start position mode are you using? It is possible that it's harder to exit kernels that aren't grid-aligned.

Re: Pointers stuck inside the Kernel

Posted: 28 Nov 2014, 19:51
by knorke
lab producing non-moveable units - status:resolved
http://springrts.com/mantis/view.php?id=4587

Re: Pointers stuck inside the Kernel

Posted: 30 Nov 2014, 04:56
by PauloMorfeo
zwzsg wrote:... But I am not sure I am qualified enough to fix pathfinding.
...
I'm pretty sure you aren't - that almost certainly runs deep in the engine's code in a puzzle of C++ code.

I still thought it would be useful to mention, because you could find a work-around for it - ex: making the factory not have the 4 corners be path-blocking, to ease the path-finding - or whatever.

Also, the 2nd issue I described, with the unit leaving the factory with an existing move order to somewhere X=0, I imagined that it might be being created by something in the «mod» overriding Spring's normal behaviour? But, of course, you'll have a better idea whether that's possible or not.
zwzsg wrote:... Also, which start position mode are you using? It is possible that it's harder to exit kernels that aren't grid-aligned.
Can't remember for sure, since because of work I stopped playing around with the AI stuff (I'm even considering looking for another job) but I think I saw the Bytes stuck inside the Kernel in the maps Data Cache L1 and Marble Madness. Regarding units being ordered to X=0 after creation, I think I saw that happen in Corrupted Core(?) and a few others.

I was using always the standard start positions, since I had no code for my AI to choose a start pos for itself.

Re: Pointers stuck inside the Kernel

Posted: 30 Nov 2014, 09:47
by PicassoCT
nobody is qualified to solve such puzzles.. and then you poke your head in and get qualified..
the real question is, will the sollution be worth the price you have to pay in some other situations..

or do you rather make a reset function, that detects stuck inside producing building units, and moves them to a "emptyExitPoint" every factory unit must have..

Not beautifull but functional..