ryan chilton brent warren steve landers ian robinette created by: tyler ayres art 753 – video game...

21
Ryan Chilton Brent Warren Steve Landers Ian Robinette Created By: Tyler Ayres Art 753 – Video Game Production A Mode7/3D racer, implemented in flash, 10 weeks from concept to post-mortem.

Post on 21-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Ryan Chilton

Brent Warren

Steve Landers

Ian Robinette

Created By:

Tyler Ayres

Art 753 – Video Game Production

A Mode7/3D racer, implemented in flash, 10 weeks from concept to post-mortem.

Concept & Game Design Doc (GDD)

Splitscreen racing action.

Jan 5

Track features

State diagram / typical user story.

Phase:

Concept

Ryan

Art Inspiration/Realization (1/2)

Phase:

Concept

“Driving School”

“Cue Ball Wizard”

“Buckeye”

“Aztec Gold”

“Stars”

Pinball Basics Bumper Targets Rollover Targets

Flipper

Ball

Rail

Award player bonus points.

Circular obstacle, kickback. Detects ball rolling on top.

Lights up, physically passive.

Im

ple

menta

tion

Abst

ract

ion

Exam

ple

Balls are player avatars.

Rails envelop roamable track.

Plunger

Plunger never implemented.

Jan 12

Ryan

Dropdown Target

“Indiana Jones”

Spinner Target Slingshot Wedge

“Driving School”

“Haunted House”

“Freedom”

“Aztec Gold”

“Elvis”

Painted surface, 2 pillar support.

Spins when ball rolls through.

Top is painted, sides are flexy.

Reflects ball on contact.

Drops into table when hit.

Grouped with a theme.

Im

ple

menta

tion

A

bst

ract

ion

Exam

ple

Not strictly wedge shaped, convex polygon bumper.

Phase:

ConceptJan 12

Ryan

Art Inspiration/Realization (1/2)

Gameplay/viewport inspiration.

Phase:

ConceptJan 12

Track extends to horizon.

Skybox / panorama fill.

Curve/combo physics. Mash gas and go.

Mode7 reference games – Mario Kart, F-Zero

Place horizon lower to reduce rendering expense.

Minimap / whole track.

Race, but collection/exploration can improve your time too.

Implementation Chronology (1/3)

Early architecture, good ol’ brick ‘n purple text.

Test of the original collision code.

Jan 22 Jan 22

Track texture mapper.

Jan 1

Extrusion/line support.

Jan 15 Extracting rail geometry.

Jan 22

It’sa me, Mario Kart!

Finally, original content.

Jan 25

Phase:

Building

Ian

Implementation Chronology (2/3)

Collision test running on complex, original geometry.

Big step forward, collision and renderer united into playable, basic game.

First title screen with the dot matrix in back.

A different color ball for each player.

Early player select architecture. Jump in implemented with engine.

Addition of the giant flippers. Frightening.

Jan 29

Feb 14

Feb 5

Feb 14Feb 5

Jan 31

Phase:

Building

Ian

Implementation Chronology (3/3)

More sophisticated jump-in screen with real logo.

Player select screen with a giant clock in back.Refinement, demo play

explained through engine.

High score screen gets fancy dot matrix effects.

Final player select screen, with level select.

Final game with 3 players and a minimap.

Feb 19

Feb 21

Feb 15

Mar 11Mar 4

Feb 15

Pitched, completely redone!

Phase:

Building

Ian

Anatomy of a Pinball Racer Scene

Phase:

As-Built

“Mode7” plane – low cost, big impact, the focus point for artist.

3D lines - require transformation, awkward z-sorting semantics.

Panorama – essentially zero cost, yet covers ~40% of view.

Flat shaded surface– fully 3D: transform, clip, z-sort, outline.

Extruded surface – fully 3D, flat sides, top textured by Mode7

Textured surface – arbitrary texture mapping, extreme expense.

Invest artist time up top, add lower items to improve 3D illusion.

Gre

ate

r re

alis

m,

art

isti

c fr

eedom

, and p

ipelin

e c

om

ple

xit

y.

Bett

er

retu

rn o

n “

vis

ual im

pact

/com

puta

tional co

st”

rati

o.

Billboard – 2D sprite bound to 3D point. Z-sorted by centroid and scaled.

Ryan

Attract loop components

Phase:

As-Built

Each attract loop screen is a subclass of

HookUp Unhook Update DrawEach of which may implement

And has members and

When a screen sets to true, the game will call the Unhook method of the screen, switch to the screen specified by , and call HookUp on the new screen. While is false on the current screen, Update and Draw will constantly be called. This setup easily allows for each screen to dynamically decide what comes next and inform the game of this.

if

Unhook

Set

DrawUpdate

HookUp

Title

High Scores

Credits

How to play

Attract Loop

Steve

Dot Matrix Display

Phase:

As-BuiltInspired by real pinball displays

Used throughout the game for a number of nifty effects

Rendered pinball simulation through a dot matrix for the title screen

Credits screen has lit dots swirling around the border and making waves in the center

Used for bonus screens

