Monday, September 24, 2007

Mentor Contacts

Conversations:

Date: 8/05/07
Question: Introduction to mentor.
Method: Face to face contact
Answers/Conclusions: On this date, I met an individual named Timothy Morgan, who I found to be a major in computer sciences. I informed him of my senior project and he seemed eager to learn more, since he had never heard of a high school student with such high school. I later asked if he would be willing to provide farther assistance via E-mail contact, to which he promptly agreed.

Date: 8/23/07
Question: General question about mentor’s knowledge of computer languages.
Method: E-mail contact.
Answer/Conclusions: My mentor described his familiarity with the C++ Language. He informed me of its widespread use in various fields, and due to its pliability would be ideal for video game design.

Date: 8/25/07
Question: I asked my mentor to recommend some research material on the C++ Language.
Method: E-mail contact.
Answer/Conclusions: I was presented with a series of books, including. This allowed me to go to the library in order to gather these materials, to gain some basis from which I could successfully create a computer program.

Date: 8/31/07
Question: What is the “Hello, World!” program?
Method: Email Contact
Answer/Conclusion: The “Hello, World!” program is a basic C/C++ exercise that one can complete to form a basic understanding of the language. It creates a window in your operating system that displays the text, “Hello, World!”. Since windows are the basic vessels of a program, this simple exercise will familiarize the user with the process. It is performed with the following string of code:

#include main()
{cout << "Hello World!"; return 0;}
Date: 10/14/07
Question: On this day, I asked about the best compilers that could be used to code in C++.
Method: E-mail
Answer/Conclusion: My mentor responded by providing me with several programs, including:
➢ Microsoft Visual C++
➢ Bloodshed Dev C++
➢ Borland C++
➢ Paradigm C++

Of the above choices, the best are Microsoft and Bloodshed, since both programs can be obtained for no cost.

Date: 10/20/07
Question: What alternate programming languages can be used along with C++
Method: E-mail
Answer/Conclusion: My mentor recommended a myriad of programs including Java and Flash.

Mentor Info

Student Name: Joseph DiMarco
Project Title: TSA Gaming Competition

Mentor Name: Timothy ******
Address: 21 ********** Rd.
New *******, ** *******
E-Mail Address: *************@******.com
Webblog Site: ????

Employer Name: ********* County
Address: 11 ********8 Rd.
******************
Phone: ********************

Position: Software Programmer
Job Description: Maintaining the city's database

How was the person located? Online.

Specs: Redux

Specifications:

  • The program will be written in C++ using Microsoft Visual C++
  • The program will utilize DirectX 9.0 “Direct3D”Ø Will be rendered in two dimensions using Sprites
  • Utilize MS Paint/Photoshop to create visual renderings
  • Program will be of superior quality for entry into TSA competition

Design Brief

To design and create a video game, to be entered into the corresponding TSA Competition in April of 2008.

Limits: Redux

Limitations:

  • Program must be completed by March 15, 2008
  • Project must make use of available programs
  • The skill level of creator
  • Game must be appropriate for a Teen - Mature audience but also must be appropriate for school.

Sunday, September 23, 2007

Works Cited

Aitken, Peter and Jones, Bradley L. SAMS Teach Yourself C: in 21 Days. Indianapolis: Fifth Edition, 2000

Bateman, Chris and Boon, Richard. 21st Century Game Design. New York: Charles River Media, 2005

Hansen, Augie. C Programming: A Complete Guide to Mastering the C Language. New York: Aaddison-Wesley, 1990.

Harbour, Jonathan S. Beginning Game Programming. Boston: Course PTR, 2005.

Vine, Michael. C Programming for the Absolute Beginner. New York: Thomson Course Technology, 2002.



Task Analysis

Task Analysis:

Cost - Time to complete

Aesthetics - Game will be composed of two-dimensional sprites to be animated. It must appear lifelike aenough to be engaging but not overly cmplex so as not to be comleted in time for the competition.

Function - To offer entertainment through hand-to-eye coordination, reflex, as well as logic based challenges to the player.

Quality - Not overly complex as to be impractical for more than one personto complete within the span of five months.

User - A teen to mature gamer. Must not be overly "sugar-coated" to be unengaging nor too extreme as to exceed the boundaries of classroom acceptability.

Environment - The game will be competing in a world laden with visually-stunning, corporate amalgamations and thus will exist as an amusing curiosity rather than a groundbreaking work.

Friday, September 21, 2007

Wednesday, September 19, 2007

Design Brief/Specs/Testing

Design Brief:

The purpose of this project is to design and create a playable video game.

Specifications:
- written using BYOND engine
- 2-D
- Graphics created using in-program editor

Limitations:
-Project must incur costs of necessary programs
-Skill level of creator
-Game must be appropriate for necessary age bracket

Measuring Playability:

To measure the playability of the game one must first consider the following factors:
Age of participants
Difficulty of game
Aesthetics
Controls

