Erik Ogenvik
c7021db503
Adapt to left hand coord system.
2018-02-09 12:50:01 +01:00
Erik Ogenvik
e7fa53214b
Use nullptr instead of NULL.
2018-02-06 13:45:11 +01:00
Erik Ogenvik
99640d26aa
Use a left hand coord system.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
b40c613a78
Improve handling of broadcasts.
...
Use the domains for determining broadcasts.
2017-06-24 21:47:43 +02:00
Erik Ogenvik
c2b673f9e8
Make sure we pick a spot we can reach.
...
Given the size of the entity itself.
2016-06-08 21:46:37 +02:00
Erik Ogenvik
374a691735
Allow destination to be set to another entity.
...
This only works for entities that share the same domain.
It also allows for entities to follow other entities.
2016-04-03 21:25:39 +02:00
Erik Ogenvik
1961ce1fa6
Turn off debug log.
2016-03-31 21:09:24 +02:00
Erik Ogenvik
91e37b6ef7
Don't apply invalid velocities.
2016-03-21 21:50:27 +01:00
Erik Ogenvik
db0737aa92
Use destination radius to look for path.
2016-03-20 22:46:12 +01:00
Erik Ogenvik
68aa6d3ddc
Scale desired tile amount with observer count.
2016-03-20 20:19:35 +01:00
Erik Ogenvik
49f8ff9e1b
Only update area if current tile isn't aware.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
8b0315b997
Fixed unnecessary copying in places.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
d56d026ce1
Clean up awareness when entity is deleted.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
0ab8a87009
Allow for multiple awareness areas.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
c93c4acabd
Improved logging.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
fced6ac09a
Don't skip incomplete results.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
178a81b505
Correctly report unaware tiles.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
8bd9604236
Use different radius for start and end.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
b894658ff8
Improved log output.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
e76e0fc7ad
Skip movement goals that are unreachable.
...
A goal is considered to be unreachable when all tiles in the awareness area
have been mapped, and no path still could be found.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
d5dd3e595c
Don't count own entity when avoiding.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
1982f4321b
Pad the size of circles a bit.
...
To make avoidance better.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
3f858c76c4
Only update if location has changed.
...
Timestamp doesn't indicate if Location has changed.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
3602149ffe
Use grid sampling, as it appears more stable.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
0b8d889d51
Make sure location is up to date.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
c1d0bf48c5
Improved querying of paths.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
4adb908571
Handle bbox changes and better prediction.
...
We'll schedule the next move tick to when we expect us to arrive at the
next waypoint.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
5b29c4f53c
Fixed issue where location wasn't updated.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
4690483750
Improve debug logging.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
14354137a7
Hooked up steering to the move_me goal.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
7b0d30680c
Setup steering.
...
The setup is that steering is handled separately from the normal mind
ticks. At a closer interval (0.2 seconds currently) steering will be
evaluated.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
514d0812a0
Added basic awareness for navigation.
...
"Awareness" refers to an entity's view of the surrounding world with
regards to how the entity could navigate. We use Recast/Detour to build
a navmesh for the entity.
However, since each world can have many NPCs, each one with their own
mind, we don't want to keep a complete navmesh for each single mind.
This will quickly become expensive. Therefore we want to share
awarenesses between multiple entities of the same type. So, for example,
all fishes handled by the same ai client will share one single awareness
of the world.
This to some degree involves some cheating, since AI minds now might get
knowledge of the world they otherwise wouldn't have. We consider this to
not be such a big issue. If this is unacceptable for some worlds these
should then disable awareness sharing and take the resource hit.
2016-03-19 23:05:13 +01:00