Flashy borders surrounding dot matrix high scores

A dot matrix for each player’s high score entry and a larger one showing the last level

Steve

Size=(800 by 600) Extracted 4 starts, 109 nodes, 37 polygons and 6 regions.

Level Design Aid, “ScannerProgram”Level

Design

Picky about input: need very clean lines, near-perfect color matches.

Automates some aspects of track making (point/polygon placement).

Modifying scanner data invalidates track script (changes polygon IDs)

Leverages existing drawing tools (MsPaint, Adobe PS) as map editors.

0xFF00FF = Point0xFF0000 = Polygon Start0x00FF00 = Polygon Defn.0xFFFF00 = Player start.0x00FFFF = RegionAnything else = Ignore.

Jan 29

Brent

Track Design (1/5) – Haunted HouseLevel

Design

Level Design

Jan 30 Vision: zombies, ghosts, mansion, cave, dark night

Texture

Billboards:

•Layout mostly hand-drawn

•Attempt at a more 3D feel

Start

Brent

Track Design (2/5) – Buckeye StadiumLevel

Design

Level Design

Feb 22Vision: Ohio State, buckeyes, football players,scarlet and gray, stadium

Screen shot

Texture

Brutus:

•All track art done by Tyler

bumper

panorama of OSU stadium

Roll-over target

Start

Brent

Track Design (3/5) – Driver’s Ed.Vision: road test, orange cones, traffic signs, how-to-play demo

Basic oval layout.Added extra room to demo a combo.

Conceived as just a demo, autopilot.

As painted.

Asphalt

Yellow paint

Cones

Traffic combo Signs

Screen shot.

Instructions

Feb 15

Level Design

Ryan

Promoted to playable (week 8). Level is extremely easy!

Track Design – Aztec Gold (4/5)Vision: aztec calendar, gold coin, chichen itza, jungle, quetzalcoatl

Cipactli

Crocodile Eagle

CuauhtliItzcuintli

Dog

Daysign glyphs – CC/NonCom Marta Ramirez.

Zodiac contains 20 signs – all appear in-game.

Shape of racetrack. (alt: circle labyrinth)

Deity Billboards

Texture

Screen shot.

Feb 1

Level Design

Not shown: detailed sound design (“menagerie”)

Vision: slots, craps, poker, blackjack, roulette, strip marquees

Track Design (5/5) – VegasLevel

Design

Level Design

Texture

Marquee inspirations.Table game inspirations.

Screen shot.

March 11!

Entire map drawn in powerpoint! Then printed to file as .png. Best practice?

Ryan

Carpet & Felt surfaces.Vector art,

imitates OSU.

Periodic “mirage”. Tiling was a poor idea.

Post-MortemLines of code, by component

Asset size in MB, by map (#files)

TOTAL 24.048 MB (102 files)

Player Select(6)

OSU(5)

Aztec(28)Haunted

House(40)

Drivers School(11) Common(12)

System

Attract Loop

Physics

Scanner

Renderer

Track Scripts

UtilityDMD

TOTAL 11,572

CPU Expense, in ms.

Flash Rasterizer

Polyhedra

Mode7Lines

Billboards

Panorama

Object Collisions

Map Clipping

TOTAL 24 ms

(40 fps)

System metrics

Renderer costs more than Physics.

Wide variation in map size.

Renderer is many LOC, but >75% is reused from prior demos.

Steve

Vegas=2.5 MB =Player Select

(not shown)

What went right…Post-

Mortem

Camera easing and sonic-style rail physics feel great.

Dot matrix display captures pinball feel (it’s improv too, not in GDD)

Good teamwork, “our game”, each member can identify their contri.

Internal code reuse. Good return on engine/DMD investments.Corollary: DMD+Engine = Awesome2

External code reuse. Prior flash demos leveraged for M7/3D fx.

Expandable. Adding new map content is a relatively simple process.

Ian

Reasonable performance for 3D-ish game in flash.

New scriptable/interactable elements feasible, too. (Vegas rotary)

Fundamental mechanics in place: race, bounce, collect.

Game is totally mute when not inside simulator. (no menu beeps?)

Physics locked in 2D, planned 3D effects (jumps/rails) are missing.

Map production is overwhelming, fell short of planned # of maps.

Post-MortemWhat went wrong…

Design doc is ignorant of team composition (too much art req’d)

SVN was not the silver bullet it was expected to be.

Features were not well planned in advance.

Creation process stifled: Need to update old content with new code.

Bailed out at last minute – original music composed in beatbox/synthesizer.

Brent

If we had just 1 more week…Simple 3D tricks (camera z- as speed+, pop-up pad, stomp target)

Improve physics robustness to prevent “escapes” (NPC especially)

Hit the gas just right during Ready/Set/Go and get “speed boost”

Targets all get custom sounds, already supported programmatically.

Post-Mortem

At least 2 more maps: Pencil world, Neon, & maybe Irish.

More in game music, track specific melodies / beat mixes.

Program a deployment script. (Pick out only needed assets).

Steve

Start level with plunger charge-up feature. (related to above).