Three-Dimensional Ray-Cast Pong

Similar documents
Assignment #3 Breakout!

Assignment #3 Breakout! Due: 12pm on Wednesday, February 6th This assignment should be done individually (not in pairs)

Assignment 3: Breakout!

Based on a handout by Eric Roberts

Science&Motion. SAM BalanceLab. Sports. control the invisible. Most advanced pressure plate for coaching

Grand Slam Tennis Computer Game (Version ) Table of Contents

Road Data Input System using Digital Map in Roadtraffic

Step 1. CoderDojo Milltown Exercise 1 Pong Page 1 of 13

NHL & NHLPA Future Goals Program Hockey Scholar TM

Basketball Packaging. Basketball Packaging. 1 of 10. Copyright 2008, Exemplars, Inc. All rights reserved.

Gravity: How fast do objects fall? Teacher Version (Grade level: 4 7)

Wiimote Visualization Through Particles

Assignment A7 BREAKOUT CS1110 Fall 2011 Due Sat 3 December 1

TRANSITION GAMES TO TEACH THE FOUR GAME SITUATION ROLES

If a player has only one match at the championship then the weighting is currently 80% the Final Dynamic and 20% the rating from his one match.

Design of AMBA APB Protocol

PROGRAMMING LINX LEARNING GAME

Modelling a Stormcell Storage System Within The Micro Drainage Program Win Des - Source Control

Project 1 Those amazing Red Sox!

Machine Vision and Alternative Game Control

SENSUS PRO MANAGER (for SENSUS or SENSUS PRO devices) User s Guide -- Windows. Version 2.0 Published October 17, ReefNet Inc.

MoLE Gas Laws Activities

PHYS Tutorial 7: Random Walks & Monte Carlo Integration

Waves. harmonic wave wave equation one dimensional wave equation principle of wave fronts plane waves law of reflection

Lab 4: Root Locus Based Control Design

"Learning from the Past - Innovating for the Future"

Darts CHAPTER 6. Next are seven sounds: snd_double_points snd_triple_points snd_take_cover snd_perfect snd_thud_1 snd_thud_2 snd_thud_3

KISSsoft 03/2016 Tutorial 9

Officiating Broadcast Enhancement Live Production Experiential Digital Coaching

CS 4649/7649 Robot Intelligence: Planning

SCRATCH CHALLENGE #3

VISIMIX TURBULENT. LIQUID - SOLID MIXING. DEFINING JSS (JUST SUSPENSION SPEED)

Section Freepoint Service 26.1 FREEPOINT CONTROL PANEL

Module 8 Coils and Threads

Ship waves in Tallinn Bay: Experimental and numerical study

Wave Motion. interference destructive interferecne constructive interference in phase. out of phase standing wave antinodes resonant frequencies

Hockey Scholar Curriculum Guide

PHYSICS - GIANCOLI CALC 4E CH 15: WAVE MOTION.

Aiming a Basketball for a Rebound: Student Solutions Using Dynamic Geometry Software

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering. Mini-project 3 Tennis ball launcher

Sharp Shooting: Improving Basketball Shooting Form

MoLE Gas Laws Activities

HW #5: Digital Logic and Flip Flops

Surface Texture Gage study in the qs-stat Measurement System Analysis Module

7 th International Conference on Wind Turbine Noise Rotterdam 2 nd to 5 th May 2017

CS 351 Design of Large Programs Zombie House

The Soccer Guy. By Marcus Hilgers Faisal Ahmad Jacob Borer

Code Basic module and level control complete with optionals code

Modeling Traffic Patterns using Java

Background Summary Kaibab Plateau: Source: Kormondy, E. J. (1996). Concepts of Ecology. Englewood Cliffs, NJ: Prentice-Hall. p.96.

FRDS GEN II SIMULATOR WORKBOOK

Final Report. Remote Fencing Scoreboard Gator FenceBox

Numerical Modelling of Unchannelled Balcony Spill Plumes using FDS 5

ALGE SWIM2000. Architectural Guideline ALGE

2015 FHSPS Playoff May 16, 2015 Online

MI 4 Project on Parametric Equations. Parametric Worksheet

Reconfigurable Computing Lab 01: Traffic Light Controller

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc.

New generation of Electronic Card Systems: The 4-D Card

National Intercollegiate Lacrosse Officials Association 2019 NCAA Rules Test

Dobbin Day - User Guide

Lab 4 VGA Display Snake Game

Thermal Profiling the Reflow Process

