<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Comments on: </title>
	<atom:link href="https://mm.soldat.pl/development-log/465/feed" rel="self" type="application/rss+xml" />
	<link>https://mm.soldat.pl/development-log/465</link>
	<description>Michał Marcinkowski&#039;s: Gamedev Log &#38; Articles</description>
	<lastBuildDate>Tue, 24 Mar 2026 04:51:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>By: F3nyx</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105426</link>
		<dc:creator><![CDATA[F3nyx]]></dc:creator>
		<pubDate>Thu, 03 Sep 2009 17:45:08 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105426</guid>
		<description><![CDATA[Hey MM -- this article on hierarchical clearance-based pathfinding might be of interest to you.  It incorporates a great many techniques including subdivision and areas passable for some units but not others.

http://harablog.wordpress.com/2009/02/05/hierarchical-clearance-based-pathfinding/]]></description>
		<content:encoded><![CDATA[<p>Hey MM &#8212; this article on hierarchical clearance-based pathfinding might be of interest to you.  It incorporates a great many techniques including subdivision and areas passable for some units but not others.</p>
<p><a href="http://harablog.wordpress.com/2009/02/05/hierarchical-clearance-based-pathfinding/" rel="nofollow">http://harablog.wordpress.com/2009/02/05/hierarchical-clearance-based-pathfinding/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105409</link>
		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Thu, 03 Sep 2009 13:01:58 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105409</guid>
		<description><![CDATA[@yv3:

There is no pathfinding in soldat. The bots follow waypoints placed by the map creator.]]></description>
		<content:encoded><![CDATA[<p>@yv3:</p>
<p>There is no pathfinding in soldat. The bots follow waypoints placed by the map creator.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: archont</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105402</link>
		<dc:creator><![CDATA[archont]]></dc:creator>
		<pubDate>Thu, 03 Sep 2009 10:16:40 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105402</guid>
		<description><![CDATA[1) Create a list of points, 200 per map or so
2) Create paths between those points
3) Cache them

Result? subdivided paths. The algorithm then composes a path from currnt location to B, B to F, F to Your Face, where the actual path is composed of many, many points. 

If a bot needs to go to a location in a straight path (up to 2 hops) from a waypoint, it just goes there. If a bot needs to go to some weird location that requires more than 2 hops or crossing barriers, add a newpoint there.

And this all coming from a guy who didn&#039;t know how to write a bubble sort up until 15 years old. Lol at me, yeah.]]></description>
		<content:encoded><![CDATA[<p>1) Create a list of points, 200 per map or so<br />
2) Create paths between those points<br />
3) Cache them</p>
<p>Result? subdivided paths. The algorithm then composes a path from currnt location to B, B to F, F to Your Face, where the actual path is composed of many, many points. </p>
<p>If a bot needs to go to a location in a straight path (up to 2 hops) from a waypoint, it just goes there. If a bot needs to go to some weird location that requires more than 2 hops or crossing barriers, add a newpoint there.</p>
<p>And this all coming from a guy who didn&#8217;t know how to write a bubble sort up until 15 years old. Lol at me, yeah.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yv3</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105394</link>
		<dc:creator><![CDATA[yv3]]></dc:creator>
		<pubDate>Thu, 03 Sep 2009 06:30:34 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105394</guid>
		<description><![CDATA[How pathfinding works in Soldat?]]></description>
		<content:encoded><![CDATA[<p>How pathfinding works in Soldat?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MM</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105306</link>
		<dc:creator><![CDATA[MM]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 17:22:52 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105306</guid>
		<description><![CDATA[It can be updated every couple seconds. Still it can calculate for more than 30ms which is unacceptable.

Updating part of the path each tick? Don&#039;t know if that&#039;s possible with A*?

Tinman: good idea. It is slow between tiles because there is lots of them. On the screen I posted there is a couple hundred nodes.]]></description>
		<content:encoded><![CDATA[<p>It can be updated every couple seconds. Still it can calculate for more than 30ms which is unacceptable.</p>
<p>Updating part of the path each tick? Don&#8217;t know if that&#8217;s possible with A*?</p>
<p>Tinman: good idea. It is slow between tiles because there is lots of them. On the screen I posted there is a couple hundred nodes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tinman</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105302</link>
		<dc:creator><![CDATA[Tinman]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 16:45:33 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105302</guid>
		<description><![CDATA[How many nodes do you have in each tile? A* is very fast for hundreds of nodes if the graph is highly connected (lots of paths). Is it just slow between tiles? If so use a coarser grained graph with a node for each tile for the overall plan, then use a fine grained search just for seeing how to get to the next tile.]]></description>
		<content:encoded><![CDATA[<p>How many nodes do you have in each tile? A* is very fast for hundreds of nodes if the graph is highly connected (lots of paths). Is it just slow between tiles? If so use a coarser grained graph with a node for each tile for the overall plan, then use a fine grained search just for seeing how to get to the next tile.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: m!nus</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105289</link>
		<dc:creator><![CDATA[m!nus]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 14:54:09 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105289</guid>
		<description><![CDATA[options:
* improve algorithm implementation for speed
* don&#039;t recalculate the path every tick
* limited length of the precalculated path]]></description>
		<content:encoded><![CDATA[<p>options:<br />
* improve algorithm implementation for speed<br />
* don&#8217;t recalculate the path every tick<br />
* limited length of the precalculated path</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105282</link>
		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 14:31:58 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105282</guid>
		<description><![CDATA[i want the bots to learn the paths the players use :D:DD]]></description>
		<content:encoded><![CDATA[<p>i want the bots to learn the paths the players use :D:DD</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Monx</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105277</link>
		<dc:creator><![CDATA[Monx]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 14:00:21 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105277</guid>
		<description><![CDATA[Pre-computation and/or subdivide the path finding area&#039;s?]]></description>
		<content:encoded><![CDATA[<p>Pre-computation and/or subdivide the path finding area&#8217;s?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: niko šveikovsky</title>
		<link>https://mm.soldat.pl/development-log/465/comment-page-1#comment-105271</link>
		<dc:creator><![CDATA[niko šveikovsky]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 12:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://mm.soldat.pl/?p=465#comment-105271</guid>
		<description><![CDATA[hallelujah, michal. but why is it too slow? the bot doesn&#039;t need to be updating its path every tick. can&#039;t it just figure out part of the algorithm per tick, and put together a path every few ticks?]]></description>
		<content:encoded><![CDATA[<p>hallelujah, michal. but why is it too slow? the bot doesn&#8217;t need to be updating its path every tick. can&#8217;t it just figure out part of the algorithm per tick, and put together a path every few ticks?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
