|Computers||Computers, like televisions and telephones, have become an everyday part of our lives and almost everyone has a basic understanding of what they are how to work them. This helps eliminate the learning curve of our product, as one does not need to learn how to use a new piece of electronic hardware. Moreover, they are readily available. By using computers, we do not do not need to design/develop/sell custom hardware. This frees us from the troubles of selling electronic hardware in an already very competitive market (such as manufacturing and distribution costs) and also allows us to execute multiple iterative design cycles during the duration of this project.||
The main disadvantage of computers is that they are inherently expensive, both to own and to maintain. This means that if one does not already have access to a computer, is it unrealistic to assume a person will go and buy one just to play our game. In fact, it is expected that nobody in a sane mindset would do that. This limits our target market to those who own or have access to computers.
Computers can also have problems of their own. This means that a user of our game might have problems running it that we will not foresee. While this is a problem, it is one that is true for all computer games and all computer software in general, and thus we do not believe it requires any action on our behalf expect for that of good design practices.
|Computer Networks||By using well-established hardware/software for networking electronic objects we eliminate the need to design/develop/sell our own hardware/software networking solution.||The primary, and most significant disadvantage of all the technologies we plan to utilize is the fact that our game will require many networked computers, ideally more physically distributed than all in one room. This severely limits our target audience, as there are relatively few places in which large networks of computers exist. The two primary places such computer set-ups exist is at places of education (colleges, universities, technical intuitions, high schools) and office-based businesses.|
|The Java Language||
Unlike most computer programming languages, Java is platform independent. This means that our game will be able to be played on Windows/Mac/Linux/Other without any extra development effort on our behalf. This will also allow the game to be played on multiple platforms at once, maximizing the number of potential computers available to be used in a game.
Java also takes full advantage of OO design methodologies. This will also us to develop and test our game much more quickly then if we were to use a language such as c++ or Visual Basic.
The Java programming language and most associated development tools are free, which greatly reduces our costs.
Unlike C#, Java's primary competitor, Java has been around longer, it is more well established in the computer gaming industry, and has a glut of documentation, examples and community support all over the Internet.
|Requires user's computers to have Sun's JVM installed. This hinders the portability of our game. However, when compared to installing .Net on non Windows XP computers, installing the JVM is quick and simple. Moreover, most places of education have sun's JVM installed by default, as well as a growing number of businesses.|