UNITED STATES MARINE CORPS WEAPONS TRAINING BATTALION MARINE CORPS COMBAT DEVELOPMENT COMMAND QUANTICO, VIRGINIA

Putting Report Details: Key and Diagrams: This section provides a visual diagram of the. information is saved in the client s database

J12 TICKET DISPENSER HOPPER ALL STOP STOP 1 STOP 2 STOP 3 BIG DOUBLE SMALL TAKE PLAY START CURRENT PRODUCTION BOARD TYPE

Rescue Rover. Robotics Unit Lesson 1. Overview

Using MATLAB with CANoe

Section 1 Types of Waves. Distinguish between mechanical waves and electromagnetic waves.

SUMMERY of the CHANGES in Comments & Interpretations, Version # 3 / July 2017 / - (complete new edition).

Chs. 16 and 17 Mechanical Waves

Owl Canyon Corridor Project Overview and Summary

Training program on Modelling: A Case study Hydro-dynamic Model of Zanzibar channel

Site Improvements

INSTALLATION PROCEDURE 1/4 & 1/8 MILE PERMANENT TRACK

The sycc Color Space

APPE Intercollegiate Ethics Bowl (IEB) Regional Rules

Request for Proposals Artist-Designed Crosswalks

SNOOKER SCORE BOARD. Snooker Scorer. Digital snooker score board. Operator & Reference Handbook

Pokemon Robotics Challenge: Gotta Catch em All 2.12: Introduction to Robotics Project Rules Fall 2016

APPLICATION NOTE: MARINE APPLICATIONS Trim, Roll and Leeway.

Volume 2: OFFICIATING MECHANICS

American Thoroughbred Handicapping Program

A Low Cost Digital Angle Gage, version 3

Measuring range Δp (span = 100%) Pa

LEGO Engineering Conferences ROBOLAB and MINDSTORMS Education Version 4.5 March 2008

Overview of Event Qualification and Competition Format

Make a Marigram. Overview: Targeted Alaska Grade Level Expectations: Objectives: Materials: Whole Picture: Grades 9-12

PRODUCT MANUAL. Diver-MOD

Technology: WebCAM at 30 fps / VGA resolution. Sensor with 4 LED emitter sensors. Software with picture analysis.

Purpose of application of the program VisiMix Laminar finding a way to increase volume of the batch without overloading the motor.

Development of Technology to Estimate the Flow Field around Ship Hull Considering Wave Making and Propeller Rotating Effects

ZIPWAKE DYNAMIC TRIM CONTROL SYSTEM OUTLINE OF OPERATING PRINCIPLES BEHIND THE AUTOMATIC MOTION CONTROL FEATURES

Investigation of The Best Ping-Pong Racquet Material

Hockey Canada Development Programs. Skill Development. Challenge Learn Improve

Tutorial: Adding Twitch ChatPlay

Energy Skate Park - Conservation of Energy. Skate Park Energy Simulation - Conservation of Energy

Period: Date: 1. A single disturbance that moves from point to point through a medium is called a. a. period b. periodic wave c. wavelength d.

VOYAGER ELECTRONIC DARTBOARD MODEL #EDB400

Table of Contents FIRST 2005 FIRST Robotics Competition Manual: Section 3 The Arena rev B Page 1 of 8

Transcription:

Three-Dimensional Ray-Cast Pong Richard Hughes Elizabeth Power! Overview What is Pong? Traditional Pong is a two-dimensional game that simulates table tennis. The player controls a paddle by moving it vertically on the left side of the screen to block the ball. The goal is for the player to keep the ball from hitting the left side of the screen. Common variations 2 Player Compete against a computer controlled opponent or another player which controls a second paddle on the right side of the screen Multiple Balls Added complexity of having to keep track of 2 to 5 balls Pong Doubles and Elimination (aka Quadrapong) Version for up to 4 Players Each player starts with 4 points and looses one each time they miss the ball Doctor Pong (aka Puppy Pong) An adoption for use in a non-coin-operated environment Specifically used to occupy kids in doctors waiting rooms. Breakout Pong with bricks A layer of bricks lines the top third of the screen and when the ball hits a brick, the ball bounces away and the brick is destroyed. 1

What Makes Our Pong Special? 3-Dimensional Functionally Puck moves in x, y, and z directions Paddle moves in x and y directions Graphically Walls are shaped and shaded to look more realistic Puck is shaded to look like a sphere Paddle shaded to have a elliptical surface (if time permits) Increasing complexity Each time you catch the ball its speed increases The reflection angle changes based on where on the paddle you catch the ball Multiple balls (if time permits) Keeps score Reach 63 to win Division of Labor The Game Pictures Paddle Controls Physics Shared Data Graphics Monitor Play Watch Elizabeth Power Richard Hughes 2

