HomePage | SiteMap | Refresh| EditPage| RenamePage| WikiHelp| LogIn


Experience Immersion Sightless Spatial Cane Navigation Simulator

A Program by Jonathan Pittard

What Is PathFinder?

PathFinder is a semi-educational game for blind users. It can theoretically be used by all ages, but is intended for ages ten and up. In future versions of the program, PathFinder will have two distinct yet similar purposes. PathFinder will continue to function as a game with maze-like levels, but considerable improvement of the capabilities of the software should create the ability to design spatially and auditorially accurate virtual models mapped to actual rooms. In its current form, PathFinder is primarily an entertainment tool, but with these improvements, it will hopefully be useful in mapping locations new to blind users which demand highly accurate spatial mental models to be created in as short a time as possible. With the new versions of PathFinder, due out this summer, blind individuals will be able to learn their way around classrooms, workplaces, and other locations without ever taking a step out of the house!

Why Use PathFinder?

There is a need for all individuals without sight to, for their own safety and mobility, develop a model of space and the ability to navigate within it. This is often done principally with the use of a cane. Particularly because this skill is typically developed in children, certain situations might make extensive real-world cane navigation training impossible or impractical, and such training inherently involves certain safety risks. PathFinder can be used to simulate such training, eliminating the confines of physical space, allowing for new and different environments, and drastically cutting possible safety hazards. Also, the use of unfamiliar environments could keep such training interesting.

Where To Use PathFinder?

PathFinder in its current form (as of April-May 2005) is primarily intended to be an economical, easy-to-use game and teaching tool for the home. Other possible locations include schools, orientation and mobility (O&M) clinics, and perhaps geriatric centers. Once PathFinder is improved to serve as a mapping tool as well as a game, use in these alternate locations seems both more practical and more probable.

The Approach: What Makes PathFinder Different

Unlike most other games and tools for the blind PathFinder attempts to involve the user in the simulated environment by immersing the user inside the virtual environment in as many respects as possible.

Attempting to deeply immerse players in the experience of gaming is standard practice with games.

Over the past 20 years, there has been a constant push for virtual games to be more realistic, and to involve the user in the experience of gaming more completely. To avid gamers, the degree of immersion which a game provides often parallels, or even defines, the quality of the game.

Immersion in the gaming experience for sighted users is primarily visual. The demand for more realistic graphics, through which players may more completely immerse themselves in games, is the sole factor that keeps computer video giants in business, and is perhaps the largest selling point of the newest and fastest computers to the home market, making efforts to wholly involve players in games very important to the computer industry as a whole. This fact caused me to wonder….If there is such a push to immerse the sighted user in the experience of the game, why not do the same with games, educational or not, for users who cannot see? PathFinder was created as a first attempt to create for users without sight the same sorts of immersive environments common for over a decade to the games of sighted users.

How Does PathFinder Work?

Uses a modified mouse, headphones, and a Dance Dance Revolution pad connected to a computer via a SmartJoy to place the user in an environment, out of which they try to navigate, simulating cane navigation via various sounds and audio messages. Every copy of PathFinder comes with a copy of PathMaker, a companion program to PathFinder which allows for the creation, editing, and saving of room environments for the PathFinder software.

Technical Notes

Mainly because, as a freshman Computer Science student at UNC-Chapel Hill, I was required to take courses in Java programming at the same time at which I was coding PathFinder, PathFinder is itself written in Java. While Java is certainly not the ideal language for an application of this sort, the practical experience which I received from programming PathFinder helped to a great degree my understanding of the Java language for the purposes of my required courses. Now that gaining experience in any particular language is of no object, PathFinder is being re-written, in improved form, in the Python language. At present, PathFinder requires Sun’s JRE to function, the code is far from optimized, and both PathFinder and PathMaker occasionally have inexplicable errors when running on machines which have not run the programs before. The soon-to-be-released Python version of PathFinder should eliminate both of these issues.

The Path to PathFinder:

The following was the sequence of steps which I took to develop the PathFinder application package:

  1. Developed the concept for mazes, navigation, level implementation, and user interface with input/output
  2. Wrote the purely console PathMaker 1.0, and used it to create a prototype level
  3. Wrote PathFinder 1.0. The original program took only keyboard input in a cumbersome manner and provided only text output.
  4. Improved PathMaker to bring it into a form largely similar to the form of its current version, though entirely in the console.
  5. Added basic sound output to PathFinder, limited to one footstep sound and beeping sine tones for wall locations.
  6. Debugged (most of) the problems with PathFinder’s navigation and sound-reporting code, and worked to improve code modularity.
  7. Improved the sound effects and sound implementation for the main PathFinder program
  8. Added support for control of PathFinder using the Dance Dance Revolution pad.
  9. Added “health” – the feature of the program which restarts a user in a level if they hit too many walls – to PathFinder.
  10. Added audio health warning messages and the audio tutorial to PathFinder.
  11. Added the possibility of user-end configuration – limited now, but to be expanded in the future – to PathFinder
  12. Modified PathMaker to place it within a GUI window, allowing for the creation of maps of theoretically unlimited size.

