Graphics Qubed - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Graphics Qubed

Description:

A integer key describing tile types. 0 Empty. 1, 3, 5 Individual Wall Types ... Placed over a flat floor tile. Textured to look like a 3D object. Levers, keys ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 18
Provided by: muc
Category:
Tags: floor | graphics | qubed | tile

less

Transcript and Presenter's Notes

Title: Graphics Qubed


1
Graphics Qubed
  • SCE Presentation of
  • Epoch Relic of Time

2
Introduction
  • Team Graphics Qubed
  • Roles
  • Team Leader ( Audrey Wells )
  • Lead Architect and Tester ( Sean Matthews )
  • Configuration Manager ( Peter Dudek )
  • Project
  • 3D Graphical Computer Game
  • Epoch Relic of Time

3
Outline of Main Points
  • Initial Goals
  • System Structure and Design
  • System Features
  • Problems Encountered
  • Demonstration of Game

4
Initial Goals Completed
  • Simple 3D Adventure-RPG Game
  • Multiple levels, each containing several rooms
  • Variety of textures to make interesting levels
  • Objects and characters to interact with
  • User Interface for inventory objects
  • Story screens between levels

5
Initial Goals Eliminated
  • Artificial Intelligence for characters
  • Health levels and other player statistics
  • Hazards that lower player health
  • Expanded User Interface

6
System Structure and Design
  • Object-Oriented Design
  • Tools
  • C Programming Language
  • OpenGL Widely used API (Application
    Programming Interface) for 2D and 3D graphics
  • Object Classes
  • Interface Class
  • COGLTexture Class
  • Main Module
  • Level Class
  • Tile Class
  • Player Class
  • Item Class

7
OpenGL Sample Code
  • void TiledrawPit(int x, int y, COGLTexture
    tex)
  • float t tileSize
  • tex.SetActive()
  • glColor3f(1.0, 1.0, 1.0)
  • glBegin(GL_POLYGON)
  • glTexCoord2f(0, 0)
  • glVertex3f(t x, -t, t y)
  • glTexCoord2f(0, 1)
  • glVertex3f(t x t, -t, t y)
  • glTexCoord2f(1, 1)
  • glVertex3f(t x t, -t, t y t)
  • glTexCoord2f(1, 0)
  • glVertex3f(t x, -t, t y t)
  • glEnd()

8
System Structure and Design
  • Level Design
  • 2D arrays of data
  • A integer key describing tile types
  • 0 Empty
  • 1, 3, 5 Individual Wall Types
  • 2, 4, 6 Individual Floor Types
  • 7 Tree
  • 8 Pit
  • 9 Special Floor

9
Level Array Sample Code
  • int roomSix1515
  • 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  • 0,0,0,0,0,3,3,3,3,3,0,0,0,0,0, 0,0,0,0,3,3,4,
    4,4,3,3,0,0,0,0, 0,0,0,3,3,4,4,4,4,4,3,3,0,0,0
    , 0,0,3,3,4,4,4,4,4,4,4,3,3,0,0, 0,3,3,4,4
    ,4,3,4,3,4,4,4,3,3,0, 0,3,4,4,4,3,3,4,3,3,4,4,
    4,3,0, 0,3,4,4,4,3,4,4,4,3,4,4,4,3,0, 0,3,
    4,4,4,3,4,4,4,3,4,4,4,3,0, 0,3,3,4,4,3,3,3,3,3
    ,4,4,3,3,0, 0,0,3,3,4,4,4,4,4,4,4,3,3,0,0,
    0,0,0,3,3,4,4,4,4,4,3,3,0,0,0, 0,0,0,0,3,3,4,
    4,4,3,3,0,0,0,0, 0,0,0,0,0,3,3,3,3,3,0,0,0,0,0
    , 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

10
Level Array Sample
11
System Structure and Design
  • Game Scripting
  • Overview of scripting
  • Very verbose and tedious!
  • Player Scripting
  • Keep track of player coordinates
  • and direction
  • Item and tile collision
  • Switching between rooms in a level
  • Item Scripting
  • Assigning certain tasks to items
  • Pop-up dialogue boxes
  • Very verbose and tedious

12
Item Scripting Sample Code
  • if(door.isItemInRoom())
  • if(isItemInWay(door, pX, pY, pDir)
    avatar.getHasBronzeKey())
  • door.setItemInRoom(false)
  • door.setItemUsed(true)
  • bronzeKey.setItemInInventory(false)
  • bronzeKey.setItemUsed(true)
  • theInterface.setLeftTexture(leftInterfaceTex)
  • avatar.setHasBronzeKey(false)
  • //Load pop-up Door is unlocked
  • else if(isItemInWay(door, pX, pY, pDir))
  • //Load pop-up Door is locked

13
System Features
  • Texture Mapping The process of superimposing a
    2D texture or pattern over the surface of a 3D
    graphical object. This is an efficient method for
    producing the appearance of texture, such as that
    of wood or stone, on a large surface area.

14
System Features
Items placed throughout the games environment
add variety and interactivity.
  • 3D Items
  • Multiple planes in 3D space
  • Doors, stairs, characters
  • 2D Items
  • Placed over a flat floor tile
  • Textured to look like a 3D object
  • Levers, keys

15
System Features
  • Level Design
  • Using tile types to create a
  • variety of environments
  • Levels have unique time themes
  • Level Puzzles
  • Interacting with other characters
  • Using objects to accomplish goals
  • Navigating complex terrain

16
Problems Encountered
  • Creating class structure
  • Setting up OpenGL 3D space
  • Enabling texture-mapping
  • Running out of texture memory
  • Time constraints
  • Prevented us from adding audio and additional
    levels (especially bigger, better, and more
    challenging ones)

17
Project Demonstration
Write a Comment
User Comments (0)
About PowerShow.com