Results and Discussion
Results
We successfully met our goal to implement Phase I. However, the time limitation of the project kept us from completing Phase II. Steps to prepare for Phase II were accomplished, such as testing our program's robustness with filtered images, which simulated TV blur. The designed program was tested with the Super Nintendo version of Dr. Mario. Since sufficient video capture hardware was not available, two different Super Nintendo emulators, ZSNES [8] and Snes9X [9] were used in the testing of the program to see if the program would perform differently. The program was observed to perform the same with either emulator, which allows one to conclude that persons unable to obtain the emulators listed in this report, will still obtain similar if not the exact same results with other emulators or video captures from a real Super Nintendo system.
During the course of the project we encountered several obstacles. The most prominent are discussed. The first obstacle was working with color. This proved to be a bit of a challenge initially as all our class work had revolved around grayscale images. A second factor that slowed down the initial portion of the project was how to take screen captures rapidly. It was quickly determined that third-party programs to capture and store screen shots was not efficient and was not quick enough to meet the program's demands to achieve successful output. The program initially utilized “xwd” (a Linux X-Windows dumping utility) to acquire the screen captures and was implemented through a system call. However, the process speed was severely limited and had an approximate max capture rate of 2 frames/second. As a result, Windows screen capture code [5] was incorporated into the designed program to achieve a much greater screen capture rate, which was sufficient for real-time operation. Video capture hardware was also tested; however, due to quality limitations this option was not pursued. The final major factor related to sending commands directly from the program to the game. Compatibility issues with the emulators prevented commands to be sent directly. Interfacing was not pursued further as this was a component of Phase II.