Showing posts with label Filmation. Show all posts
Showing posts with label Filmation. Show all posts

Monday, August 28, 2023

Incorporating the Player Avatar and Navigation

Taxonomy of Virtual Spaces

In my previous blog post, I replicated the visuo-spatial configuration of Ultimate Play the Game's Knight Lore (1984, ZX Spectrum game) in 3-D geometry. Now, I need to add a player avatar to replicate its player affordances in order to create a simulacrum of the "Filmation" spatial paradigm that I've defined previously.

This aspect of the project is a first step toward creating a tool for analyzing different spatial paradigms as intentional aesthetic styles, where the types of projection and avatar movement may be set to different parameters while playing.

The Player Avatar

Our hero in a test scene

I needed a simple, animated, humanoid player character to use as a sample avatar. I own a license for the "Everyday Motion Pack" assets by Gizmozman and opted to start with the male character model and animations included in that pack. If time permits, I may include options to customize the player character and include a female character as well.

I created a new animator controller and wrote some player controller scripts to closely mimic the simple "tank" style controls seen in games like Knight Lore.

The Environment

The Filmation style of environment, as exemplified by Knight Lore, consists of a series of interconnected rooms and corridors and often takes place in an enclosed environment (such as a castle or a large starship). The game world is explored one room at a time, using a "page flip" style of frame mobility when moving from one screen to another.*

* The Filmation II engine allowed for smooth-scrolling frame mobility across the game environment, allowing for open streets and enclosed buildings (see Nightshade and Gunfright).

Initial test environment of 16 rooms

I built an initial test environment of 16 near-identical rooms with doorways connecting them, as seen above. However, the bottom half of the image doesn't match the expected play experience. The player should only see one room at a time.

A single room with player start

Each room is enclosed in a trigger volume (with yellow grid material) that is invisible to the game camera. All geometry in the room is parented under the trigger volume object. By default, no environmental geometry is rendered at game start. Whenever the player character enters a room (including at game start), a script on the trigger renders all geometry in the current room and sends an "EnterRoom" message to an overall Game Manager script. The Game Manager sets the camera position to the new room and sends the previous room the player was in to disable its visibility.

Player Avatar Navigating the Virtual Environment



It works! This closely matches the experience of older Filmation style games, with a "pixel dimetric" projection method to display the environment.

Next, to make the camera's projection methods dynamic during gameplay.


Tuesday, August 22, 2023

Reconstructing the Virtual Spatial Configuration

Taxonomy of Virtual Spaces

In my last blog post, I took a close reading of Ultimate Play the Game's Knight Lore (1984, ZX Spectrum game) and pre-visualized what the game's spaces would look like in Unity. The next steps are to replicate its visuo-spatial configuration in 3-D geometry and add a player avatar to replicate its player affordances. These two aspects together represent the "Filmation" spatial paradigm that I've defined in the previous post.

This aspect of the project is a first step toward creating a tool for analyzing different spatial paradigms as intentional aesthetic styles, where the types of projection and avatar movement may be set to different parameters while playing.

Space

