Technical Components of Ponies vs. Dragons Chris Hofer, Mathew Olinger, Krit Saefang, and Tiffany Terdan Particle Effects OptionManager Unit Control Collision.

Slides:



Advertisements
Similar presentations
Sprites A sprite is a 2D image or animation that is integrated into a larger scene. Originally, sprites were created by special hardware that would super-impose.
Advertisements

Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Collision Detection and Resolution Zhi Yuan Course: Introduction to Game Development 11/28/
SmashBlasters Chau Vo, David Huynh, Lowell Bateman, William Kentris Department of Computer Science and Engineering The Ohio State University Modeling Physics.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue.
Prometheus Design Tool (CAFnE Extension) v0.1: WeatherApplication.pd PDT/CAFnE Workspace is organized into four main panes Component Descriptor pane contains.
Chris Orona CS 491B June 2, High Score Score 200 Game Components Introduction Storyline Objective System Game threads Scheduling Characters.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model Dr. Bernard Chen Ph.D. University of Central Arkansas.
Lua & Love2D Game Engine GALAGUH
CSE 380 – Computer Game Programming AI & Collision Strategy Erin Catto’s Box2D.
UFCEKU-20-3Web Games Programming Unity 3D Physics Colliders and Object Collisions.
Antigone Engine Kevin Kassing – Period
Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.
Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
VIDEO GAME PROGRAMMING Video Game Programming Junior – DigiPutt INSTRUCTOR TEACHER’S ASSISTANT.
Mobile Robotics Laboratory Institute of Systems and Robotics ISR – Coimbra 3D Hand Trajectory Segmentation by Curvatures and Hand Orientation for Classification.
CSE 381 – Advanced Game Programming Quickhull and GJK.
Developing the Game User Interface (UI) Lesson 5.
Description, Classes, Interfaces, Hierarchy, Specifics George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Web Games Programming An Introduction to Unity 3D.
UFCFS D Technologies for the Web Unity 3D: Review of Topics and Related Concepts.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
11 Adding Tomato Targets Session Session Overview  We now have a game which lets a player bounce a piece of cheese on a bread bat  Now we have.
CPSC 871 John D. McGregor Module 7 Session 1 More UML.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Game Maker Terminology
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Game Creation in XNA CS470 Final Project Chris Ragland.
UFCEK-20-3Web Games Programming Unity 3D: Review of Topics Publishing for the Web.
Rawhide Frontier Ctrl + Y John Battagline, Paul Betts, Aaron Cardwell, Jordan Lehmiller, Kyle Moore, John Scott.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Additional Design Patterns for Games For CSE 3902 Matt Boggus.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
1 CSE 331 Model/View Separation and Observer Pattern slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Dr Nick Mitchell (Room CM 224)
The Quantum Avenger An Application of Object Oriented Design Principles in Game Development Andres Calderon Jaramillo - Dr. Hong K. Sung (Faculty Advisor)
Tank Game Part 3 of 6. Secondary Weapons and Pick ups Pick ups will appear randomly in the battle area and can be collected by driving into them. Each.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
The Stingray Example Program CMT3311. Stingray - an example 2D game May be useful as a simple case study Most 2D games need to solve generic problems.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Chapter 14 Part 1: Core Game Mechanics By Nolan Driessen.
Welcome! Day1, Lesson 1.
Quick Intro to Unity Lecture 2.
Data Modeling Using the Entity- Relationship (ER) Model
Additional Design Patterns for Games
3GB3 Game Design Unity 3D Basics.
More (C#) Scripting Day 2, Lesson 1.
Keyboard Input.
The Object-Oriented Thought Process Chapter 09
Object-Oriented Systems Analysis and Design Using UML
Ogre Overview.
Understanding an App’s Architecture
SECTIONS: Abilities - nick Co-op AI - nick Enemy AI - josh
CH#3 Software Designing (Object Oriented Design)
Arrays
Chapter 2 Role of Information Systems in Organizations Link 2
Myo + Oculus Rift Tutorial
Extended Learning Module G
Collision Detection.
Chapter 14 Part 1: Core Game Mechanics By Nolan Driessen
Games Development Game Architecture: Entities
Unity Game Development
Unity Game Development
Unity Game Development
Presentation transcript:

Technical Components of Ponies vs. Dragons Chris Hofer, Mathew Olinger, Krit Saefang, and Tiffany Terdan Particle Effects OptionManager Unit Control Collision Detection Figure 3 – Diagram of Class Structure for Controlling Units In order to perform collision detection, we first generate an axis-aligned bounding box (AABB) around the model in object space by finding the min and max vertices in object space. Then we can wrap an oriented bounding box (OBB) around the AABB and apply the model’s world transformation to it. Options for the game such as the base health of each unit, cooldowns for abilities, and initial placement of towers are stored in an XML file. This allows for changing game settings in a central location and without rebuilding the source every time a change needs to be made. All particle effects in the game are handled by the ParticleManager class. This class is responsible for creating and updating all the effects seen in the game. The effects are sub- divided into individual system classes that handle how certain particle types behave. A separated emitter class, also managed by the ParticleManager, is responsible for keeping track of the particle effects’ locations and interpolating points between positions to allow for a smooth line of effects for moving objects. A helper class called ParticleSettings is employed to allow for small changes in each particle effect system, such as their scale, size, texture, and color. There are six controller classes. Two of the them allow a hero to be controlled with either a keyboard and mouse or a gamepad. These are used for enabling player control of a hero. The other four are for the AI. UnitModel and its inheritors have methods for listening to the IInputHandler events. The ModelManager connects these together UpgradeManager During the course of the game, each player may purchase upgrades. These upgrades are managed by an UpgradeManager class. Units can use this class to determine which upgrades should be applied to them at any time. Whenever an upgrade is purchased, we enumerate though all existing units to retroactively apply it. Modifiers To control things such as pickups, upgrades, and even damage from attacks, we opted to use a modifier system that can be applied to any UnitModel. A modifier changes an attribute such as the health of a unit and can be momentary or persistent. For instance, when a projectile hits a creep, the projectile applies a health modifier that removes a certain amount of health from the creep’s available health. ModelManager All game entities are tracked by the ModelManager class. The ModelManager is passed between interested classes and keeps track of the location and state of each entity and is responsible for updating all of them. Figure 1 – Screenshot of Particle Effects in Action Figure 4 – Upgrade Screen Class Hierarchy for Game Entities Figure 2 shows the basic class hierarchy for all of the game entities. As you can see this describes the behavior for the cities, creeps, heroes, towers, projectiles, and pickups. The most base class BasicModel describes basic behavior for drawing to the screen and colliding with other objects. UnitModel describes further behavior that gives an entity health and other stats, allows modifiers and abilities to be attached to it, allows a controller to control it, etc. Figure 2 – Class Hierarchy for Game Entities