developing a 3d game using spark engine

42
DEVELOPING A 3D GAME USING SPARK ENGINE Lauren Bissett, Daniel Maguire, Nicholas Woodfield

Upload: yetta-owen

Post on 31-Dec-2015

40 views

Category:

Documents


1 download

DESCRIPTION

Lauren Bissett, Daniel Maguire, Nicholas Woodfield. Developing a 3D game using spark engine. Background. Background. Two overall goals: Expand upon 3D game engine built last semester. Create a fun, interactive game built on top of the engine. Background. Using: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Developing a 3D game using spark engine

DEVELOPING A 3D GAME USING

SPARK ENGINE

Lauren Bissett, Daniel Maguire, Nicholas Woodfield

Page 2: Developing a 3D game using spark engine

BACKGROUND

Page 3: Developing a 3D game using spark engine

Background

Two overall goals:Expand upon 3D game engine built last

semester.Create a fun, interactive game built on top of

the engine.

Page 4: Developing a 3D game using spark engine

Background

Using:Microsoft’s XNA framework (C#).Visual Studio 2008.Additional software for art and music

development.

Page 5: Developing a 3D game using spark engine
Page 6: Developing a 3D game using spark engine

PROJECT SCHEDULE

Page 7: Developing a 3D game using spark engine

2. Schedule, Lauren

Feature January February March April

Design •Floor plans•Character design•Content list

•More floor plans

Modeling •Playable character model based on character design•Level building•Prop building

•Level building•Prop building

•Level building•Prop building

Rigging •Generic skeleton•Rig generic skeleton

•Tweak rig for playable character

Animation •Assist in content pipeline development and testing by providing custom animations

•Walk cycle •Animate •Animate

Game •Lighting•Staging

•Lighting•Staging

Page 8: Developing a 3D game using spark engine

2. Schedule, Dan

Feature January February March April

Game •Puzzle design •Research•Investigate game architecture•Gameplay

•Inventory System•UI•Gameplay

•Gameplay

AI •Path finding•Line of sight•Research

•Decision system•Path finding•Line of sight

•Decision system

Audio •Sound effects•Background music

•Sound effects•Background music

•Sound effects•Background music

Page 9: Developing a 3D game using spark engine

2. Schedule, NicholasFeature January February March April

Engine •Lighting•Normal Mapping•Content Pipeline•Animation Research •General Architecture•Code Rewrites•Documentation

•Animation Package•Particle Effects System•Specular mapping•Parallax mapping (?)•Environmental mapping

•Honors Thesis •Honors Thesis

Lighting •Per-pixel implementation •Further development•Optimization•Portability

Particle Effects

•Basic particle system•Fire•Dust•Etc.

•Game-specific effects using system

Continue

Game •Foundation•More robust collision/physics

•Specific gameplay mechanics•Stairs

Continue

Page 10: Developing a 3D game using spark engine

2. Schedule, Analysis

Schedule only started to fall apart toward the end of the semester.

Got most individual items done! It was only the final integration that fell

behind.

Page 11: Developing a 3D game using spark engine

COMPLETED FEATURES

Page 12: Developing a 3D game using spark engine

Engine ArchitectureScene graph

Rendering SystemMaterials & Lighting

AnimationInput

Content Pipeline

Page 13: Developing a 3D game using spark engine
Page 14: Developing a 3D game using spark engine

Engine ArchitectureMaterials & Lighting

Normal mappingEnvironmental mapping

Light mappingSpecular mapping

Rim lightingLight objects

Page 15: Developing a 3D game using spark engine

Diffuse Map Normal Map Specular Map

Page 16: Developing a 3D game using spark engine
Page 17: Developing a 3D game using spark engine
Page 18: Developing a 3D game using spark engine

Engine ArchitectureCollision DetectionBounding Volume Hierarchy

AABBOBB

SpherePhysics Files

Integrated with 3D Editors

Page 19: Developing a 3D game using spark engine
Page 20: Developing a 3D game using spark engine

Engine ArchitectureAnimation

GPU SkinningPlay

Speed upSlow down

Reverse

Page 21: Developing a 3D game using spark engine

Artificial Intelligence•Check visibility

• Rectangle intersections• Corner intersections

•Lion Move• If visible, move toward player

• Newly visible?• Roar• Fresh in Memory

• Go towards player• Check for collisions

•If not visible• Forgotten?

• Sleep• Slightly remember?

• Forget a little more• Pursue (choose viewpoint)• Check for collisions

•If frozen, move around object

Page 22: Developing a 3D game using spark engine

ArtModels

AnimationsTextures

LevelsProps

Character

Page 23: Developing a 3D game using spark engine

ADDITIONAL FEATURES

Page 24: Developing a 3D game using spark engine

No heap allocation per frameAvoiding excessive garbage collection

Allocate everything up frontValue types

Avoiding box/unboxing w/ enums/intsRender queue

Reduce state switchingCache states

Optimizations

Page 25: Developing a 3D game using spark engine

CUT FEATURES

Page 26: Developing a 3D game using spark engine

Cut Features

Particle EngineVery complex.Not enough time to implement correctly.Would have meant cutting other features.

Inventory System UI

The ability is there, but ran out of time!

Page 27: Developing a 3D game using spark engine

DIFFICULTIES

Page 28: Developing a 3D game using spark engine

Difficulties, General

TIME!The biggest problem is we ran out of TIME!

IntegrationAll the pieces are there, but we lacked time

to fit them together.We ran out of time for integration.

Page 29: Developing a 3D game using spark engine

Difficulties, General

Man/womanpowerCould have gotten a lot done if we had a

small team dedicated to each development area.

Page 30: Developing a 3D game using spark engine

Difficulties, Gameplay

AI algorithms were based on a 2D algorithm.

Translation to 3D proved challenging.

Page 31: Developing a 3D game using spark engine

Difficulties, Art

Lack of suitable texturesEach texture needs a diffuse, normal and

specular map.Could only find a handful of suitable

textures.Painting by hand is too time-consuming.Resulted in lots of tiling, which makes the art

looks overdone and bland. Inexperience

Apparently this art stuff is kind of difficult.

Page 32: Developing a 3D game using spark engine
Page 33: Developing a 3D game using spark engine
Page 34: Developing a 3D game using spark engine

Video Demonstration

And now, the moment you’ve all been waiting for…

Video

Page 35: Developing a 3D game using spark engine

OVERALL ASSESSMENT

Page 36: Developing a 3D game using spark engine

So how did we do?

Basically, all the pieces are there, we couldn’t put them all together in time.

Page 37: Developing a 3D game using spark engine

So how did we do?

We did, however, accomplish a LOT!

Page 38: Developing a 3D game using spark engine

So how did we do?

The engine is at the stage where anyone could pick up our code and build a game right now.

Page 39: Developing a 3D game using spark engine

So how did we do?

The engine is at the stage where anyone could pick up our code and build a game right now.

Page 40: Developing a 3D game using spark engine

So how did we do?

The game itself is not very playable, but there’s something there you can interact with.

Page 41: Developing a 3D game using spark engine

So how did we do?

As a group, we consider the underlying

code and art a success, but the lack of final integration our only weak point.

Overall, we are satisfied.

Page 42: Developing a 3D game using spark engine

The End