As previously seen in my last blog post, I chose the cauldron room from Knight Lore as an initial target for my project (this is the room where the player must bring certain spell components to the wizard so that he may remove the player's curse of lycanthropy). Once I manage to emulate one room in the Filmation paradigm, I can begin to change the visuo-spatial settings (means of projection, to start with) and show the same environment as rendered under different aesthetic qualities.

Knight Lore cauldron room

Cauldron room visualization target

Cauldron room in 3-D geometry, but projection is not true isometric

The simple geometry was easy to create using Unity's ProBuilder modeling tool. I created a gridded "prototype" material for the level geometry, keeping a similar look to the original Kenney Isometric Prototype Tile assets that I used for the previsualization.

The camera settings are more challenging than I'd like them to be. Any change to the size of the projection (in order to incorporate the entire room on the screen) also changes the angle of the projection. I have the correct angles to use, in part thanks to Cartesio, but this isn't just a matter of plugging in the right numbers to get the exact visuals. The the key is keeping the orthographic camera Size and Far Clipping Plane values in synch. If you double one value, you must also double the other value. Looking through the code, the Camera Perspective Editor tool I am using uses the Far Clipping Plane when determining the effect of its "Lens Shift" adjustments, as needed for this visual.

A new problem has arisen. The camera settings seen in the bottom half of the third image are using the tool developer's "True Isometric" camera settings. However, in a true isometric projection, the white cube in the corner of the room (outlined in magenta, above) should form an equilateral hexagon. It does not. The vertical edges of the hexagon outline are notably longer than the angled edges, which means that this projection is not as advertised. These projectors are oblique when they should be orthogonal to the projection screen.

Corrections

I still plan to use the Camera Perspective Editor tool for oblique and other projections, but I can simply use Unity's built-in "orthographic" camera settings for correct orthogonal projections. Here are two corrected projections of the same environment.

True isometric projection (35° downward angle)

The outline of the cube in the corner of the image above creates a true equilateral hexagon (each edge measures 74 pixels), so this projection is correct.

2:1 "pixel" dimetric projection (30° downward angle)

In this next image, the gray floor tiles are projected twice as wide as they are tall (64 x 128 pixels), making this match the 2:1 "pixel" dimetric projection.

Trimetric (1:1, 1:3) projection (35° downward, 30° oblique to front face)

This final image is close to the "pixel" trimetric (1:1, 1:4) projection of Crystal Castles that I analyzed before, but the camera angle I calculated with the Cartesio tool (3
3.5° downward) did not give the correct results in Unity. I will have to further revise the camera settings for use with the Unity project.








Monday, August 14, 2023

Towards a Digital Simulacrum of "Filmation" Spatial Paradigm

Taxonomy of Virtual Spaces

In my last blog post, I explored the history of and defined the "Filmation" spatial paradigm, as pioneered in Ultimate Play the Game's Knight Lore (1984, ZX Spectrum game). This is currently my best-defined example of a spatial paradigm, one with a long history, especially in action/adventure platformers

My goal with my latest digital project is to be able to replicate various spatial paradigms seen in digital games, starting with the visuo-spatial configurations as defined by my "Taxonomy of Virtual Spaces" (Rowe, unpublished).

The "Filmation" visuo-spatial configuration:
  • Gameworld
    • Game Space
      • Continuous Spatiality
      • 3-D Game Space
    • Mapping
      • Rectangular Topology
    • Modifiers
      • Gravity - Down
  • Framing Device
    • Frame Mobility:Diagonal Direction
    • Discrete (Page Flip)
  • Three Conceptual Image Planes (angle and projection method)
    • Agents - 30° Dimetric
    • Environment - 30° Dimetric
    • Background/Foreground - N/A
I began with a study of the original "Filmation" game, Knight Lore.

Studying Knight Lore

Playing Knight Lore on my ZX Spectrum Next (with HDMI output)

Like any game I am studying, I try to first play it on original hardware the game was designed for. I don't own an original Sinclair ZX Spectrum from the 1980s, but I do own a ZX Spectrum Next computer. It has an FPGA-implemented Z80-compatible processor that can replicate the functionality of a Spectrum or other Sinclair computer. It also sports an SD card reader, 512Mb RAM, joystick ports, HDMI and VGA output, and other amenities far above the original Spectrum's capabilities. The case and keyboard was designed by Rick Dickinson (RIP), who designed the some of Sinclair's original Spectrum cases. As a researcher and a gamer, it feels like a good mix of an authentic experience with enough modern conveniences to make my life easier (not worrying about a decaying keyboard membrane, a Kempston joystick interface, disintegrating cassette tape data, or PAL video formats). 

Playing the game reminds me that one thing I do not miss about old computer games: the wonky control schemes they often use. PC gamers owe so much to Thresh and his work to help standardize the WASD keyboard configuration scheme (though I am still a fan of ESDF). Knight Lore uses common-for-the-time "tank" style controls, where the player avatar can only move forward or rotate left/right by 90 degrees (and jump).

  • Jump: Q, W, E, or R
  • Forward: A, S, D, or F
  • Left: Z, C, B, or M
  • Right: X, V, N, or SYMBOL SHIFT

You can settle into a tight SZX control scheme, or widen your fingers out to a DZV to move without too much difficulty. The biggest problem is that jump is only on the top row of keys, not the standard space bar! If your left middle finger is on one of the ASDF keys to move forward, you need to move your other hand to one of the QWER positions to keep your other left hand figures to rotate left/right on the bottom row of keys. I think joystick controls are the way to go with this game.

Analyzing Knight Lore with the Spectrum Graphics Editor

I tried using the Spectrum Graphics Editor (still in development) to view Knight Lore's graphics data for analysis, but didn't have much luck. I found the graphics and image mask data, but it would take too long to extract the data into a useful format. I can see the graphics for the cauldron, crystal ball, boot, the ghost, the wizard, and the player sprites in the image above, but the pieces are still jumbled.

Knight Lore Cauldron Room showing 8 x 8 tile floor grid

As described in my previous blog post, Knight Lore rooms are 8 x 8 "tiles" in size along the floor plane. Each doorway is two tiles wide. The blocks the player often climbs onto are one tile in size and approximately 1/2 tile in height. The player can jump onto a block of this height.

Previsualization

Recreating the Cauldron Room in Unity 2019.4.40f1

I used the Cauldron Room as a previsualization target for the look of the digital game tool I'm creating. The initial pre-viz would also give me the opportunity to learn how to use Unity's isometric tilemap tools. I created a palette of tiles using the Kenney Isometric Prototype Tiles set (free to use under CC0 1.0) that I modified slightly.

I do like the gray and orange grid "under construction" palette used in these tiles. We used a similar texture on our prototype, graybox levels when using the Unreal 3 editor to create Legendary. It is very obviously not final art for the game, so it didn't pose much risk of accidentally being left in the shipping build for the final product. I like this look for my purposes as it does not really convey a specific architectural or artistic style. I need something that keeps the visualized spaces clear and distinct without giving the impression of a specific culture or genre.

Next Step: Create texture, material, and other assets based on a similar "prototype" look to use in order to build 3-D assets for replicating virtual spaces.

Friday, August 11, 2023

The "Filmation" Spatial Paradigm

Taxonomy of Virtual Spaces

My work posits that digital games can be understood as expressions of different spatial paradigms, defined as the stylistic visuo-spatial configuration of a virtual space and the player's affordances of navigation through that virtual space. In other words, how the game space is drawn to the screen and how the player can move their avatar through that space. This creates a framework for creating a diachronic history of digital games through changing aesthetic styles through time (or, and "art history" of video games).

Admittedly, the concept of spatial paradigms can be difficult to grasp and is often confused with video game genres. The following is an example of such a paradigm intended to help clarify the concept.

Knight Lore and the Birth of "Filmation"

Brothers Chris and Tim Stamper are now best known as the founders of Rare, the games studio that was one of the first western studios to develop for Nintendo systems. Rare created hit titles like R.C. Pro-Am (1988, NES), Battletoads (1991, NES), Donkey Kong Country (1994, SNES), Killer Instinct (1994, arcade), and the genre-defining GoldenEye 007 (1997, N64). Before Rare, the Stamper brothers founded Ultimate Play the Game, a small studio that created games for home computers that were popular in the UK in the early 1980s.

In 1984, the Stamper brothers developed a new graphic technique that combined "pixel dimetric" graphic projection with image masking to allow on-screen objects to overlap one another without flickering. They named their new technique "Filmation"* and used it to develop Knight Lore (1984), the first of several action-adventure games for the ZX Spectrum with platformer gameplay in a vast 3-D environment for the player to explore.

* Note that this technique has nothing to do with the Filmation production studio, creators of animated series like Fat Albert, He-Man, BraveStarr, and She-Ra, along with live-action shows like Secrets of Isis, Ark II, and The Ghost Busters (not to be confused with Ghostbusters). Filmation's production building loomed large in my childhood home town of Reseda. I likely would have tried to get a job there, but they shuttered their doors while I was still in high school.

Knight Lore (1984, Ultimate Play the Game, ZX Spectrum)

The Filmation technique was likely inspired by earlier titles like Q*bert (1982, Gottlieb, arcade game) and another "isometric" action-adventure game for ZX Spectrum, Ant Attack (1983, Quicksilva). However, Knight Lore's visual fidelity and large, detailed gameplay space was unprecedented for ZX Spectrum (a.k.a. "Speccy") users. Reviewers were astounded by the game's "glorious 3D" graphics and heralded it as "probably the best game yet produced for the Spectrum" ("Knight Lore Review," Crash, vol. 1, no. 12, Dec 1984, pp 16-17). Critic Steve Cooke stated that "the 3D effects manage to generate a real sense of 'being there'" ("Screen Test," Personal Computer Games, no. 14, Jan 1985, pg. 53). 10 years after the game's release, some critics were declaring that Knight Lore "represents the greatest single advance in the history of computer games" ("Retroview," Edge, no. 12, Sep 1994, pg. 77).

While the last point may be chocked up to hyperbole, it is clear that this new graphic technique was an important technical and stylistic achievement in conveying a complex 3-D space on a limited home computer with unusual graphics restrictions.

ZX Spectrum Graphics

Altered Beast (Activision UK, 1989, ZX Spectrum) screen shot showing Speccy color bleed

The ZX Spectrum's image resolution was 256 x 192 (compare to the NES/Famicom full screen resolution (with some overdraw) of 256 x 240) and the image would be drawn to the screen with a thick border around the edge** (see Altered Beast image, above). The 256 x 192 image is divided into a 32 x 24 grid of 8 x 8 pixel "blocks" of graphics. For each block, there can be a palette of only two different colors (often black and another color). This can create color bleed when different game objects overlap one another. In the above image, the colors from the main character's green boots, yellow skin, and cyan clothing all bleed into the surrounding gray background in the same graphic blocks.

** Note that the border has been removed from other screen shots on this page.

"Filmation" Spatiality

Knight Lore Cauldron Room with graphic block grid and gameplay space "cube" in magenta

A grid of magenta lines shows the grid of graphic blocks in the Knight Lore screen shot above. The Stamper Brothers nearly eliminated color bleed by deciding to have the entire gameplay section of the screen use the same palette (though the palette changes from room to room). As you can see, the HUD at the bottom of the screen is divided in such a way that each element is separate from neighboring elements that use different color palettes. The only exception is one of the sunrays in the lower right that is partially drawn in red instead of yellow where it is in the same block as the red frame element.

I've drawn other magenta lines to show the edges of the room's navigable gameplay space, a  sort of squashed cube. The edges of the space are defined by the locations of doors in the four walls. The room floor is an 8 x 8 grid of square "tiles"*** (each tile is the size of one of the blocks in the image above) where objects may be placed and the edges are defined by imaginary lines extending from the edges of the doorways. Characters and objects may be stacked atop each other, climb, fly, or jump to become elevated in this fully three-dimensional space.

*** Note that corridor floors in the game are 4 x 8 tiles in size. Doors may be found at the ends of corridors, but not along the long walls.

"Knight Lore +the Map" (Gordon Druce and Oliver Frey, Crash, vol. 1, no. 17, Jun 1985)

The player must explore explore the wizard's castle in the game, one room or corridor at a time. Knight Lore uses the "page flip" technique of frame mobility across the game world, one screen at a time.
"The screen is the basic unit of space in videogames, since it frames the interface." (Clara, F.-V., P., Z. J., & Michael, M. (2005). "Evolution of Spatial Configurations In Videogames." Paper presented at the DiGRA '05 - Proceedings of the 2005 DiGRA International Conference: Changing Views: Worlds in Play)
Frame mobility was a major advance in creating a sense of larger space in video games. Many early games are limited to what can be displayed on a single screen. A character moving to the edge of the screen might wrap around to the other side of the screen, creating a toroidal (like Spacewar!) or cylindrical (like Pac-Man) topology, but there was no space beyond the screen. Designer Warren Robinett needed more than one screen to display the vast world of Adventure (Atari, 1980, Atari VCS console game). He was one of the first to use the "page flip" technique to move the player's framing device from one region of game space to another. When the player's avatar reaches the edge of one screen, they reappear on the opposite edge (much like in a game with "screen wrap") with the screen displaying a different "room" of space. Before smooth-scrolling frame mobility became commonplace, this technique was used in many other important "adventure" games on consoles, like Pitfall (Activision, 1982, Atari VCS) and The Legend of Zelda (Nintendo, 1987, NES (1986, Famicom Disk System)).

In Knight Lore's case, the player avatar moves the frame by entering a doorway at the edge of a room or corridor. These interconnected rooms are not all at the same elevation, and after leaving one room on the ground floor the player may find themself on a ledge high up the wall in the next room.

How do you get the crystal ball?

Some rooms in Knight Lore toy with the player's limited spatial information due to the fact that they can only observe the space from one angle, leading to some ambiguities when game objects overlap. In the image above, the crystal ball the player needs to reach appears to be atop a two-block tall stack of blocks. The player can only jump up one block in height, so this seems to be impossible. Actually, it is a winding "staircase" of blocks that the player can easily navigate to reach the top, once they realize the spatial organization of the blocks. There are a number of navigation puzzles with ambiguous visuals like this in the game.

The Longevity of the "Filmation" Spatial Paradigm

From Spatial Paradigms of Digital Games (Rowe, unpublished)

Ultimate Play the Game and the Stamper brothers continued to use their Filmation "engine" to create more adventure/platformer games, like Alien 8 (1985) and Pentagram (1986). Their "Filmation II" engine changed the paradigm with smooth-scrolling frame mobility for  Nightshade (1985) and Gunfright (1986).

Many other games copied Ultimate Play the Game's spatial paradigm in the years that followed, especially games for the ZX Spectrum. Bo Jangeborg developed the "Worldmaker" system for his games Fairlight (The Edge, 1985) and Fairlight II (1986). Paul Shirley's Spindizzy (Electric Dreams, 1986) combined a Filmation adventure with the momentum-based movement of Marble Madness (Atari, 1984, arcade game). Jon Ritman and Bernie Drummond stayed close to the Stampers' Filmation aesthetic when they created Batman (Ocean Software, 1986) and Head Over Heels (Ocean Software, 1987). Ritman and Drummond later joined the Stampers at Rare to create another game with the same structure, Monster Max (1994, Game Boy handheld).

Cadaver (Image Works, 1990, Amiga)

The Filmation paradigm remained relevant as the ZX Spectrum and its 8-bit brethren gave way to powerful new 16-bit computers with advanced graphics capabilities. The Bitmap Brothers**** created Cadaver (1990), in which a knight explores the mysterious Castle Wulf (note that Knight Lore's prequel game is called Sabre Wulf (1984)). Solstice (CSG Imagesoft, 1990) brought Filmation-style puzzle/platforming in a magical castle to Nintendo's NES console. The Pickford brothers (Ste and John) worked on the sequel for the Super NES console, Equinox (Sony Imagesoft, 1994 (1993, Super Famicom console)).

**** Note that unlike the Stamper brothers and the Pickford brothers, I don't believe that The Bitmap Brothers was founded by actual brothers.

Elephantasy: Flipside (Benjamin Maksym, 2023, Windows XP game)

This spatial paradigm continues to have relevance to this day. Elephantasy: Flipside (2023) is a puzzle/platforming adventure game for Windows in which a tiny elephant named Belle must collect items, unlock abilities, and explore a vast, fantastic, 3-D game world.

[Update 8/15/23]
Pentagorat (Misfit, 2016, VIC-20)

Another relatively recent example is Pentagorat (2016), programmed for the VIC-20 computer. A Commodore 64 sequel, Pentagorat II, is currently in development.
[End Update]

[Update 10/12/23]
Melkhior's Mansion (BitGlint Games, 2020, Windows/Mac/Linux game)

Yet another relatively recent example is Melkhior's Mansion (2020) for modern computer systems. The garish color palette is designed to closely emulate the limited colors of the ZX Spectrum. The game is freely available on itch.io and directly references some of Ultimate Play the Game's earlier titles. The developer had been working on a version of the game for the old ZX Spectrum computers, but had to quit recently due to the "cranial abuse" it was causing them.
[End Update]

Defining the "Filmation" Spatial Paradigm

I use my "Taxonomy of Virtual Spaces" (Rowe, unpublished) to define a game's visuo-spatial configuration, how the game space is projected to the screen for the player to view. This represents one half of the spatial paradigm. My system is closely linked to the University of Montreal's concept of graphical regimes ("Game FAVR: A Framework for the Analysis of Visual Representation in Video Games," Arsenault, Côté, & Larochelle, 2015).

The following definition defines the visuo-spatial configuration:

Continuous Spatiality

3-D Gamespace

Rectangular Topology

Gravity - Down

Frame Mobility:

  • Diagonal Direction

  • Discrete (Page Flip)

Agents - 30° Dimetric

Environment - 30° Dimetric

Background/Foreground - N/A


The terminology system to define player navigation affordances is still in development:

Player Navigation Affordances:

  • Walk

  • Jump

  • Diagonal Direction



From Spinning Disks to Super Scaler (Racing Games pt. 3)

Taxonomy of Virtual Spaces This is a continuing history of the evolution of early car racing games as analyzed according to each game's ...