Current Problems/Limitations with the PathFinder Software:

At present, PathMaker is still rather cumbersome to use. PathFinder requires setup by a sighted user before each map, and the fact that much of this, as well as health reporting to sighted users, is accomplished through the console is, for this sort of application, somewhat unsophisticated and anachronistic. Additionally, while PathFinder does much to immerse the blind player in its virtual environments, it provides only the most rudimentary feedback to any sighted individual who might be supervising the game. For some, the software and peripheral package might be cost-prohibitive. Finally, due to the necessity that the player be able to abstract the concepts of movement within a virtual environment and the use of only nominally realistic sounds to represent events, PathFinder has been found to be easily usable and well-enjoyed only by players of age ten and above. Users with significant cognitive or motor disabilities cannot, in most cases, use PathFinder with any enjoyment or success. A few users who do not fall into the above category have also stated that they find PathFinder in its current form to be too simple, or not sufficiently engaging.

Future Improvements

The Following is a list of future improvements which I intend to make to the PathFinder Package:

These improvements are not necessarily in order.

  1. I will soon write and Release PathMaker 2: This new version of PathMaker will use only a GUI, and will feature a new design certain to be significantly more user-friendly than the current console version of PathMaker. Other, more minor improvements may come to PathMaker before the release of PathMaker 2, but the fully GUI PathMaker 2 is the ultimate goal.
  2. I plan to improve PathFinder to eliminate any and all use of the console, even for purposes of setup and administration.
  3. The way in which PathFinder maps function will be soon changed to allow for the creation of complex, perhaps multi-story “buildings” consisting of numerous interlinked room maps. The rooms will not feature only a start and an end location as they do now, but various doors which transfer the user to corresponding locations on other maps, so that a user may navigate through a building taking a variety of paths through a free-form sequence of doors. Multiple start and end locations will be possible for each building.
  4. At present, PathMaker’s tutorial consists only of a verbal narration of how to play the game. I intend to devise playable tutorial levels in which the user is guided through how to play while actually playing the game as they would with more challenging levels.
  5. Though it will change little for the user, I am in the process of revamping the PathFinder and PathMaker code entirely, re-writing the program in the Python language instead of in Java.
  6. Future releases of PathFinder will increase the degree to which a user is immersed in an environment. This will include the introduction of ambient sounds into the levels, as well as the use of different surface types on which the user can walk (hardwood, tile, carpet, etc), and different types of surfaces and objects which the user’s cane can contact (wooden tables, metal trashcans, etc.)
  7. Improvements are being made to PathFinder to give it the capability of being more of a mapping tool and less of a game, if an individual should desire to use PathFinder for that purpose. The program, in future mapping-enabled versions, will inform the user of what objects they are near in the current room, in which direction they should proceed, and give other information and hints.
  8. Improvements will likewise be made to the gaming side of PathFinder. Some users have complained that the program in its current form is not sufficiently entertaining. New versions of PathFinder will include various game modes,
  9. Future versions of PathMaker and PathMaker 2 will contain a feature by which the user will be able to guarantee that a player can, in theory, proceed from the start of a map to its end.
  10. At present, the audio warning and tutorials of PathFinder are made possible using pre-recoreded audio samples. This will be replaced with text-to-speech implementation, making the program both smaller and easier to improve.
  11. PathFinder in its current form requires setup and administration by a sighted user. Introduction of a fully auditory menu system will remove this need.

PathFinder Packages

PathFinder requires certain hardware to run, and certain hardware to be enjoyed and utilized to the fullest extent. Below are listings and cost estimates of various setups under which PathFinder can run. All costs are estimates, and intentionally high:

Cost Estimates:

Download PathFinder

You can download the latest distribution of PathFinder here. The project is currently closed-source, but has a high probability of becoming open source in the near future. PathFinder is Win32 compatable only, and requires Sun Microsystems’ Java Runtime Environment (JRE), which you can download here.

Contact the author of PathFinder with suggestions, error reports, or ideas, at:


PathFinder was written as a project for the Spring 2005 session of Computer Science 190/290 – Enabling Technology – taught by professor Gary Bishop at the University of North Carolina at Chapel Hill.

Current Bugs:

One bug is known at present, and can be avoided if it is taken into account during the creation of new maps for use with PathFinder. In future releases, the bug will be repaired.

When the user is facing downward and comes into contact with the edge of the map, not buffered by a wall, the program malfunctions. To avoid this, border the edges of maps with walls for the time being. Thanks!

Enjoy playing PathFinder!

-Jonathan Pittard