Physics The physical implementation of our game. Purpose: Manage interactions between Puck and Paddle Monitoring the score & status of the game instance Create a Ready signal for synchronization with Graphics Division Physics: Ready In order to reduce synchronization issues between the Physics & Graphic Divisions, the Physics Division will create a Ready signal for the Graphics to use. In Catch Miss Clock Reset Out Score [7:0] Win Lose Physics: Score The Score Module keeps track of the status of the game. It counts how many times the paddle catches the puck and outputs that as the score. It also decides and tells you when you win or lose. 3

In Clock Reset Up Down Left Right Puck x Puck y Puck z Out Miss Catch V x [3:0] V y [3:0] V z [3:0] Paddle x Paddle y Physics: Paddle The Paddle Module does all of the hard work. The Paddle Module take all of the game control inputs (Up, Down, Left, Right) and moves the Paddle accordingly. If the Paddle catches the Puck, the module will pulse Catch. It will also increase the z velocity and change the x & y velocities based on where on the Paddle the Puck hits. If the Paddle misses the Puck, the module will enable Miss and the x, y, & z velocities will become 0 until Reset is enabled. Physics: Puck In Clock Reset V x [3:0] V y [3:0] V z [3:0] Out Puck x Puck y Puck z The only duty of the Puck Module is to go and, eventually, stop. The Puck will go with the desired x, y, & z velocities until it hits a wall, at which time it will bounce off and continue with the properly inverted x, y, & z velocities. The Puck will stop all movement whenever the paddle misses the puck, indicating that the game is over. This is taken care of by the Paddle Module because it changes x, y, & z velocities to 0. 4

Graphics The graphical representation of our game. Purpose: Display interactions between Puck and Paddle Display the score & status of the game instance Render the graphics in 3 dimensions Graphics: Implementation Ray-Casting Phong is for suckers Distance & Position functions are for winners The Hard Part: Division 5x division for 5x planes 1x division for ray-generation 1x division for sphere intersection 5

Graphics: Integer Math How much fixed-point precision? Python tests indicate: 10 bits is too few to accurately intersect the sphere 12 bits is sufficient. How many bits do we need? 12 bits 'to the right of the decimal point' How many bits left of the decimal point? Multiplication makes enormous numbers doubling # of bits Keep the excess in registers in appropriate locations Alter the precision with left-right shifts to keep scale appropriate. Graphics: Keeping things 3D Without phong shading, how do we ensure that I'm not faking it? Coordinate-function coloring. Color of plane: P(x,y,z,s X,s Y,s Z ) Color of sphere: S(s X,s Y,s Z ) 6

IN Up Down Left Right Putting It All Together connections Ready/Done Score Win Lose Graphics Division Physics Division Puck x Puck y Puck z Paddle x Paddle y OUT Screen Whole Project Nov 6 Block Diagram Meeting Nov 13 Project Presentation Timeline Nov 9 Nov 16 Nov 23 Nov 30 Dec 4 Begin Full Project Testing Dec 7 Dec 8 Final Project Check Off Dec 10 Report Due Designing Prep Graphics Physics Planning Paddle Module Puck Module Score Module Planning Planning Planning Implement in Python Implement Basics Implement Basics Implement Basics Change Python to Verilog Code Nov 16 Nov 25 Skeleton Graphics Complete Test. Movement Test Test.. Movement Movement Implement Angles Sprites Functional Test Angles Test Angles Thanksgiving Thanksgiving Thanksgiving Nov 30 Coordinate Coloring Functional Test Score Test Score DONE! Report Designing Presentation Puck Paddle Graphics Full Write-Up Nov 9 Nov 16 Nov 23 Nov 30 Dec 7 7

Testing Issues Testing Without the Other Division Graphics Division Use randomly generated values for Puck and Paddle locations and the Score Use the clock to generate the ready signal Physics Division Use ModelSim to simulate parts of the game before the graphics are ready Modular Cooperation Creation of Skeleton Graphs Implemented by November 16 Provides Physics the ability to control the Paddle and visibly watch the Puck / Paddle interactions Lengthy Total Testing Time We have set aside almost a full week to ensure that the two divisions function properly together Summary Complex Physics Ray-Casting Graphics VGA Resolution 30+ fps Mouse &/or Keyboard Support (if time permits) 8