Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

My Video Game System Picker Program (II)

By: Patrick Stewart


Note About Obtaining "GameSystem.im" File:

If you would like to download the GameSystem.im file, I have zipped it up (since Freeservers.com supports ZIP files and not IM files), and allowed you to download it from my site. All you have to do is click here (TO DOWNLOAD!).

If you notice any problems with downloading the file or even making the downloaded file work on your Visual Wave software, please e-mail me by clicking here (TO E-MAIL ME!).


Introduction/Problem Background:

Just like my previous lab, this program basically determines which gaming system you should buy; of course, the "final diagnosis" is determined by various inputs, like how much the user wants to spend, what kinds of games they would like to own, what kind of features they deem most important to their ultimate gaming system, etc.

I decided to do this because I love video games, and lately the demographics surrounding the video game audience has expanded to include the very young children to the older adults. In the past, the audience has been concentrated primarily to preteens, teenagers, and the young adults. But, with the increase of video game systems these past two decades, a lot more people have taken up playing video games to relieve stress and to have some harmless fun. So, that's where I come in. A lot of people are money-conscious and want to make a smart buying decision. My program helps those people make the best possible decision that they can.

What Others Have Done:

Not too surprisingly, no one but me has done something like this before. Most expert systems determine far more serious matters, like which medicine to administer, or which disease someone has, or what is wrong with your car, etc. But, who's to say that an expert system CANNOT be used to help people find the most appropriate video game system?

What I Actually Did:

Um, duh...I did everything! Seriously, though, I used the Visual Wave software program to help create my little hierarchical classifier. Using the features embedded into the program, I created the hierarchical tree and the structured matchers. This program was a lot easier to design and implement than the CLIPS one. One big difference was that I didn't have to hard-code anything, like in CLIPS. Also, my program was a lot more organized looking than the CLIPS one, where the code just runs on and on and on. (Those if-thens take up a lot of space, and it makes the code look very unreadable.) Visual Wave makes it easy to make changes as necessary. And that was very evident to me when I was constructing my program.

Implementation:

In this section, here are screenshots of the hierarchical tree and a couple of the structured matchers.

This tree shows all of the nodal relationships. For instance, the tree begins out with the price, then moves on to general features, and then finishes up with specific features. The very last nodes in the tree indicate the "diagnosis".

These two structured matchers help determine which questions are asked next. All of the structured matchers in my program follow this format. Basically, the structured matcher guarantees that if that option is picked, the result will be "strongly matched", whereas if it wasn't, then the result will be "strongly against". There is no second-guessing in this one.

Sample Run (Working):

Here is a step-by-step look at this program runs and ends with a success.

Sample Run (Error):

The only time this program will bomb out is if the user picks "unknown" as one of the options in each question. I could not delete that option, and I didn't have time to do anything with it, so if you choose it, an error message pops out and the program stops running.


Knowledge Representation & Organization/Control Methodology:

The knowledge in this program is determined by the structured matchers within each question. When a user picks a multiple-choice option, the structured matcher calls that option a "strong match". Then, based on that, a follow-up question is asked, if necessary. The other multiple-choice options then default to a "strongly against". As a result, that part of the tree is then pruned out, and the focus is where the options result in a "strong match". After two or three multiple-choice questions, then the "diagnosis" is made. The control in this program is the hierarchical classifier. The top nodes relate somewhat to the ones below it, and so forth. This is not like the hierarchical classifers that we have seen, but what this program does is indeed ask the user to classify what type of video game system he/she would like to buy. After following the appropriate hierarchy down the tree, the video game system that the user should buy is classified or outputted. I refer to this program as part problem-solver and part hierarchical classifer. It does a little bit of both.

Goodness Of Program, Limitations, & Scalability:

This program is pretty thorough in determining which video game system a user should buy. The only issue is that as the years go on, the video game systems will hardly be different from one another, and, therefore, this program would end up asking real intricate questions about what the user would like. I fear if these questions become too intricate, the user will end up not caring about the features of the system, etc. All that will be different between the newer models of video game systems will be the name of the company that creates and distributes it. The medium used to store the games on will be virtually the same, the graphical power will be virtually the same, the cost will be virtually the same, and even the games will end up crossing platforms. But, the program as it stands now does a pretty good job about adequately determining what system someone should buy; however, I still feel that this program could be more extensive. Right now, only two to three questions are asked; I think more should be asked, and I think there should be a way to have the user input what features they are looking for, and based on a ranking scheme, the program would output the results that it determines.

There are some limitations in this; I mentioned some of them in the preceding paragraph. For one thing, this program doesn't ask enough questions. Also, the user is really not in complete control of the types of questions that are asked. I, the programmer, picked roughly three options per question, so the user is limited in how extensive he/she can get with his/her opinions on what he/she would like to see in a system. Lastly, this program follows too much of a rule-based scheme, without the if-thens. In the end, the program is running too much like a script.

This program is pretty scalable. Considering that there are not an extraordinary amount of video game systems out there, there really is no fear of going too big with this program. Also, adding questions and even adding more extensive features is pretty doable. And, this program merely provides an organized and solid foundation which other programs could build off of.

Future Changes, Additions, Or Improvements That Could Be Done:

I've touched upon those in the preceding paragraph, but, to summarize, I could change the way I ask the questions, I could give the user more control over the program rather than follow a mere script, and I could be more extensive in determining which system someone should buy. But, that's in the future. Time to relax now... :)