game10_03sys

Embed Size (px)

Citation preview

  • 7/27/2019 game10_03sys

    1/36

    System Analysis forSystem Analysis for

    2010, Build 12010, Build 1

    [email protected]@me.comhttp://public.me.com/cwang001http://public.me.com/cwang001

    1

  • 7/27/2019 game10_03sys

    2/36

    Mind mapMind map

    Game SystemGame System

    2

  • 7/27/2019 game10_03sys

    3/36

    Why System Analysis (1/2)Why System Analysis (1/2)

    For Program StructureFor Program Structure Analysis (Analysis ()) Program modulusProgram modulus

    Tools neededTools needed

    To Identify Work Load (To Identify Work Load ()) ow muc co e o e oneow muc co e o e one

    What tools to be developed ?What tools to be developed ?

    Man month ? (Man month ? ()) How many programmers ?How many programmers ?

    Development tools ?Development tools ?

    Specific requirements ?Specific requirements ?

    3

  • 7/27/2019 game10_03sys

    4/36

    Why System Analysis (2/2)Why System Analysis (2/2)

    To Analyze Technical ImplementTo Analyze Technical Implement PossibilityPossibility

    R&DR&D

    WorkWork--flowflow rere--processor orprocessor or

    Game / technical design document (GDD/TDD)Game / technical design document (GDD/TDD)

    4

  • 7/27/2019 game10_03sys

    5/36

    Something about System AnalysisSomething about System Analysis

    Its Not a Theory, Just Something Must Be Done!Its Not a Theory, Just Something Must Be Done!

    Po ular Solutions :Po ular Solutions :

    UMLUML

    Mind map (Mind map ()) This is the one we will use for this courseThis is the one we will use for this course

    5

  • 7/27/2019 game10_03sys

    6/36

    System Analysis StepsSystem Analysis Steps

    Integration (Integration ()) De endenc Anal sisDe endenc Anal sis

    Create the Project (Create the Project ()) Write the Design Document (Write the Design Document ())

    6

  • 7/27/2019 game10_03sys

    7/36

    BrainstormingBrainstorming

    Mind mapMind map

    Based on the Game Design to Put Everything in Structure As Many AsBased on the Game Design to Put Everything in Structure As Many As

    You CanYou Can

    IncludingIncluding

    Combat / Village / Puzzle / Combat / Village / Puzzle /

    Pro ram modulusPro ram modulus

    Camera / PC control / NPC AI / UI / FX /Camera / PC control / NPC AI / UI / FX / ToolsTools

    Level editor / Scene editor / Level editor / Scene editor /

    Entities in gamesEntities in games

    Technical hiTechnical hi--lightslights

    7

  • 7/27/2019 game10_03sys

    8/36

    IntegrationIntegration

    Technical Implement PossibilityTechnical Implement Possibility

    Connect All Related Items TogetherConnect All Related Items Together

    Remove Redundant ItemsRemove Redundant Items

    Jobs / System IdentificationJobs / System Identification an on na ys san on na ys s

    BudgetsBudgets

    Who ?Who ?

    8

  • 7/27/2019 game10_03sys

    9/36

    Dependency AnalysisDependency Analysis

    By dependencyBy dependency

    By human resourceBy human resource

    Prototype for schedulingPrototype for scheduling

    The Step That Always Is Ignored by EveryoneThe Step That Always Is Ignored by Everyone o ng goo w ma e e sc e u e prac cao ng goo w ma e e sc e u e prac ca

    Reduce unnecessary risksReduce unnecessary risks

    9

  • 7/27/2019 game10_03sys

    10/36

    Create the ProjectCreate the Project

    Job Assignment (Job Assignment ()) Resource Allocation (Resource Allocation ()) Check pointsCheck points

    MilestonesMilestones s anagemen o cys anagemen o cy

    10

  • 7/27/2019 game10_03sys

    11/36

    Writing Design DocumentWriting Design Document

    Game design documentGame design document

    MDDMDD

    Media design documentMedia design document

    TDDTDD

    11

  • 7/27/2019 game10_03sys

    12/36

    Mind mapMind map

    A Radiant Thinking ToolA Radiant Thinking Tool

    ApplicationsApplications

    Proposal (Proposal (

    ))

    System AnalysisSystem Analysis

    ReferenceReference

    Pro ramPro ram

    VisioVisio

    MindManagerMindManager

    Tony Buzan, Barry Buzan, Tony Buzan, Barry Buzan, The Mind Map Book: How toThe Mind Map Book: How toUse Radiant Thinking to Maximize Your Brain'sUse Radiant Thinking to Maximize Your Brain'sUntapped PotentialUntapped Potential

    12

  • 7/27/2019 game10_03sys

    13/36

    13

  • 7/27/2019 game10_03sys

    14/36

    Mindmap ToolsMindmap Tools

    Developed ByDeveloped By MindJetMindJet

    MindMana erMindMana er DemoDemo

    14

  • 7/27/2019 game10_03sys

    15/36

    Game SystemsGame Systems

    Control & camera systemControl & camera system

    Combat systemCombat system

    Reward systemReward system

    Game FXsGame FXs eve seve s

    Village systemVillage system

    The main programThe main program

    15

  • 7/27/2019 game10_03sys

    16/36

    Game Control System (1/2)Game Control System (1/2)

    ..

    Game control is not only input device control but also the cameraGame control is not only input device control but also the camera

    controlcontrol

    Input device controlInput device control

    On PCOn PC

    KeyboardKeyboard

    Game adGame ad

    On game consoleOn game console Gamepad buttonsGamepad buttons

    0 or 2550 or 255

    JoystickJoystick

    --

    16

  • 7/27/2019 game10_03sys

    17/36

    Game Control System (2/2)Game Control System (2/2)

    FirstFirst--personal viewpersonal view

    ThirdThird--personal viewpersonal view

    God viewGod view

    PrePre--set camera viewset camera view cc

    17

  • 7/27/2019 game10_03sys

    18/36

    Mouse Control (1/3)Mouse Control (1/3)

    ..

    22--axis movingaxis moving

    Related movementRelated movement

    2 or 3 buttons2 or 3 buttons

    Mouse can :Mouse can : oveove

    DragDrag

    --

    BehaviorsBehaviors

    Hit testHit test

    SelectionSelection

    PilotPilot

    os on or en a onos on or en a on

    18

  • 7/27/2019 game10_03sys

    19/36

    Mouse Control (2/3)Mouse Control (2/3)

    RealReal--time strategy gamestime strategy games

    Role Playing GameRole Playing Game

    Typical game play examples :Typical game play examples :

    Path finding for playable characterPath finding for playable character ng e enemyng e enemy

    Selecting a group of unitsSelecting a group of units

    Menu selectionMenu selection

    FeaturesFeatures

    Always coupling with godAlways coupling with god--view camera controlview camera control

    ew ng rom e op o game worew ng rom e op o game wor

    19

  • 7/27/2019 game10_03sys

    20/36

    Mouse Control (3/3)Mouse Control (3/3)

    Slow actionSlow action

    Compared with joystickCompared with joystick

    Value range fromValue range from --32727 ~ 3272732727 ~ 32727

    20

  • 7/27/2019 game10_03sys

    21/36

    Keyboard Control (1/3)Keyboard Control (1/3)

    an ar npu ev cean ar npu ev ce Simulating the gamepadsSimulating the gamepads

    Using keyboard as the alternative deviceUsing keyboard as the alternative device

    Hotkey systemHotkey system Each key has two states.Each key has two states.

    PressedPressed

    e easee ease

    256 keys256 keys

    BehaviorsBehaviors

    Key presses/releasedKey presses/released

    ASCII codeASCII code One hotkey can represent a set of commandsOne hotkey can represent a set of commands

    Very fast input deviceVery fast input device

    21

  • 7/27/2019 game10_03sys

    22/36

    Keyboard Control (2/3)Keyboard Control (2/3)

    Typing messagesTyping messages

    Typical game types using keyboardTypical game types using keyboard

    MMORPGMMORPG

    Needs chatting with friendsNeeds chatting with friends eaea -- me s ra egy gamesme s ra egy games

    Hotkey systemHotkey system

    --

    Fighting gamesFighting games

    Typical game play examples :Typical game play examples :

    ChattingChatting

    Character controlsCharacter controls

    ove orwarove orwar

    TurningTurning

    22

  • 7/27/2019 game10_03sys

    23/36

    Keyboard Control (3/3)Keyboard Control (3/3)

    Shortcut for a sequence of actionsShortcut for a sequence of actions

    CommandsCommands

    Menu selectionMenu selection

    But a little bit complicated for playersBut a little bit complicated for players eyseys

    23

  • 7/27/2019 game10_03sys

    24/36

    Gamepad Control (1/3)Gamepad Control (1/3)

    Gamepad can map to the hotkey systemGamepad can map to the hotkey system

    Same behaviorsSame behaviors

    ess an eysess an eys

    Majors keys :Majors keys :

    24

  • 7/27/2019 game10_03sys

    25/36

    Gamepad Control (2/3)Gamepad Control (2/3)

    For buttonsFor buttons

    Value range : 0 or 255Value range : 0 or 255

    For joystickFor joystick

    Value range : 0 to 255Value range : 0 to 255 yp ca game ypes us ng gamepayp ca game ypes us ng gamepa

    Almost all types of games exceptAlmost all types of games except

    Need largeNeed large--range selection for game unitsrange selection for game units Typical game play examples :Typical game play examples :

    Character controlsCharacter controls

    Move forwardMove forward

    urnurn

    25

  • 7/27/2019 game10_03sys

    26/36

    Gamepad Control (3/3)Gamepad Control (3/3)

    Move forwardMove forward

    TurnTurn

    FeaturesFeatures es gne or game p ay nges gne or game p ay ng

    Look and feelLook and feel

    --

    If you not to challenge the players usual practiceIf you not to challenge the players usual practice

    26

  • 7/27/2019 game10_03sys

    27/36

    Camera ControlCamera Control

    FirstFirst--personal viewpersonal view

    ThirdThird--personal view but following the playable characterpersonal view but following the playable character

    God viewGod view

    FixedFixed o ow ng e p aya e c arac ero ow ng e p aya e c arac er

    Fixed viewFixed view

    --

    PrePre--set viewset view

    Very sensitive to game play design & game controlVery sensitive to game play design & game control

    Camera control is not an independent systemCamera control is not an independent system

    27

    G dG d i C E li C E l

  • 7/27/2019 game10_03sys

    28/36

    GodGod--view Camera Exampleview Camera Example

    Age of Empire 328

    C b t S t (1/4)C b t S t (1/4)

  • 7/27/2019 game10_03sys

    29/36

    Combat System (1/4)Combat System (1/4)

    Take the action game as our exampleTake the action game as our example

    ControlsControls

    AttackAttack

    StunStun e ene en

    ParryParry

    Motion management and blendingMotion management and blending NPC AINPC AI

    FXFX

    VisualVisual

    u ou o

    29

    C b t S t (2/4)C b t S t (2/4)

  • 7/27/2019 game10_03sys

    30/36

    Combat System (2/4)Combat System (2/4)

    30

    C b t S t (3/4)C b t S t (3/4)

  • 7/27/2019 game10_03sys

    31/36

    Combat System (3/4)Combat System (3/4)

    Motion blending in runtimeMotion blending in runtime

    A popular solutionA popular solution -- Blend treeBlend tree

    GGameame DevelopersDevelopers Conference 2003Conference 2003

    PProceedingsroceedings CD, Programming TrackCD, Programming Track n mat onn mat on en ng : c ev ng nverse nemat cs an oreen ng : c ev ng nverse nemat cs an ore

    JJerryerry EdsallEdsall

    Fall Transition

    Forward

    Motion

    Fall

    Down

    un

    31

    Combat System (4/4)Combat System (4/4)

  • 7/27/2019 game10_03sys

    32/36

    Combat System (4/4)Combat System (4/4)

    Finite state machineFinite state machine

    Making decisionMaking decision

    Steering behaviorSteering behavior

    Steering controlSteering control roup movementroup movement

    Path findingPath finding

    FXFX Combat FXCombat FX

    A game without FX is likely a man walking on street in nude.A game without FX is likely a man walking on street in nude.

    32

    Reward SystemReward System

  • 7/27/2019 game10_03sys

    33/36

    Reward SystemReward System

    Level upLevel up

    Experience pointsExperience points

    InventoryInventory

    RecoveryRecovery amageamage

    Mission completeMission complete

    33

    User InterfaceUser Interface

  • 7/27/2019 game10_03sys

    34/36

    User InterfaceUser Interface

    DialogueDialogue

    PicturesPictures

    MiniMini--mapmap

    Blood barBlood bar apt onapt on

    MessagesMessages

    34

    Village SystemVillage System

  • 7/27/2019 game10_03sys

    35/36

    Village SystemVillage System

    Script queryScript query

    Information exchangeInformation exchange

    TradingTrading

    ReinforceReinforce estest

    35

    Cheat Code SystemCheat Code System

  • 7/27/2019 game10_03sys

    36/36

    Cheat Code SystemCheat Code System

    Jump levelJump level

    Number system testingNumber system testing

    Barrow inventoryBarrow inventory

    Game house keepingGame house keeping ame ata e t ngame ata e t ng

    DebuggingDebugging

    36