Whereas the participants must fall within the Teen-Mature age bracket as defined by the ESRB; the difficulty can neither be so low as to not be a challenge, nor to high as to become tedious; the game must appear pleasing to the eye and the scenes should be easy to interpret; the controls must be straight forward and easy to learn.

To determine playability, each participant will be issued a survey at the end of the testing period, where they will rate the program from 1 – 10 across these several factors through a series of 20 questions. A score of 1 indicates “poor”, where as a score of 10 shows the player found the game to be “excellent” in that specific area. Depending on the scores received, the game may need to be revised to better appeal to the audience, or left as tested if reviews are overwhelmingly positive.

Plan of Action:

1. Testing will performed by the second week of February 2008.
2. If necessary, the game will be revised and participants will again perform a test
3. Process will repeat until product receives overwhelmingly positive reviews
4. Game must be completed by March 15, 2008

Background Information

Background:

For nearly sixty years, the computer has played an integral role the establishment of the Information Age. Using its superior processing skills, it is able to sort through the vast resources of modern knowledge at processing speeds that are many times greater than that of a human. Truly it is one of the greatest tools mankind has at his disposal. So of course, being the creative and resourceful creature that he is, it takes no great leap in logic to see that he would attempt to inject this essential human element into this the otherwise cold and logical world of the machine.

The quintessential example of this is the modern video gaming industry. What began as the creative musings of lonely programmers manifesting their Tolkien fantasies, has now grown into a popular medium, with “Connoisseurs” from all demographics. In order to farther enhance this escape from reality, designers have increasingly turned to the latest in digital technologies. Where once experiences were limited to sequences of 8-bit pixels transversing a two-dimensional world, advances in the field have led to the creation of immersive three-dimensional environments with complex textures, lighting and sound to give gamers an experience that is nearly true to life (Bateman).

To be successful in this field, one must first have a solid understanding of the language of this medium, for like any artist, the computer game designer must be familiar with the fundamental limitations of his canvas before he can begin to create his masterwork. Computers operate primarily by machine code (Aitken), which utlizes a binary numeral system to to determine how the system will respond to its various inputs. To oversee the operation of more complex processes, such as Operating Systems and corporate and entertainment programs, more complex languages are required to handle the increase in the volume of data (Harbour).

One principle medium for this interface is the system known as DirectX. This tool, known as a compiler is able to link the source code with its corresponding object files. In this way, the programmer is able to more readily complete his desired operation without being burdened by the necessity to micromanage the interactions betwen the computer and its stored data retreival (Vine).

In the modern world of video gaming, developers now have access to an incredible variety of tools, ensuring the only limiting factor in the design process is one's imagination. The primary vessel for this is the C++ programming language. Based on the modular C language, its ability to make use of "Object-oriented programming" renders it ideal for gaming applications (Harbour).

The video gaming industry has a long and rich heritage that is nearly as old as the computer itself. Always on the cutting edge of technological development, it stands as incontrovertable proof that man's desire to escape from reality is adriving force in his development.

Summer Research:

Computer Gaming:

To research computer gaming, I not only reviewed various sources and browsed a variety of internet forums on the subject, but also gained first-hand experience by playing several of the most popular modern-day titles. From this, I was able to determine what the average video gamer expects to play, and am able to base my future solutions around these concepts. Unfortunately, one of the chief attributes that most players concern themselves with is aesthetics (Bateman). Because of the incredible processing power of modern systems, most designers are able to create lush, realistic environments with life-like characters and believable AI. However, because my project is limited by the fact that I am one man, whereas a major blockbuster, like Halo II, will encompass an entire company, my entry into the TSA Competition will in all likelihood never see this level of detail, and must therefore rely on older technologies to achieve a similar result. Perhaps the best way to do this will be to create a side-scrolling, 2D game with sprites (Harbour). This way, I can create a simple, amusing game, such as Mario Brothers or The Legend of Zelda, that will be within my skill level, without sacrificing enjoyment or playability.

Programming Languages:

Computers are essentially expensive calculators that process information as a series of 1’s and 0’s. 1 indicates that an electrical current has been detected by the hardware, while 0 designates that no electrical impulse was detected. In this way, everything from a dollar store’s four function calculator to “Blue Gene” of the Lawrence Livermore National Library in California (Hansen) relies on the same basic two signals to derive any advanced functions. So therefore, software developers must make use of an interface system, such as MS DOS, or more recently Direct X (Harbour) to give instructions to perform the necessary operations. These are known as assembly languages or compilers and do to modern advancements, this process is now automated, and programmers no longer have to rely on performing this task to successfully create software. The most popular language of computer programmers is C, and its main derivative, C++ (Aitken). It is among the most versatile, able to perform high level graphical functions to bring accessibility to various corporate and entertainment programs. To program in C, the user inputs code that instructs a compiler, such as Direct X to assemble the various files in such a way as to create a cohesive program that the PC’s machine code can run smoothly (Vine). It is this, combined with the relative ease at which the language can be absorbed and implemented makes it ideal for use in the TSA Competition of 208.