Download - Developing a 3D game using spark engine
![Page 1: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/1.jpg)
DEVELOPING A 3D GAME USING
SPARK ENGINE
Lauren Bissett, Daniel Maguire, Nicholas Woodfield
![Page 2: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/2.jpg)
BACKGROUND
![Page 3: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/5.jpg)
![Page 6: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/6.jpg)
PROJECT SCHEDULE
![Page 7: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/11.jpg)
COMPLETED FEATURES
![Page 12: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/12.jpg)
Engine ArchitectureScene graph
Rendering SystemMaterials & Lighting
AnimationInput
Content Pipeline
![Page 13: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/13.jpg)
![Page 14: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/14.jpg)
Engine ArchitectureMaterials & Lighting
Normal mappingEnvironmental mapping
Light mappingSpecular mapping
Rim lightingLight objects
![Page 15: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/15.jpg)
Diffuse Map Normal Map Specular Map
![Page 16: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/16.jpg)
![Page 17: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/17.jpg)
![Page 18: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/18.jpg)
Engine ArchitectureCollision DetectionBounding Volume Hierarchy
AABBOBB
SpherePhysics Files
Integrated with 3D Editors
![Page 19: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/19.jpg)
![Page 20: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/20.jpg)
Engine ArchitectureAnimation
GPU SkinningPlay
Speed upSlow down
Reverse
![Page 21: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/22.jpg)
ArtModels
AnimationsTextures
LevelsProps
Character
![Page 23: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/23.jpg)
ADDITIONAL FEATURES
![Page 24: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/25.jpg)
CUT FEATURES
![Page 26: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/26.jpg)
Cut Features Particle Engine
Very 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/27.jpg)
DIFFICULTIES
![Page 28: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/28.jpg)
Difficulties, General TIME!
The biggest problem is we ran out of TIME! Integration
All 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/29.jpg)
Difficulties, General Man/womanpower
Could 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/30.jpg)
Difficulties, Gameplay AI algorithms were based on a 2D
algorithm. Translation to 3D proved challenging.
![Page 31: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/31.jpg)
Difficulties, Art Lack of suitable textures
Each 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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/32.jpg)
![Page 33: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/33.jpg)
![Page 34: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/34.jpg)
Video Demonstration And now, the moment you’ve all been
waiting for… Video
![Page 35: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/35.jpg)
OVERALL ASSESSMENT
![Page 36: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/37.jpg)
So how did we do? We did, however, accomplish a LOT!
![Page 38: Developing a 3D game using spark engine](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/568164aa550346895dd6a85d/html5/thumbnails/42.jpg)
The End