Thursday, November 15, 2007

November Calendar

Calendar

Week 1 (Nov. 19 - 24):

Monday: Create Calendar of events
Tuesday: Begin learning C++. Update blog.
Wednesday: Contact mentor, update on situation. Consider ideas for developmental work.
Thursday: Continue research on programming languages.
Friday: Continue developmental work. Update blog.

Week 2 (Nov. 25 - 30):

Mon: Create models/sound files for Trailer used for developmental work with Photoshop
Tues: Find out about the “bid process”. Use research to complete assignment. Update blog.
Wed: Continue work from Tuesday, Mentor update. Continue developmental work.
Thurs: Continue developmental work.
Fri: Continue developmental work by beginning animation. Write up Plan of Procedure
Update blog.

Week 3 (December 3 - 8):

Mon: Developmental Work
Tues: Update blog.
Wed: Mentor update, use contact info to begin programming.
Thurs: Use Level designs, animations to begin preliminary game design
Fri: Continue work form Thursday. Update blog.

Week 4 (December 11 - 15)

Mon: Finish developmental work.
Tues: Continue game design, Math/Science Analysis. Update blog.
Wed: Mentor Update to ensure my coding is adequate.
Thurs: More work on Game Design.
Fri: See Thurs. Update blog.

Week 5 (December 18 - 23):

Mon: Post Trailer.
Tues: Update blog by submitting Developmental Work.
Wed: Final Mentor Update for marking period. Print contacts and submit to instructors.
Thurs: Work on game design.
Fri: Update Webblog.

Week 6 (January 2 - 7):

Mon – Fri: Submit “Bid Process”. With all assignments now submitted, prepare for Presentation by writing outline.

Week 7 (January 11 - 14)

Mon. – Fri: Presentations. Marking period ends this week.

Thursday, November 1, 2007

Model

Under construction....





The following scenes give an idea as to the nature of the final product. They show the general relationships between the different objects within each landscape.

Final Selection


So in making a final selection, all of the above choices have their pros and cons. For this reason, it is difficult to reject the positive points of some and retain the negative aspects of another. Therefore, the final solution will not be one of the above choices listed, but instead an amalgamation of the positive aspects of each selection, in an attempt to create the most positive gaming experience.
This final game design will be called Willowbrook. Like High School, it will be a role-playing game, however, it will not contain any real-world elements and thus won’t be bound by the same creative limitations. Like Street Racer it will include the ability to utilize vehicles as an important element of game play, however, these will not be the central focus, so that their implementation will not be held to the same standard as other games of that genre. Just as Invasion uses 2D elements and an alien-driven storyline, this final solution will also place the main character in a similar situation, without relying on the simplistic and overdone arcade style of gaming.
Willowbrook will be a third-person, side-scrolling RPG that will incorporate 2D animated cutscenes, and first-person views of interior scenarios. In this game, the player takes on the role of Hal, an ex-garbage man who uncovers the ancient secrets of the town of Willowbrook. These secrets tell of an alien invasion that is coming, and through a series of puzzles, dungeons, and boss battles he must gather seven mystical stones to power a planet-wide force field that will protect the Earth from this incursion.
Ultimately, Willowbrook is a sound idea, since it incorporates the best aspects of each of the alternate solutions, and with its quirky graphics and unique storyline has the capacity to impress the modern video gamer.

Selection 3


The final idea would be titled Invasion. This game would be similar to the classic arcade game, Space Invaders, in which the player must stop an alien incursion by destroying the incoming vessels before they are able to land. You gain points for each unit destroyed, and lose points for every one that lands. If too many enemies make it through your defenses, you lose.
Because of the simplicity of the design, and the reward-based system of advancement, the game has an extremely high replay value. Since each level gets progressively as your point score increases, the only limitation is the skill level of the player. However, despite this, such a game concept has been played out over countless generations of the medium, and players would be less receptive of a new entry into the field. Also, like most “classic” games, the repetitive actions become a drain on enjoyment after continuous playing.

Selection 2


For the next idea, known colloquially as Street Racer, the player finds himself in the shoes of “Ricer X”, a mysterious driver, who rules the midnight streets. To win, the player must buy and tune an assortment of classic and modern cars in an effort to go faster than all opponents. In this way, you will win an assortment of prizes and trophies, unlocking additional maps and customizations to enhance the experience farther.
Again this title has its positive aspects. It would be fairly easy to design the vehicles and road courses, and the gameplay would be intense and exciting. However, such a concept already saturates the market, and there would be little enthusiasm for a new challenger to the field. Also, with most comparable titles sporting high-resolution three-dimensional graphics and realistic physics, a 2D side-scroller would just seem anachronistic.

Selection 1


High School

