I am archiving older pieces I have written on other sites, making this the definitive home for all my work. This is one of several I am porting over from my GameDev.Net user journal. Enjoy!

Halo 2. Resident Evil 4. God of War. While I haven't played all three (okay, I've only played Halo 2 so far), they all seem to have something in common: they all present unexpected contextual actions that, in my limited experience, deepen the gameplay experience. In the coverage of Resident Evil 4 that I've seen, cutscenes are suddenly interrupted by action sequences that ask you to quickly hit a button, sometimes repeatedly, or hit buttons in sequence or to time, dictating the outcome of the cutscene. Essentially, in addition to advancing the narrative, the cutscene becomes a new gameplay locus, with a different sort of play to vary the experience.

In God of War icons appear on the screen that allow you to perform actions specific to the enemy - usually a boss character, usually at least three times your height - such as mounting its back or stabbing its eye at specific times. You have pretty much the same thing in Halo 2, such as when "Hold X to board the Prophet's craft" appears on screen when confronting the Prophet of Regret.

Contextual play is very cool, and it breathes new life into action adventure-style play (interesting how much third-person play there is in Halo 2, thanks to all the vehicular aspects - boarding enemy craft, dispossessing enemies of their craft, piloting all craft), but it does require decent reflexes. Then again, that's why it shows up in action adventure games and not point-and-click cerebral puzzles. Those have a completely different sort of contextual play, to whit: "Use this with that" or "Use this at that time to yield the following effect."

So why does this merit a journal entry? Well, on the one hand, the question begs, when is play truly contextual? If contextual play is a gameplay mechanic, then how is it any different than core gameplay? Obviously, it's a question of frequency. Given the preceeding, how do we efficiently integrate contextual play? How do we make it an attainable design goal?

I was watching a developer interview over on GameSpot with the director of God of War, and he mentioned that the game's levels were built sequentially, as opposed to iteratively. ie, the first level was completed before the second level was begun, and so forth, meaning that the game should get better as you play it because the programmers and level designers were becoming more familiar with the technology and tools as they progressed. Presumably, though, the artists were getting better, too, and making art direction decisions as the title progressed and reworking earlier assets for stylistic consistency. The game's look is coherent, though, which means that a tagging system of some sort must have been in place that allows a game build to retrieve the latest asset versions from the asset management system.

Approaching from a different angle, my roommate loaned me his copy of Halo 2 Limited Collectors Edition. Disc 2 was a DVD that contained all sorts of special features, including deleted cinematics in rough, early form. What this reemphasized to me was the multi-pass approach to creating many assets, where rough versions are utilized to create something usable quite quickly and then high-res versions are created in parallel to the development of the code and periodically reintegrated.

What I'm saying is that we GameDev.net) need to start talking about asset management and integration via custom build processes. Tagging and build-time resolution, for instance. Asset versioning systems, for instance; I don't know of any free, affordable or open source asset versioning systems, but there's a profusion of source versioning options (which supports my assertion that open source serves as a repository for "common knowledge," but that's another story entirely). Even among proprietary systems, though, I only know a handful, such as Alienbrain.

Let me know of any options out there, and what you think of this issue in general.