Entries for May, 2004

May 9th, 2004

Anew

The stars in my backyard are pinpricks peeking through the silhouettes of giant tree limbs. The grass is uncut and healthy, anticipating the coming dewdrops. Each misty green sliver bushels out like wheat slow dancing in the night breeze. Balmy air wafts through lazy hanging foliage and the cicadas continue their buzz saw chorus. It is summer.

I stand in the cool cozy grass with sandals and nylon shorts, watching my shaggy dog. He too stares off blankly into the night, his coat blending into a duotone blue green. His eyes glow like fireflies.

In solemn repose, I turn and slightly smirk. Time to retire to the air conditioning. A clap of my hands and the dog is galloping through the lawn, bounding past the crumbling patio and into the house.

-------------------------------------------------------------------------------------

The day my grades were out I closed the book on the past four months. I did well. I was pleased with myself. And with that contentment, I wrapped together all the events and memories into a solid chunk of goodness. Those were happy times. Some of the best months of my life. Probably the best semester of college.

It came with partings. Friends donning graduation gowns, packing up for distant states. Prospects and aspirations for an improving future. A nice round even number. Four years.

The crew christened freshman year, on floor three of Folk Hall, has finally broken. The late night homework sessions, cramming for tests, COC and SAC and shaft, even the drunken revelry with grain alcohol - these are fading. Rob's 88 Buick has driven us for the last time on a Taco Bell Run. The final movie we all saw together was Kill Bill 2.

I wish everyone the best. I hope you remember well the time we had. Scratch out a new living in a new place and find a similar sort of happiness. That’s the best I can hope for.

-------------------------------------------------------------------------------------


Transition brings with it reflection. Maybe that introspection is just a waste of time. Maybe twisting my mind up in a knot doesn't change my path, doesn't bring satisfaction, doesn't affect other people.

But we are not automatons. The fiery churning of emotions and reasonings, resolutions and epiphanies define our lives more than diplomas, GPAs and job offers. I really think I've come a long way since last fall. I'm a different person.

So here's to writing more, reflecting more, spending more time in the sun.

Here's to the best summer yet to come.
Posted by Daedalus at 12:22 AM | Add a Comment

May 17th, 2004

New Mediums

Are Video Games Art?

Art is defined as:

Human effort to imitate, supplement, alter, or counteract the work of nature.
The conscious production or arrangement of sounds, colors, forms, movements, or other elements in a manner that affects the sense of beauty, specifically the production of the beautiful in a graphic or plastic medium.



Video Games are Art. Observations:

1. Video games combine graphical and visual elements with sound to create a holistic entertainment experience
2. Video games contain stories that relate to the wide spectrum of human experience and appeal to the imagination
3. Video games develop and utilize hand eye coordination that transcends into a new "language" of interactivity
4. Video games exhibit emergent behavior


-The first two are basically understood.

1. Most everyone who has played recent computer and console games understands that modern games incorporate CD quality audio with impressive real-time graphics, and sometimes even Hollywood-quality rendered cut scenes. Although scripting is somewhat lacking, critically acclaimed games often times have better plot lines and stories than many books and films. Grand Theft Auto Vice City used a number of celebrity actors for voice-overs, including Ray Liota as the leading character. More and more games are attracting Hollywood actors, Christopher Walken, Jet Lee and Snoop Dog all come to mind.

2. Games also capture a vast spectrum of subject matters. From the space sagas of Star Wars and Starcraft, to the epic fantasy worlds of Middle Earth, Azeroth, Faerun and Norrath; games transport players to new lives and realms. Players also take on the roles of myriad characters, from devious thieves named Garreth, to secret agents James Bond and Solid Snake. Entire mythologies have been constructed for the silicon chip, including a fireball throwing Italian plumber Mario. Gaming has gone so far as to infiltrate popular culture - often I find myself half-jokingly refer to an action sequence in the newest blockbuster as "video game"-like.

