Conceptual Architecture Team OMG Who we are: Nelson Yi Joshua Lee - - PowerPoint PPT Presentation

conceptual architecture team omg
SMART_READER_LITE
LIVE PREVIEW

Conceptual Architecture Team OMG Who we are: Nelson Yi Joshua Lee - - PowerPoint PPT Presentation

CISC 326 Group OMG Conceptual Architecture Team OMG Who we are: Nelson Yi Joshua Lee Hassan Haq Simon Zhang Andy Chu Percy Teng Presentation Overview 1. Introduction 2. Reference Architecture 3. Derivation Process


slide-1
SLIDE 1

Conceptual Architecture

CISC 326 Group OMG

slide-2
SLIDE 2

Team OMG

Who we are:

  • Nelson Yi
  • Joshua Lee
  • Hassan Haq
  • Simon Zhang
  • Andy Chu
  • Percy Teng
slide-3
SLIDE 3

Presentation Overview

1. Introduction 2. Reference Architecture 3. Derivation Process 4. Conceptual Architecture 5. Components 6. Use Cases 7. Game Engine 8. Conclusion 9. Q/A

slide-4
SLIDE 4

What’s so special about DOOM III?

Doom 3 is a 2004 video game developed by id Software. The game was developed using the id Tech 4 engine, a game engine also made by id Software specifically for Doom 3. Written in C++ Platforms: developed for Windows ported to Linux, Mac OS X, Xbox

slide-5
SLIDE 5

Amazing id Tech 4 Engine!

slide-6
SLIDE 6

Reference Architecture

slide-7
SLIDE 7

Main components:

  • Game Engine
  • Game Data
  • Hardware
  • User Interface
slide-8
SLIDE 8

Reference Architecture Revised

slide-9
SLIDE 9

Derivation Process

  • Look at Reference Architectures for 3D First Person

Shooter video games in general, and other similar games

  • Research different components of Doom 3 including id

Tech 4

  • Identify the dependencies between these components
  • Put it all together
slide-10
SLIDE 10

Main components:

  • Game Engine:
  • Input Engine
  • Command System
  • Event Handler
  • Artificial Intelligence
  • Physics Engine
  • Sound Engine
  • Graphics Engine (Renderer)
  • User Interface
  • Game Data
  • Hardware
  • Network
  • World
  • Audio
  • Video
slide-11
SLIDE 11

Main components:

  • Game Engine:
  • Input Engine
  • Command System
  • Event Handler
  • Artificial Intelligence
  • Physics Engine
  • Sound Engine
  • Graphics Engine (Renderer)
  • User Interface
  • Game Data
  • Hardware
  • Network

Discarded Alternatives:

  • World
  • Audio
  • Video
slide-12
SLIDE 12

Derived Architecture

slide-13
SLIDE 13

What does the system do and what is its functionality?

UI->command system -> subsequent interacting functions. Rendering system for graphics, event handler for triggering executions, file system for data storage structure, networking system for communication.

How it is broken into interacting parts?

Game Engine System Networking System Database System

slide-14
SLIDE 14

What are the parts? And how do they interact?

slide-15
SLIDE 15
slide-16
SLIDE 16

Why Object Oriented Style?

Pros: Integrity of data operations -> Addresses stability and

  • security. Critical for an AAA game.

Cons:

  • The first object must know the identity of the second
  • bject
  • Objects can cause side effect problems
slide-17
SLIDE 17

Concurrency

  • Networking system and Game Engine concurrently work together

to produce computations and data accesses, must be simultaneous

  • The Rendering Engine and Sound Engine also work concurrently
  • together. Both would produce the outcomes into the UI and

Hardware component at the same time (Sound, Visuals happen CONCURRENTLY)

slide-18
SLIDE 18

Use case: shooting a monster

slide-19
SLIDE 19

Use case: shooting a monster

slide-20
SLIDE 20

Use case: saving the game

slide-21
SLIDE 21

Sequence Diagram for Saving Game

slide-22
SLIDE 22

Networking

  • Uses Client Prediction to deal with lag
  • 1 computer is the server, all player computers are clients
  • clients send input to servers, server sends back latest

snapshot

  • Uses delta compression to save bandwidth
slide-23
SLIDE 23

Lessons learned

  • Game architectures requires a deep understanding of

genuine architectures and its sub-components and how they interact in various situations

  • Depending on the function that is being focused on, the

flow between components can be very different and so the setup of components within the architecture is key.

slide-24
SLIDE 24

Conclusion

  • Doom 3 utilizes Object-Oriented Architectural style
  • Reference Architecture and Conceptual Architecture are

quite similar

  • The Key Component that ties together the Architecture is

the Command System which deals with the information provided from the Network, Hardware and the Game Data server

  • Incorporation of Client Server and Peer-Peer interaction

relied on a risky but high reward architecture.

slide-25
SLIDE 25

Q&A