Title: Neo-Breakout
1Neo-Breakout
- Sonhui Schweitzer
- CS 470
- Spring 2005
2Project Overview
- Goal
- Develop an action arcade game
- Using
- Visual Studio .NET 2003
- 3D Studio Max 5
- Photoshop CS / Illustrator CS
- Cool Edit Pro
3Why
- Simple but contains many of the elements of game
development - Rendering of graphics
- Collision detection
- Collision response
- Sound
- Particle System
- UI
4Requirement Categories
- Basic
- Three side walls and a void
- A paddle and a ball with no acceleration
- Breakable objects in the middle area
- Power ups
- Sound effects
- Mouse input
- 1 game level and 1 difficulty level
- Basic collision detection
- Collision response
5Requirement Categories
- Enhanced
- Basic plus
- Floating objects to provide more challenging
environment - Curved spline for the path of the paddle
- A paddle and a ball with acceleration
- Floating objects that regenerate as time passes
- Paddle with missile as a power up
- Up to 5 game levels and 2 difficulty levels
- Background music
- User Interface (menus, score, etc)
- Particle effects
6The adventure began
7Back to the basics
8Progress Breakables and PowerUps
9Progress - Particle Effects and Sounds
10Progress 2nd Level with Missile PowerUp
11Progress 3rd Level
12Back to using the sample framework
13Almost a game
14System Design Simplified game flow
- Setup controls (UI)
- Load level entities
- While ( !quit )
-
- Process input (if it exists)
- Update game entities
- Render game
- Render UI (score, balls left)
-
- Cleanup
- Exit
15Algorithms Collision Detection
- Each objects bounds will be defined. Collision
detection occurs when two or more bounds
overlaps. - Between two circles
- fDistance Distance between the center of the
circles sum of radius - If fDistance is lt 0, the collision is detected.
16Algorithms Collision Response
Moving ball
Static circle
17Algorithms Collision Detection
This is a valid collision as the circle is moving
toward the line. It is detected by taking the dot
product of V and N. If it is lt 0 then, they are
colliding and the collision detection begins by
comparing D with the radius of the Circle. When
D lt radius, collision response starts.
18Algorithms Collision Detection
- In this case the dot product of V and N is gt 0
which indicates that the ball is behind the wall.
No collision detection is required. The use of D
and V for the dot product would allow a double
sided collision. Single sided collision is needed
because discrete collision detection could allow
the center of the ball to pass through the wall
making it seem like the ball is on the other side.
19Algorithms Collision Response
20Algorithms Collision Response
21Algorithms Collision Response
22Algorithms Fixed Intervals
23Algorithms Particle Systems
- Particle system is used to simulate explosions,
collision impacts, and smoke trails. - What is it?
- Made up of particles
- A particle is a small object, a triangle in this
case. - Properties of a particle
- Position
- Velocity
- Color
- Age
24Tools Cool Edit Pro for Sound Effects
25Tools 3ds max for texture
26Tools Photoshop for texture
27Resources
- Books
- 3D Game Engine Design Using DirectX 9 and C
- Physics for Game Developers
- 3D Math Primer for Graphics and Game Development
- Linear Algebra and its Applications
- SDK (Software Development Kit)
- Tutorials from DirectX 9.0c SDK
28Conclusion
- The project was a success. It was challenging
but covered many useful aspects of game
development and computer science. - I have begun to learn DirectX, 3DStudio Max, and
Cool Edit Pro. - Download my game and try it out.
- http//student.uaa.alaska.edu/assys1/NeoBreakOut.h
tml