TECHNICAL POSTER Laser reactant objects Interactive Doors and Saving

Slides:



Advertisements
Similar presentations
DLC-MODS Workbook 1.2 Pinky says, “Hello.” Presented by University of Tennessee Libraries Digital Library Center Melanie Feltner-Reichert, Metadata Librarian.
Advertisements

Intro to Game Development An introduction to Swing, Java2D, JOGL, and game design Created by: Dennis Lawter and Dustin Scott.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Task 2 P3, P4, P5 Gladys Nzita-Mak.
EnSight analyze, visualize, communicate EnSight 6.x Advanced Training Part 1 Instructors: Mike Krogh, Anders Grimsrud.
XP Tutorial 5 Buttons, Behaviors, and Sounds. XP New Perspectives on Macromedia Flash MX Buttons Interactive means that the user has some level.
Introduction to TouchDevelop
Working with iMovie: The Basics Created by MJ. Importing Video Footage attach your camera to your computer and set to VTR mode move the camera button.
Rujchai Ung-arunyawee Department of Computer Engineering Khon Kaen University.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 13 Wenbing Zhao
Description, Classes, Interfaces, Hierarchy, Specifics George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
Web Games Programming An Introduction to Unity 3D.
Game Maker Terminology
Chapter 2 – Introduction to the Visual Studio .NET IDE
Building the Events Components– Lesson 111 Building the Events Components Lesson 11.
 The TenCup Entertainment Table is an interactive table that enhances the game-play experience of Beirut for both the player and the spectator.
INTERFACE COMPOSITION GAME DESIGN. OBJECTIVES After this lesson, students will be able to: Identify the Eight Golden Rules of Human-Computer Interface.
The desktop (overview) Working with desktop icons The desktop is the main screen area that you see after you turn on your computer and log on to Windows.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Animations & Multimedia LESSON 9 #2.09 USING ANIMATION AND MULTIMEDIA.
Microsoft® PowerPoint  Entrance. Controls how an object first appears on a slide.  Emphasis. Draws attention to an object that is already.
Game Development with Unity3D
Salevich Alex & Frenkel Eduard Virtual Reality interior designer
Course Summary Xcode & iPhone Simulator
EEC-693/793 Applied Computer Vision with Depth Cameras
Quick Intro to Unity Lecture 2.
The Caps Lock Key When you press this key, a small light on the keyboard comes on. Whenever this light is on, any letter key you press will result in.
PowerPoint PowerPoint is used for creating slideshows that accompany speeches, lectures, or other types of presentations. Slides can include text, images,
VAB™ for INFINITY Tutorial
3GB3 Game Design Unity 3D Basics.
Designing and Developing Games
Scratch for Interactivity
Managing The Internet of Things
EEC-693/793 Applied Computer Vision with Depth Cameras
Chapter 2 – Introduction to the Visual Studio .NET IDE
VIAPPL Instructions How to set up an experiment
Computer Architecture
Eclipse Navigation & Usage.
Enhancing Your Presentation with Multimedia
Week 12 Option 3: Database Design
PowerPoint: Tables and Charts
How to Create an Animoto Video
Basic operations in Matlab
Introduction to Events
Engineering Innovation Center
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Dayton Metro Library Computer Basics September 19, 2018
Dark Solid and Light Solid
EEC-693/793 Applied Computer Vision with Depth Cameras
Aaron Camm, Jeff Huggins, Steve Moskal, Patrick Cardwell
Module 1: Getting Started with Windows 95
Microsoft Windows 2000 Professional
Animate Workspace. Objective % Utilize appropriate tools and methods to produce digital animation.
Intermediate game making
PC01 Term 3 Project Snake. PC01 Term 3 Project Snake.
Dayton Metro Library Place photo here Computer Basics December 8, 2018.
Multithreaded Programming
Week 6: Time and triggers!
EEC-693/793 Applied Computer Vision with Depth Cameras
Using Animation and Multimedia
Creating a Simple Game in Scratch
ANIMATE WORKSPACE Stage Timeline Properties Panel Library Panel
Fall 2198 SmarterProctoring in Canvas Tutorial
Presentation transcript:

TECHNICAL POSTER Laser reactant objects Interactive Doors and Saving Department of Computer Science and Engineering The Ohio State University Ben Allen, Jin Cheah, Derrick Dent, Gwen Stevens, Logan Wilson Laser reactant objects Interactive Doors and Saving All laser-reactive blocks contain behaviors which subscribe to a similar prototype, which are extracted and used by the active emitter behaviors on wall emitters and redirectors.  Diffusers, when lit, add their spherical centers to a global registry which is then used for voxel block detection. Redirector cores have their own EmitterBehavior components which are controlled and activated by their laser-reactive counterpart, RedirectorBehavior.  Emitters are responsible for informing reactive devices when they are removed from its path. The doors run off of four Unity animations and an animation controller to transition between them. When they player enters the box collider trigger, the doors will go from a closed state to the opening state if it is unlocked. All but one door starts off as unlocked. The state of the doors being locked or not is held in a text file save. A save manager script reads the text file and makes an array to hold the values of the doors being locked or not. If the door is locked then the animations do not change. Element Zeta, Dark Solid, and Light Solid However, each small block was a cube, so even if the cube was surrounded on all sides by other blocks, all six sides still had to be rendered, which was inefficient. This was also inefficient because rendering each block as a separate, small object meant that the parallel structure of the GPU (which is designed to render very large objects quickly) was not being utilized. The core of Element Zeta's gameplay revolves around these light reactive blocks which are either solid or not solid (the player can see and pass through it, but it retains it's shape and is not quite a gas). A naive implementation of this is to check if the light source (the diffuser) is being blocked by anything. This can be done using a simple raycast from the diffuser to the block. If the raycast returns that something is in the way, then the block must be in shadow; otherwise, the block must be in light. The last hurdle for implementing the light reactive blocks was to optimize the raycasts. A 20x20x20 block would contain 8,000 voxels, which means that 8,000 raycasts would have to be performed to update the block. However, raycasts are not cheap operations, so this many would grind the game to a halt. The solution was to simply not do all of them at once. Each frame, a set number of voxels would be chosen to be updated, usually less than 1,000 at a time. Then the next frame, the next set of voxels would be updated, and so on. This means that the blocks have a small delay before they are fully up to date, but this delay is usually less than a second. The way the voxels update in chunks also adds to the stylized nature of the game, giving it an interesting, digital appearance, as if the game takes To fix this, we imported a voxel renderer into our project. A pixel is a point in a 2-D grid, whereas a However, what this doesn't account for is the scenario where something is casting a shadow on the block, so part of the block is in shadow and part of the block is in light. To handle this, we split the blocks into many smaller blocks, each doing the same check of raycasting to the diffuser. This allowed for the shape of the shadows cast to be approximated in a blocky, stylized manner. The smaller the blocks, the better the approximation of the shadow. voxel is a point in a 3-D grid. By representing each block as a voxel in a 3-D place in some sort of simulation. grid, we were able to preserve the same we had before, but with the advantage that a grid of voxels can be rendered very efficiently. Custom Music System Console and Dialogue The music system is designed to allow ease of attaching music to any objects in the scene. There are two classes of great importance to facilitate this purpose. The first class is the SoundManager. It is a class containing methods to play, or stop sounds and a hidden library of music that’s currently playing. The second class is an abstract class PreloadAudio, the main body that allows ease of attachment. It contains methods to find out which audio clip is being used, and load the clip. These two classes form the backbone of the music system. On the other hand, the frontline of the system consists of 5 classes. Each of these classes inherits from the PreloadAudio class and implements incomplete methods. They also contain a SoundManager object, which they reference to play the music. The  purpose of these classes is to play different types of sound. The text in game utilizes a trigger-based system to present a storyline narrative. The dialog is handled by a text manager that outputs text it’s given by a game object. A game object will send the manager text in different ways: when the player or an object enters or leaves an area, usually handled a trigger collider; upon completion of a task or puzzle (e.g. pressing a button will often trigger some in-game change, but could also prompt text to appear on the screen acknowledging some change as well); at a specific time or after an amount of time has elapsed (e.g. if the player is stuck at a certain point in a puzzle and hasn’t progressed for a while the narrator may point this out. This doesn’t necessarily mean the narrator will provide a hint, of course). A console is implemented for debugging and gameplay manipulation. It appears on the left side of the screen, and disappears after entering a command, with a brief delay to display the response the console gives. It takes input on the console line, and sends it to a parser that determines the command. These commands are handled on the back-end depending on the command entered. The console outputs a response, notifies a toggle to a change (e.g. noclip mode), or notifies the player if the command was invalid.