neo-breakout sonhui schweitzer cs 470 spring 2005
TRANSCRIPT
![Page 1: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/1.jpg)
Neo-Breakout
Sonhui SchweitzerCS 470
Spring 2005
![Page 2: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/2.jpg)
Project Overview
• Goal– Develop an action arcade game
• Using– Visual Studio .NET 2003– 3D Studio Max 5– Photoshop CS / Illustrator CS– Cool Edit Pro
![Page 3: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/3.jpg)
Why
• Simple but contains many of the elements of game development– Rendering of graphics– Collision detection– Collision response– Sound– Particle System– UI
![Page 4: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/4.jpg)
Requirement 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
![Page 5: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/5.jpg)
Requirement 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
![Page 6: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/6.jpg)
The adventure began…
![Page 7: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/7.jpg)
Back to the basics
![Page 8: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/8.jpg)
Progress – Breakables and PowerUps
![Page 9: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/9.jpg)
Progress - Particle Effects and Sounds
![Page 10: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/10.jpg)
Progress – 2nd Level with Missile PowerUp
![Page 11: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/11.jpg)
Progress – 3rd Level
![Page 12: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/12.jpg)
Back to using the sample framework
![Page 13: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/13.jpg)
Almost a game…
![Page 14: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/14.jpg)
System Design: Simplified game flow
Setup controls (UI)Load level entitiesWhile ( !quit ){
Process input (if it exists)Update game entitiesRender gameRender UI (score, balls left)
}CleanupExit
![Page 15: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/15.jpg)
Algorithms: Collision Detection
Each object’s 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 <= 0, the collision is detected.
![Page 16: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/16.jpg)
Algorithms: Collision Response
Between two circles
Static circle
Moving ball
![Page 17: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/17.jpg)
Algorithms: 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 < 0 then, they are colliding and the collision detection begins by comparing D with the radius of the Circle. When D <= radius, collision response starts.
![Page 18: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/18.jpg)
Algorithms: Collision Detection
• In this case the dot product of V and N is > 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.
![Page 19: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/19.jpg)
Algorithms: Collision Response
![Page 20: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/20.jpg)
Algorithms: Collision Response
![Page 21: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/21.jpg)
Algorithms: Collision Response
![Page 22: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/22.jpg)
Algorithms: Fixed Intervals
![Page 23: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/23.jpg)
Algorithms: 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
![Page 24: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/24.jpg)
Tools : Cool Edit Pro for Sound Effects
![Page 25: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/25.jpg)
Tools : 3ds max for texture
![Page 26: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/26.jpg)
Tools : Photoshop for texture
![Page 27: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/27.jpg)
Resources
• 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
![Page 28: Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005](https://reader033.vdocument.in/reader033/viewer/2022051316/56649f145503460f94c28ed8/html5/thumbnails/28.jpg)
Conclusion
• 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.html