Forget research that has no sense of purpose or grounding in the real world. That will get you killed in the information jungle! As a software developer, you have to be more pragmatic.
As Kaj Eijlers asks about the regular features here on AiGameDev.com: “Where do you find your links to all those lovely papers? Are there any forums or other pages that are worth watching for those?”
In this case, it’s a combination of different techniques. But you can use these practical research skills generally to:
Use a machete to search for solutions to a specific problem.
Stay on the lookout; track down improvements in your field.
Set traps for new technology that applies to your work.
This article gives you advice how to approach such dangerous tasks so you can live to see another day…
Discovering Good Starting Areas
Finding a clearing as a starting point for your research will save you a lot of time. Locating these general sources can be more or less tricky depending on how well you know the terrain already. Search engines will be your guide at first, but you’ll have to give them some keywords.
Example: For game AI, you should head towards these landmarks:
And of course, this site is also a gathering area for game AI explorers.
Hacking Towards Specific Information
Once you’ve found a clearing, start your hunting by tracking down relevant conferences. These are herds of interesting papers in your field, but you’ll need to keep your ear close to the ground. Here’s how you should approach it:
Listen for “CFP” posts in newsgroups. These are basically call for papers of upcoming conferences.
Work out the name of the conference and find the homepage via a search engine.
Check the site to see if there’s a schedule for previous or upcoming conferences.
Look through the schedule for references to specific papers, or the name of the authors.
As you become more comfortable with the terrain, you’ll be able to stay on top of the most relevant conferences by tracking their yearly migrations. Often, you can find papers published on the web as soon as the schedule is announced.
Example: In game AI, one important conference is the Artificial Intelligence and Interactive Entertainment Conference, which the jungle natives call AIIDE. The herd passes through this area every year.
Hunting Specific Papers to Download
Having found the tracks of specific individual papers from the herd, you can hunt the PDF download link using the following tricks:
The easiest way to find papers is to do a full title search for the paper’s name in quotes. From the search results you might need to read a few results down to find a version of the paper that’s available freely. You’ll quickly learn to avoid decoy sites that sell the papers (like the ACM) and go straight for the kill.
If that fails, then try sites such as Citeseer which is a repository of papers. They also have cached copies of the papers (handy if the original site is down), and convert documents into useful formats like PDF too. There are mirrors you may need to use at it goes offline regularly for maintenance. Google Scholar provides similar facilities.
Of course, once you are aware of good keywords to search for, nothing is stopping you from using these sites directly to hunt down other downloads directly.
Example: See if you can find the original paper to download for A Procedural Knowledge Approach to Task-Level Control recently reviewed here on AiGameDev.com. First use a full title search, then try on Citeseer.
Tracking Reference to Other Papers
Most academic papers have references at the bottom. These are particularly useful for finding other relevant sources:
When you find a related but not entirely relevant document, just jump to the references and see if you can find anything more appropriate for your situation.
If you’re lucky enough to have found a good paper, then you’ll want to make sure you go through the best references, as described in the text of the paper (e.g. the Background or Related Research section).
Example: From the recent AiGameDev.com review of the white paper on Parametric Motion Graphs, see if you can find the original paper by Kovar and Gleicher.
Abstracting the Domain or Problem
If you have discovered some papers that seem interesting but aren’t quite what you’re looking for (too dangerous), then take either the technology or the domain of application and start your search again with those new keywords. Engage the same beast on new ground, of find a different creature on the same ground!
Example: This paper on Interactive Motion Correction and Object Manipulation has a reference to Rapidly-exploring Random Trees technology, which is itself applicable to games in other ways.
Iteratively Refining Your Keywords
As you’re searching for papers, you’ll start to get a feeling for what vocabulary researchers use in the field to describe their work. This is your secret key; once you have the right keywords it’s extremely easy to find what you need. So always be on the lookout for new keywords and try searching for them separately.
Example: Knowing about Rapidly-exploring Random Trees, any search engine will inform you about OBRRT. This is a variation of the original algorithm that takes into account obstacles when searching.
Tracking Important Papers Upstream
Once you’re on to a great lead, don’t let it get away. In fact, your best bet is to do a reverse lookup in a search engine. That means finding any paper or site that mentions the original title. To do this:
Perform the same full-quoted-title search as before, but keep looking through all the results returned by the search engine.
Most search engines support the link:* syntax. Find the URL of the paper or the author, and see what pages link to it.
While browsing, Citeseer tells you what documents are related based on statistical analysis of the text.
This will allow you to track down other individual papers in the herd.
Example: See how many papers you can find relating to Motion Graphs using a search engine, then on Citeseer.
Trapping Relevant Information
To make the most of the information age, you should also set-up tools to do the work for you. Once you’ve become comfortable with searching for stuff yourself with the right keywords, here’s how you can automate the process:
Setup Google Alerts to keep you notified by email of new developments. You can limit these to blogs, news, content, or everything, either on a daily basis or as it happens.
Most social media websites have RSS filters. Use them as a source and setup some Yahoo Pipes to filter the result into one convenient feed that contains what you want!
This process requires a bit of fine-tuning to make sure that you’re not overloaded with irrelevant information, but yet that important details are not ignored.
Survival in the information jungle is down to you alone. Don’t rely on help if you can, but if you have to, ask for quick pointers and add the technique to your repertoire of skills. Keep practicing and stay focused; you may live to tell the tale!