[Type the document title]

wattlexanaduΛογισμικό & κατασκευή λογ/κού

31 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

61 εμφανίσεις






The Guys

[Type the document
title]

TECHNICAL DESIGN DOCUMENT

Bernard Hwang,
Jack Nilssen
, and Darryl Spratt

5/31/2010


Contents

1.

Development Environment

................................
................................
................................
..........
5

a.

Considering Platform

................................
................................
................................
...............
5

b.

Minimal and Recommended System Requirements for PC

................................
.........................
5

2.

Engine and Tool Technologies

................................
................................
................................
......
5

a.

Engine Block Diagram

................................
................................
................................
..............
5

b.

Tool Chain Diagram
................................
................................
................................
..................
6

c.

Engine Technologies

................................
................................
................................
................
6

d.

Tool Chain

................................
................................
................................
...............................
8

3. Game Play Technologies

................................
................................
................................
..................
8

a. Main Player
................................
................................
................................
................................
.
8

b. Behavior Control

................................
................................
................................
.........................
9

c. NPC Beh
avior

................................
................................
................................
..............................
9

d. Combat and Damage System

................................
................................
................................
.......
9

e. Dynamic Environment Game Objects
................................
................................
..........................

10

f. Game Interactions

................................
................................
................................
.....................

10

g. Camera Control

................................
................................
................................
.........................

10

h. Sound / Music / Video

................................
................................
................................
...............

10

i. V
isual Effects

................................
................................
................................
.............................

10

j. Environment Data

................................
................................
................................
......................

10

k. Memory Map and File I/O

................................
................................
................................
..........

11

l. Game
-
specific Scripting

................................
................................
................................
..............

11

m. Game Progress Control

................................
................................
................................
.............

11

n. G
ame Object System

................................
................................
................................
.................

11

o. Efficiency Issues

................................
................................
................................
........................

11

4. Production Issues

................................
................................
................................
..........................

12

a. Production Flow Diagram?

................................
................................
................................
.........

12

b. Build Control System?

................................
................................
................................
...............

12

c. V
ersion Control, Asset Management, Source Control?

................................
................................
.

12

5. Development Schedule and Work Assignment

................................
................................
................

12

a. Schedules for Section 1 and 2?

................................
................................
................................
...

12

b. Technology Classification

................................
................................
................................
...........

12

c. Outsourced Work Assignments?

................................
................................
................................
.

12

6. Quality Assurance and Risk Management

................................
................................
.......................

12

a. Risk Assessment

................................
................................
................................
........................

12

b. Quality Assurance Plan

................................
................................
................................
..............

12




Version Control

Version

Date

Modified By

Revisions

1.1

May 31, 2010

JN

Completed template and
most fields



1.

Development Environment

a.

Considering Platform



The final product must be easily experienced by as wide a range of
platforms as possible.



The platform must support 3D and 2D rendered real
-
time graphics with minor texture and
lighting support.



The platform should have support for network play.



Base
-
level PC and mobile screen resolution goal of 640x480, high
-
level resolu
tion of 1600x1200.

b.

Minimal and Recommended System Requirements for PC



Runs on personal computers with either Windows 2000 or Mac OS X “Panther” 10.3.9 and
higher.



Utilizes nearly any 3D graphics card.



Browser
-
published content runs on all browsers
including IE, Firefox, Safari, and Chrome
.

2.

Engine and Tool Technologies

a.

Engine Block Diagram



The block diagram below is of a typical single
-
player 3D engine showing various sub
-
systems and
the dependence between them.


b.

Tool Chain Diagram



Visual and audio
tools link to Unity 3D development environment, which outputs to real
-
time
browser testing environment.


c.

Engine Technologies

Threading Structure



Cooperative multi
-
threading



Three
-
line coding for delays



Easy and robust

Memory
Management



Handled internally by Unity 3D

Math Library



Full C# library support

Rendering Architecture



Direct3D 9 and OpenGL



Allows access to rendering pipeline for low
-
level commands

Shaders



Powerful built
-
in system works with any type of lighting, with
cookies or without



ShaderLab language with Cg and GL SL



Full
-
screen post
-
processing effects



Water prefabs



40 built
-
in shaders ranging from simple to advanced

Lighting and Shadowing



Real
-
time shadows



Baked vertex lighting and lightmaps



Drag and drop screen
space ambient occlusion



Cookies for creating patterns



Lens flare

Camera Control



Allows user
-
created cameras with full animation, DOF and focus effects, and links to scripted
behavior

Animation



Import animations from 3D Studio Max and manipulate them with s
cript

Physics



NVIDIA PhysX engine included



Scriptless and scripted rigidbody physics



Fully
-
customizable configurable breakable joints



Ragdoll behaviors



Wheel Collider for simulating traction

AI and Behavior Control



Fully integrated editor allows
manipulation of public variables during build and test for fine
-
tuning and tweaking of behavior

Script



Uses world’s fastest JavaScript, C#, and Python Boo script interchangeably



Integrated with editor, for color
-
coding and variable adjustment



.NET Mono bas
ed

FX



Particle systems and emitters

Sound, Music, and Video



3D audio and video for positional audio, distance attenuation, and volume control



Supports all formats.



Pitch and doppler effects



Instant
-
on web streaming of audio and video

UI and HUD



Script
-
cont
rolled
UI and HUD creation

coupled with import of visual assets from Adobe
Photoshop

allows for infinite variety

Player Input Control



Scripting support for mouse, keyboard, gamepad, and touch devices

Networking



Real
-
time networking requires very little scr
ipting