The first idea, titled High School, as the name suggests was an RPG simulator of the high school experience. In this game, the main character had the freedom to make a wide variety of choices to influence his or her future. Depending on the choices the player makes, the character can either end up as wealthy and successful or a hopeless, spatula-jockey. Their ultimate fate is determined by how their total deeds add up. If they study hard, help others, and take care of your body, you will be granted positive respect from your peers. If you essentially do the opposite, you will receive negative respect. Therefore, the key strategy to this game is balancing positive and negative acts to ensure your success.
This title, although an interesting concept, would prove tedious to implement. A high school simulation does not allow for the freedom of creativity that the other ideas present, for when placed within the constraints of “school-appropriateness”, many of the ideas that high school students flirt with are way outside those boundaries, and thus the game would be limited to a sanitized version of the complicated relationships between students, their peers, and the obstacles they face on a day-to-day basis. For this reason, it is best to simply avoid the headache all together.

Friday, October 12, 2007

General Update

Friday, October 12:

Completed informal presentations this week, need to include more detail for final submission. Now, will begin to work towards developing a final selection and completing a decent model. The final solution will most likely be an amalgamation of all ideas developed.

Tuesday, October 16:

Continuing to work on model. This will be a video file that will be in essence a "trailer" of the game and will give viewers a basic feel for how the final product will appeal to their senses. By this weekend I should be able to complete my Selection/Rejection Report, and should be prepared by the 31st to submit everything else that is due.

Friday October 19:

Continuing work on my model. It will be a video file using the sprites and backgrounds that will appear in the final game. Over the weekend I plan on finishing the necessary drawings, and completing my Selection/Rejection Report.

Tuesday October 23:

Continuing work from previous weeks. I should have my Selection/Rejection Report completed by the weekend.

Friday, October 5, 2007

Thursday, October 4, 2007

Alternate Solutions

Alternate Solutions (Let’s Try This Again)

Solution 01: “High School”

In this game, the player must take on the role of a student entering his (or her…) senior year of high school. Will you choose to follow the straight and narrow path to a prosperous future, or slack off and spend the rest of your life pumping gas? The choice is yours.

Pros:
ü Non-linear gameplay
ü Original interpretation of traditional gaming concepts
ü Many titles from which to draw inspiration

Cons:
ü Will take considerable planning and time to execute
ü Game design may be too complex to be practical

Solution 02: “Street Racer”

Choosing from an assortment of classic and modern cars, you must pit your driving skills against fellow motorists in this high-octane battle to rule the midnight streets.

Pros:
ü Simple to design
ü Highly-engaging, action-packed gameplay

Cons:
ü Vehicle physics will be difficult to simulate realistically
ü Many racing games on the market
ü Use of automotive trademarks

Solution 3: “Invaders”

Similar to “Galaxia”, you must save the planet from an alien invasion.

Pros:
ü Simple to design
ü Easy user interface

Cons:
ü Trite Concept
ü Limited appeal

Monday, October 1, 2007

Calendar Update

Calendar

Week 1 (Sept. 16 - 22):

Monday: Create Calendar of events
Tuesday: Begin learning C++
Wednesday: Contact mentor to fill out informational document, update on situation
Thursday: Continue research on programming languages.
Friday: Submit Design Brief

Week 2 (Sept. 23 – 29):

Mon: Plan out alternate solutions, create preliminary brainstorming sketches for designs
Tues: Continue work on Alternate Solutions. Begin to work on “Storyboards” to be used as Model.
Wed: Continue work from Tuesday, Mentor update. Outline for Informal Presentation.
Thurs: Revise Calendar.
Fri: Complete Testing Procedures over Weekend. Continue work on Alternate Solutions.

Week 3 (Sept. 30 – Oct. 5):

Mon: Revise outline for Informal Presentation
Tues: Informal Presentations due.
Wed: Mentor update.
Thurs: Work on “Model”. Lay out plans for Selection/Rejection Report
Fri: Continue Selection/Rejection Report

Week 4 (Oct. 8 – 12)

Mon: Work on model
Tues: Use Photoshop to begin creation of “2D Sprites”. These can be used along with the Model for the presentation and will be put into game
Wed: Mentor Update
Thurs: Continue work on assignments due on Oct. 31
Fri: See Thurs.

Week 5 (Oct. 15 – 19):

Mon: Continue drawings for model
Tues: Make final selection of Alternate Solution to complete Selection/Rejection Report.
Wed: Mentor Update
Thurs: Work on model
Fri: Update Webblog

Week 6 (Oct. 22 – 26):

Mon – Fri: Update mentor on Wed. Finish up remaining assignments due on Oct. 31

Week 7 Oct. 29 –Nov. 1)

Mon. – Fri: Submit Mentor Contacts, Selection/Rejection Report, and Model by Monday. Prepare for Formal presentation on Nov. 1. Marking Period ends Nov. 13.

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.