3. When playing a video game, players use their fingers and thumbs to control their character. Whether having the index, middle and ring finger on the WASD keys of the keyboard for a FPS, or a tight grip on a controller or mouse, the hand becomes accustomed to means of I/O with the game system. As the game player progresses in skill, these hand and finger movements become more and more instinctive. As the player becomes an expert as the game and movements and strategies become second instinct, the player somewhat becomes the character. This transformation of identity is very real in excellent games, because the interface, environment and visuals integrate so well.

Furthermore, just as novels use text to convey meaning and emotion, and films use visuals and sound, the interactivity in video games tells the story in itself. If a game is a platform jumper, suspense is wrapped up in a single press of a button. In a FPS, a flick of the wrist can change the outcome of a match. A split second can alter the entire story.

Almost all games employ a heroic aspect, and from this standpoint, video games replicate this artistic feeling like no other. I believe this level of character involvement and empathy is vital to most pieces of art. Any excellent novel has the reader empathizing and feeling for the main character(s). Any great film hits an emotional note. The vocals of a favorite song seem to be sung straight from the listener’s mouth.

4. Emergent Behavior is a beautiful thing, and the reason is because it links mathematics and complexity to the randomness and spontaneity of the real world. Emergent behavior is any action or event that occurs that wasn't specifically intended. There are reasons for them, but the causes were not programmed - they are implicit benefits of a complex system in motion. A very simple example of emergent behavior can be seen in the Artificial Life simulation. In this program, a grid is filled with blocks. The blocks act as "cells" and will multiply if they have a neighbor. If they have no neighbor, then they will die out. Each turn, every block performs its action based on these two rules.

The interesting thing is that given certain patters of blocks, amazing results will occur. Some patters will grow exponentially into brilliant patters and formations. Others will remain in a pseudo-stasis, oscillating between various configurations. Others simply disappear in a few turns.

The bottom line is, none of this behavior was explicitly programmed into the simulation - it was complex beyond the specifications. Yet it occurred.

Video games are the same way. Given a set environment with finite variables, emergent behavior occurs as well. In multiplayer games such as unreal tournament, player movements and strategies arise, even without consulting an online walkthrough or guide. Combined with fact 3, above, playing a fast paced game of Onslaught can become an interesting experience. The movement of the player is instinctive, and the strategies involved (based on a map) become memorized and therefore don’t require strict logical thinking. Most situations in a game have been encountered before; so all actions are simply reactionary.

A player becomes a complex circuit, interfacing with the mouse and keyboard as fast as the internet connection itself. Combined with music of choice, I become somewhat euphoric, allowing lower brain processes to handle the work of game play. Thinking slows to a minimum, perhaps only spending thought cycles to elicit a "WTF" if I’m bested or screw up. It's like Buddhist meditation.

Emergent Behavior certainly happened in Everquest. The original designers of the game envisioned at max two groups tackling any content. As the game progressed however, players figured out that having a single, high hit point "tank" to take the blows of a boss, bolstered by a complete heal rotation. The designers of the game did not envision this strategy, yet the simple tools (spells and hit points) they enabled created the specifications for emergent behavior. Since then the game has never gone back to small numbers (unless forced).

There is a certain beauty in an emergent reality that no creator intended, yet bursts through and enhances the overall experience of a creative work. It hints at a larger, spiritual essence - a shining singularity of entertainment bliss - gaming goodness.

-Conclusion

Video Games are certainly a new medium, and haven’t reached any sort of maturity. Yet as listed in the facts above, they contain many of the characteristics of art, as well as others that haven’t been seen or classified yet. If art in the past has only engaged vision and hearing, perhaps art of the future will incorporate touch as well. The essence of art consists of a viewer surrendering his own senses in order to imbibe a new, different experience. Video games create a new paradigm of fantasy, one that engages and transforms, perhaps to a degree yet not experienced.
Posted by Daedalus at 11:15 PM | Add a Comment

Postscript