State synchronization via reliable delta compression algorithms



Remote procedure calls without the need to do marshalling or other network negotiation



Synchronous and asynchronous WWW functions



Web browser integration via javascript communication wi
th full AJAX capabilities



.NET for backend connectivity

d.

Tool Chain

Level Tools



Unity 3D integrated editor allows for creation and placement of game objects in real time, via
script



Pre
-
placement of static objects also possible



Levels saved off as scenes,
accessible via easy script for player progression and game flow

Asset Creation Tools



Adobe Photoshop directly integrates with Unity for 2D assets



3D Studio Max directly integrates with Unity for drag
-
and
-
drop implementation of 3D assets



Unity 3D supports a
ll audio and video file formats for drag
-
and
-
drop implementation



Unity 3D has built
-
in simple prototyping tools, a full complement of shaders, lighting support,
and particle effects for in
-
editor visual asset creation

Previewing Environment



Unity 3D integr
ated editor allows real
-
time preview of current build with a single button press



Build preview can be paused and stopped with single button presses



Public variables and objects can be manipulated during build tests for balance and game play
tweaking

3. Gam
e Play Technologies

a. Main Player

Object Behavior Via Player Input Implementation



C# and / or Javascript



Unity compiled with public variables for testing and balancing



Player input via keyboard keystrokes, mouse movement and clicks, and gamepad button pre
sses

Navigation System



C# and / or Javascript



Unity compiled with public variables for testing and balancing



2D “tank” movement, player X rotation and forward propulsion

Attack and Defense System



C# and / or Javascript



Unity compiled with public variables
for testing and balancing



Physics and scripted behavior of rotating collection of objects



Rotation speed controlled by player



Objects ejected from orbit using player
-
controlled physics
-
based velocity

Object Interaction



C# and / or Javascript



Unity compile
d with public variables for testing and balancing



Unity
-
handled collision and trigger volumes



Scripted variable interaction to provide proximity bonuses and demerits



Physics enabled zero
-
gravity collision behavior

b. Behavior Control

Character or Object Be
havior Caused by Terrain



C# and / or Javascript



Unity compiled with public variables for testing and balancing



Tracing effect to indicate game object travel through environment



Particle based or static printing on game environment

Collision



C# and / or Jav
ascript



Unity compiled with public variables for testing and balancing



Physics based collision handled by Unity, using mass and velocity calculations

Attacking and Damaging



C# and / or Javascript



Unity compiled with public variables for testing and balanci
ng

c. NPC Behavior

Animation Transition Diagrams

NPC 1

NPC2

NPCx

Special NPC Behaviors



If there are any kinds of special behavior control scheme for NPC, please explain. ex. team
behavior, game history
-
based behavior, environment recognition based
behavior, path finding
based behavior

d. Combat and Damage System

Combat Type



Zero
-
g space
-
battles between player avatar and scripted AI opponents



Player collects orbital satellites and asteroids as an active defense



Orbitals may be launched as offensive w
eapons, trajectory is player
-
controlled

Damage Control
?

Weapon Systems
?

Player Input Recognition and Combined Attacks
?

Escape Loops



Player only has a limited amount of defense via orbitals



Orbitals may be destroyed or lost

e. Dynamic Environment Game Objec
ts



explain how to implement interactive objects and their behavior
-

ex. environment puzzle,
trampoline, trap, moving platform

f. Game Interactions

g. Camera Control



Fixed bird’s eye view forcing 2D perspective on 3D game objects



Camera translates accordin
g to player avatar position in the game world



3 levels of zoom



Furthest level represented by abstraction of game environment



Closest level for inspection of player avatar



No occlusion of player avatar from camera

h. Sound / Music / Video



Ambient sound,
background music, locational sound, event sounds all handled by Unity 3D
engine



No video components planned



All audio assets streamed from disk

i. Visual Effects



Unity 3D built
-
in particle engine handles all events in real
-
time

j. Environment Data



List of
data items included in the level data
-

ex. scene description, collision data, event triggering
and handling data, FX script data, camera data, initial positioning data for characters and props,
special data structure for rendering acceleration, etc.



List
of data items for game characters and props
-

ex. collision data, FX triggering data, animation
data, behavior script, etc.



If there are specific constraints on game data, please explain why they must be applied and how
to make game data that satisfies the
m.

k. Memory Map and File I/O



Unity 3D handles all memory management and will throw exceptions during debugging

l. Game
-
specific Scripting



Unity 3D built
-
in scripting environment handles Javascript, C#, and a Python derivative

m. Game Progress Control



Miss
ion and quest management?



Game progress save and load?

n. Game Object System



Hybrid approach: inheritance and component based



All game objects handled by script, instantiation and prefabrication



Art assets imported via Unity 3
D

o
. Efficiency Issues



Unity
3D handles all low
-
level optimization



The code does not require high
-
level optimization (outside of scope)

4. Production Issues

a. Production Flow Diagram?

b. Build Control System?

c. Version Control, Asset Management, Source Control?

5. Development Schedu
le and Work Assignment

a. Schedules for Section 1 and 2?

b. Technology Classification

Newly Implemented Technologies?

Technologies Already Implemented?

Licensed Technologies

c. Outsourced Work Assignments?

6. Quality Assurance and Risk Management

a. Risk A
ssessment

Management, Asset Creation, Technical Activities ++

Platform Specific Risks?

Risk Mitigation Plan

b
. Quality Assurance Plan

Visual Quality Assurance Plan?

System Robustness and Efficiency Assurance Plan?