Jump Point Search
This is the final article in my three-part look at symmetry reduction algorithms for speeding up pathfinding on uniform-cost grid maps. Recapping the story so far:Part one introduces the notion of path symmetry: a property of uniform-cost grid maps which can significantly slow down search. Part two discusses Rectangular Symmetry Reduction (RSR) [2]: a simple yet effective preprocessing algorithm that eliminates many path symmetries by decomposing a grid map into a set of empty rectangles. In this article I describe Jump Point Search (JPS) [3]: an online symmetry breaking algorithm which speeds up pathfinding on uniform-cost grid maps by “jumping over” many locations that would otherwise need to be explicitly considered. JPS is faster and more powerful than RSR: it can consistently speed up A* search by over an order of magnitude and more. Unlike other similar algorithms JPS requires no preprocessing and has no memory overheads.
Coding an Image Thumbnail Hover Magnify Effect with jQuery
I have run into a number of simple effects to generate image magnification. You can sometimes find this on e-commerce websites for product images when you hover onto the thumbnail and a bigger zoom effect will display. This is a great technique no matter what type of website you have.
How to use Esri Flex API on Android and iPhone
Update (Jun 2011) : For more updated info, check out my ADC article here. At MAX2010 (Awesome BTW) Adobe introduced Flex SDK Hero and Flash Builder Burrito which enables you to build and deploy Flex mobile applications on Android by default. In addition, using the revitalized Packager for iPhone, you can postprocess the swf into an ipa that you can deploy on an iPhone using iTunes. In this post, I will share with you the steps that I took to use the Flex API for ArcGIS to build a mobile mapping application. First and foremost - RTFM - here are some links that u _need_ to read specially for iPhone provisioning: The cool part of this whole process is now you have one code base to build upon and deploy on Android and iPhone and in the future whatever mobile platform Adobe decides to support.
A* Search Algorithm in C# - Cody Stebbins' Blog - Quora
Just a heads up I haven't tested this code in about 3 years. I'll be writing a follow up on how to implement A* in Ruby soon (and hopefully in C if time grants), but for now the concepts apply and the code can help illustrate the point. In this post I’ll be covering my C# implementation of the A* Pathfinding algorithm. A* is an algorithm used to efficiently plot the shortest traversable path between two points. This is commonly used in 2D grid based games such as Pacman. It uses a best first search and finds the least cost path using a heuristic formula.
The Benefits of Working on Freelance Projects
I often read about designers who cannot stand freelancing yet continue to use this path for solid income. I suppose there is nothing wrong with hating your job, but some designers actually enjoy freelancing. It is not a career choice that many people would keep for decades. But it does offer a unique lifestyle of working on various projects and studying new trends. In this article I want to present a few ideas arguing the benefits of working on freelance projects. Both designers and developers creating websites have the opportunity to earn real livable money without answering to one specific bossman.
A* Pathfinding for Beginners
By Patrick Lester (Updated July 18, 2005) This article has been translated into Albanian, Chinese, Finnish, German, Greek, Korean, Polish, Portuguese, Romanian, Russian, Serbian, and Spanish. Other translations are welcome. See email address at the bottom of this article. The A* (pronounced A-star) algorithm can be complicated for beginners.
Make Your UI More Responsive with HTML5 Web Workers
Argh!!… Your web application has to sort a lot of data and you get the dreaded error message… “A script on this page may be busy, or it may have stopped responding…” Or maybe you’re writing some image processing code that takes forever on large images… Your UI is non-responsive. What are you going to do!!?… You could try to break up the work into small pieces and use timers to spread out the work. But what a PITA!
Toward More Realistic Pathfinding
Pathfinding is a core component of most games today. Characters, animals, and vehicles all move in some goal-directed manner, and the program must be able to identify a good path from an origin to a goal, which both avoids obstacles and is the most efficient way of getting to the destination. The best-known algorithm for achieving this is the A* search (pronounced "A star"), and it is typical for a lead programmer on a project simply to say, "We'll use A* for pathfinding." However, AI programmers have found again and again that the basic A* algorithm can be woefully inadequate for achieving the kind of realistic movement they require in their games. This article focuses on several techniques for achieving more realistic looking results from pathfinding. Many of the techniques discussed here were used in the development of Activision's upcoming Big Game Hunter 5, which made for startlingly more realistic and visually interesting movement for the various animals in the game.
Theta*: Any-Angle Path Planning for Smoother Trajectories in Continuous Environments
This article was written by Alex Nash, a Ph.D. candidate at the University of Southern California, specializing in path planning for video games and robotics. You can contact him by email <anash at usc.edu>. One of the central problems in game AI is finding short and realistic looking paths. Path planning is typically divided into two parts: discretize simplifies a continuous environment into a graph and search propagates information along this graph to find path from a given start location to a given goal location. Video game developers (and roboticists) have developed several methods for solving the discretize problem: two dimensional regular grids composed of squares (square grid), hexagons or triangles, three dimensional regular grids composed of cubes, visibility graphs, circle based waypoint graphs, space filling volumes, navigation meshes, hierarchical methods such as framed quad trees, probabilistic road maps (PRMs) and rapidly exploring random trees (RRTs) [2], [3], [4].
Introduction to CoffeeScript
Welcome to the Introduction to CoffeeScript screencast. With the adoption of CoffeeScript by the Node.js community, the JavaScript community in general, and with CoffeeScript's inclusion in the upcoming Rails 3.1 release, it's probably a good idea to see what all the fuss is about. What is CoffeeScript? CoffeeScript is a language that compiles down to JavaScript.