Jump to content

  • Log In with Google      Sign In   
  • Create Account


We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.

Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Member Since 28 Jun 2003
Offline Last Active Mar 24 2014 08:30 AM

Posts I've Made

In Topic: How to deal with hetergeneous agent size in pathfinding

18 July 2013 - 06:04 AM

Hi Jack,

Alvaro's solution won't well work for a robust navigation mesh system.

Please see my response in this thread. In it, I discuss the problems introduced by accounting for agents of different sizes as well as how to resolve them.

In Topic: Navmesh without agent radius offsets

10 May 2013 - 09:50 AM

Hi DrEvil,

Sorry that it’s taken me a little while to get back to your post/PM. I’m really under the pump with work at the moment.

To account for agents with varying sizes, we need to solve two problems:

1. We need to account for agent size when running our A* algorithm on the navigation mesh to find the list of nodes (be they triangles or convex polygons) which will contain the final path. That is to say, we can't send agents through gaps that are too small for them.
2. We need to account for agent size when “funnelling” through the list of nodes returned by our A* search to obtain the actual shortest path.

For problem #1, please see my full description and solution in this post from 2008.

You will see that for each node, it is necessary to store a separate size restriction value for every edge-pair combination that an agent could enter and leave from. If our nodes are triangles, this means each one must store three separate widths.

If we allow other kinds of convex polygons, then the number of widths each node must store will be equal to the sum of all integers from 1 to (number_of_neighbours – 1), if my brain is working correctly at the moment. We would need to come up with an equation to reference the right value from a node’s array of stored widths given an entry edge and an exit edge – this should be fairly trivial.

For problem #2, please see my solution in this post from 2009, as well as my other contributions in the same thread. The linked post explains (my version of) the funnel algorithm and then explains the modifications that you need to make to account for agent size, providing pseudo code at both stages.

Just let me know if you have any questions.

On a side note, I obviously don’t think that the traditional solution of expanding and bevelling the base navigation mesh to account for agent size is very elegant. Apart from necessitating a new mesh for each possible agent size, it also increases the complexity of the navigation mesh at every concave feature. For fast pathfinding, we want to reduce the number of nodes that need to be searched, not increase it.

In Topic: 2D Top-down multiplayer-style shooter

07 December 2010 - 11:39 AM

Hi Mybowlcut, thanks for playing.

The camera actually does automatically follow the player after he dies. It just takes a few seconds to respawn, which is supposed to be punishment for dieing.

The game usually has sound, at least for testing purposes. I just had to take them out before posting because they are all borrowed from Soldat.

The AI has probably been the largest part of development. Although I started with multiplayer in mind, the game quickly turned into an arena for me to experiment with AI techniques. I'm pretty happy with the cat-and-mouse style combat that has been the result.

In Topic: How much do you trust Wikipedia?

25 November 2010 - 02:50 AM

Original post by zyrolasting
This is obvious now, but just to reiterate, some academic facilities suspect that Wikipedia is unreliable due to the fact that articles can be edited publically.

In terms of academics, whether the information on Wikipedia is accurate or not is a secondary issue. You've already noted the more important issue:


I suppose the real issue (again, probably just stating the obvious) is that people believe that the information on Wikipedia can change at any moment

This isn't just something that "people believe," it is a true fact. If you are writing a research paper or any high level of academic work you are expected to cite your sources of information so that readers can trace that information to its sources. Regardless of its perceived quality, you can't do this with Wikipedia because the information you cite might not even exist the next day. Thus, it doesn't matter if 50%, 90% or even 100% of editors are considered "competent." For academic purposes, Wikipedia can't be used other than on an informal basis. The sources that Wikipedia cites, however, are often static texts - thus your school's encouragement for students to use Wikipedia as a "shortcut", or gateway to relevant texts on whatever subject.


Isn't treating work like a "Links" page to more "trusted" (read: relevant) material kind of an eff-yew to competent contributors?

Not really, for the reasons explained above. You'd be more interested in the "References" section, though. It's normally not difficult to tell which texts are things that you can include in your papers.

In Topic: So I was having my beer when this guy came and pointed his freakin gun on me.

28 October 2010 - 01:33 PM

Are you sure you weren't portraying the image of a victim? If you're a pussy, thieves like you. So start being more mean or stop complaining.