Wednesday, September 19, 2007

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.

No comments: