developing a 3d game using spark engine
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 PresentationTRANSCRIPT
DEVELOPING A 3D GAME USING
SPARK ENGINE
Lauren Bissett, Daniel Maguire, Nicholas Woodfield
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:Microsoft’s XNA framework (C#).Visual Studio 2008.Additional software for art and music
development.
PROJECT SCHEDULE
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
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
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
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.
COMPLETED FEATURES
Engine ArchitectureScene graph
Rendering SystemMaterials & Lighting
AnimationInput
Content Pipeline
Engine ArchitectureMaterials & Lighting
Normal mappingEnvironmental mapping
Light mappingSpecular mapping
Rim lightingLight objects
Diffuse Map Normal Map Specular Map
Engine ArchitectureCollision DetectionBounding Volume Hierarchy
AABBOBB
SpherePhysics Files
Integrated with 3D Editors
Engine ArchitectureAnimation
GPU SkinningPlay
Speed upSlow down
Reverse
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
ArtModels
AnimationsTextures
LevelsProps
Character
ADDITIONAL FEATURES
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
CUT FEATURES
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!
DIFFICULTIES
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.
Difficulties, General
Man/womanpowerCould have gotten a lot done if we had a
small team dedicated to each development area.
Difficulties, Gameplay
AI algorithms were based on a 2D algorithm.
Translation to 3D proved challenging.
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.
Video Demonstration
And now, the moment you’ve all been waiting for…
Video
OVERALL ASSESSMENT
So how did we do?
Basically, all the pieces are there, we couldn’t put them all together in time.
So how did we do?
We did, however, accomplish a LOT!
So how did we do?
The engine is at the stage where anyone could pick up our code and build a game right now.
So how did we do?
The engine is at the stage where anyone could pick up our code and build a game right now.
So how did we do?
The game itself is not very playable, but there’s something there you can interact with.
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.
The End