Today was great. I was very confident about myself, got three emails about networking for jobs. I met some interesting people and had some great ideas. Things are going just great. I worked in a group and felt like I was a vital part of it. I felt that I contributed. I went beyond what was expected of me, and completed work that wasn't due for quite some time. I talked to my girlfriend on the phone, it was friendly but meaningless banter. We ended our conversation with a promise to spend time together this week. My roommate returned from a trip, tired but happy. We talked about it, and both smiled. I beat some stuff in a game, and wrote a blog entry. I drank beer, listened to music and felt happy. As the clocks ticks away, I'm content as I sleep.

Perhaps that's what my life will be. Happy and productive, more than I expected. And as much as I try, as much as I push and get done, that clock will continue to count away. And even once I've completed my task, there will be no reprieve, no consolation, and the applause will be hollow. For the clock will ever march towards that horrid alarm set for the morning. At the end of the night, after a dream filled rest, there will be hideous cacophony, and the end.

For all of us.
Posted by Daedalus at 11:46 PM | Add a Comment

May 25th, 2004

Coding Ideas

I was walking to class today thinking about the problems with current software design and what could be improved. Currently coding is just writing text files that are parsed and compiled. Integrated developer environments like Microsoft Visual Studio are just fancy text editors with some nice functionality - such as debugging or code tracing

Logical Databases to Store Functions
If code was instead organized into relational databases, with semantic information included in addition to the actual code of functions, the process of coding could greatly benefit. The relational database could store useful library functions and algorithms as well. Instead of copying and pasting important algorithms into code, they could simply be referred to in the database.

Datatype specifications would need to be worked out. All stored algorithms would need to follow specific formatting in order to integrate well with custom written code and other library functions. Semantic information about functions would also be included in the database. If each piece of code included searchable comments, parameter specs and even algorithmic breakdowns, these variables could be searched for in the database. During coding, a programmer could search the database for commonly used processes and algorithms and simply open up the database record without even looking at any code. For example, I could search for a fibonacci algorithm that took in an integer and returned a linked list of strings. The search would also tell me the function takes log n to run and uses recursion.

Dynamic Code Object Diagrams
Dynamic visualization of code could also be done. UML diagrams could be created based on the functions and connections between algorithms. This could then be transformed into a diagram that shows the links between functions.

Combined with the usefulness of the database, a programmer using this system could simply drag and drop blocks of functions, linking them together with designated parameters. Programming would no longer involve writing or copying texts, but manipulating abstract code objects. For very large-scale programs, this visualization would be invaluable.

Database searching techniques could also be utilized if semantic information was incorporated into the functions. Bottlenecks in code could easily be tracked down. Tracing code would no longer involve setting breakpoints in text, but watching a cursor snake through the UML of the program.

Source control could also be incorporated into this system, and it would be very simple to include multiple versions of functions and files. Switching between versions of functions could be done on the fly, instead of checking out a different file and recompiling.

The memory layout of datatypes could also be visualized and manipulated in a similar way. Memory would be smartly allocated based on the job the data needed to do, and the database functionality would easily be able to search and trace through the code path to determine this.

Compilation would build code in objects that interact with each other. Of course the final product would be compiled and optimized much as it is done today, but the actual development of software would work better without full 30 minute builds.

Applications of the future could be developed orders of magnitude faster. Standardized UI sets could be bought and sold and easily integrated as front ends. 3D engine code, AI algorithms, and Networking protocols - all these could be packaged into relational database sets.

Dynamic visualizations of the parameter sets and datatypes would easily be searchable and algorithms could even be developed to "link" up differing data standards. Small teams with a much smaller budget could develop games. Simply buy or use the open source version of each of the important components. All of the energy could be focused on creating the new and innovative content, not creating the framework.
Posted by Daedalus at 04:51 PM | 2 comments

May 26th, 2004

Heres a link to an article by a computer science researcher with very similar ideas to what I talked about last entry:

http://pyre.third-bit.com/~gvwilson/xmlprog.html
Posted by Daedalus at 11:38 PM | Add a Comment