EEL 3705 / 3705L Digital Logic Design

Slides:



Advertisements
Similar presentations
GAME:IT Junior Ping Pong Objectives: Review skills from previous lessons Create a 2-player game Create a scoring display system Using old and new skills,
Advertisements

Constructor and New Fields // Don't synch draw() with vertical retrace of monitor graphics.SynchronizeWithVerticalRetrace = false; IsFixedTimeStep = true;
Portable/Desktop Projectors Small and light, ideal projectors for transports.
FPGA Breakout Atari 2600 Video Game FPGA Reproduction
Introduction to PowerPoint
1 Flash Actionscript Animation. 2 Introduction to Sprites We will now look at implementing Sprites in Flash. We should know enough after this to create.
Creating pong in scratch Learning objectives: To learn how to program Sensing via colour and sprite proximity O:\ICT\ks3\scratch\scratch Exercises\Creating.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
ORG ; FOUR INT 21H and INT 10H Programming and Macros Dec Hex Bin
CS 101 – Sept. 16 Finish color representation –RGB √ –CMY –HSB –Indexed color Chapter 4 – how computers think –Begin with basic building blocks.
ECE 448: Lab 6 VGA Display (mini chess game). Video Graphic Array (VGA) Resolution: 640x480 Display: 16 colors (4 bits), 256 colors (8 bits) Refresh Rate:
Introduction to Experiment 5 VGA Signal Generator ECE 448 Spring 2009.
Art 315 Lecture 5 Dr. J. Parker AB 606. Last time … We wrote our first program. We used a tool called GameMaker. The program we wrote causes a ball to.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 3 "The games of a.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
Programming games Show your version of Bo the dog. Start cannonball Preview: video, audio work session (cannonball) Homework: Cannonball with ball in a.
Programming Video Games
ECE 448: Lab 4 VGA Display. Bouncing Ball.. Organization and Grading.
Scratch pong challenge Pong is a classic 1970s video game  Open the pongv1.sb2 file in Scratch  Click the.
Computer Engineering 4OI4 Project Proposal James Gurunlian Clarence Ngai
ECE 448: Lab 5 VGA Display. Breaking-Bricks..
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
Computer Programming Modeling a Passive Solar Home.
GAME:IT Junior Paddle Ball Objectives: Review skills from Introduction Create a background Add simple object control (up and down) Add how to create a.
GAME:IT Paddle Ball Objectives: Review skills from Introduction Create a background Add simple object control (up and down) Add how to create a simple.
Implementation of Pong over VGA on the Nexys 4 FPGA
First some catch-up. Everyone who uses slide presentation software should regularly check their show in show mode. This is the end product. You need to.
DISPLAY DEVICES CIS 10, Group #1 April 01, 2006 C. X. A. L. K. H. A. V. ((( L. C.
Unit 2.6 Data Representation Lesson 3 ‒ Images
COMP541 Video Monitors Montek Singh Oct 7, 2016.
Game development.
Sound and more Animations
MORE Genre Specific Physics
COMP541 Video Monitors Montek Singh Sep 15, 2017.
What is a Function Expression?
MOM! Phineas and Ferb are … Aims:
Computer Graphics Implementation II
Computer Graphics Imaging
Adapted from slides by Marty Stepp and Stuart Reges
Game development.
Stage 1 Before you start to script the game you need to create the assets. Stage 1 will help you to create your background image, score zones, paddles.
COMP541 Video Monitors Montek Singh Feb 20, 2015.
Section 3-7: Projectile Motion
Digital Electronics Jess 2008.
Catapult 2014 Session 10.
CSc 110, Spring 2017 Lecture 6: Parameters (cont.) and Graphics
Microprocessor and Assembly Language
EEL 3705 / 3705L Digital Logic Design
Images Presentation Name Course Name Unit # – Lesson #.# – Lesson Name
EEL 3705 / 3705L Digital Logic Design
Chapter 14 JavaFX Basics Dr. Clincy - Lecture.
Exercise 63 Use a Flash movie clip symbol to store an animation that you need to use more than once in an application. This is very important for keeping.
EEL 3705 / 3705L Digital Logic Design
به نام مهربانترین In the name of the most compassionate
Lightboard Template.
РОСІЙСЬКА МОВА Кількість завдань - 51 Час на виконання – 150 хв.
Projectile Motion.
The One Where You Scratch
Creating games with game editors
Digital Media Dr. Jim Rowan ITEC 2110.
EEL 3705 / 3705L Digital Logic Design
Tank Game Part 6 of 6.
Lecture 7: Introduction to Processing
Images Presentation Name Course Name Unit # – Lesson #.# – Lesson Name
COMP541 Video Monitors Montek Singh Feb 6, 2019.
Computer Graphics Module Overview
The coordinate system Susan Ibach | Technical Evangelist
Creating a Simple Game in Scratch
College Physics, 7th Edition
Chapter 7 The Game Loop and Animation
Presentation transcript:

EEL 3705 / 3705L Digital Logic Design Spring 2007 Instructor: Dr. Michael Frank Modules #90-99 (Extra Slides): Design Examples Module #93: Animated VGA Graphics– Ping-Pong Video Game 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Ping-Pong Videogame Example Dynamic Display Generation, Layered Graphics, Controlled Paddle Motion 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Real-World Ping-Pong Table Image credit: Wikipedia 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Ping-Pong Game Display Mocked-up here as a Powerpoint animation Ball Left paddle Right paddle “Midline” “Net” 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

M. Frank, EEL3705 Digital Logic, Fall 2006 Plan for Game Controls Left pushbutton FLEX_PB1 will control left player’s paddle Held down = move down, released = move up Right button controls right paddle similarly 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Plan for game’s “physics” When the ball hits a wall, it bounces elastically Horizontal or vertical velocity will change sign When the ball hits a paddle… Its vertical velocity (vy) will increase or decrease depending on which direction paddle is moving Paddle moving up  vertical velocity decreases Paddle moving down  vertical velocity increases Its horizontal velocity (vx) will change sign (bounce) Its absolute value will increase if the ball hits near the center of the paddle (a “good hit”) Its absolute value will decrease if the ball hits near the edge of the paddle (a “glancing blow”) 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Prioritized Color Layer Combiner Allows one graphics object to override another… 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Table Surface Stipple Color Layer Generator Pure green makes for an overly bright table surface, so instead we use an XOR gate to create a green-on-black checkerboard stipple pattern implemented by this circuit 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Game Display Generator (top half) Note we use two instances of the color_mixer module to combine the outputs of the table, midline, and net renderers 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Paddle Renderer (only left paddle so far) Left paddle is rendered as a 10×50 pixel blue rectangle starting at y coordinate lpy (input) 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Entire Ping-Pong Display Renderer (so far) Altogether we’re using three of our color_mixer modules in order to correctly combine the graphics on the playing surface, midline, net, and paddle layers. (default black background) green stipple Increasing graphics layer priority white midline black net blue paddle 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Left Paddle Controller Circuit Comparator allows paddle y to be updated iff its new value is in the range [0,480−50] = [0,430] Adder increments/ decrements paddle y coordinate in direction determined by pushbutton #1 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Top-Level Circuit for Ping-Pong Game (so far) 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Demonstration of Game Display (so far) We can hook up the board directly to the lecture hall video projector in order to demonstrate the left paddle’s live functionality to the class… 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Ping-Pong Ball Sprite Design Planning the bitmap 1 Approx. on-screen appearance DEPTH = 10; WIDTH = 10; ADDRESS_RADIX = HEX; DATA_RADIX = BIN; CONTENT BEGIN 0 : 0001111000; 1 : 0111111110; 2 : 0111111110; 3 : 1111111111; 4 : 1111111111; 5 : 1111111111; 6 : 1111111111; 7 : 0111111110; 8 : 0111111110; 9 : 0001111000; END; ball_sprite.mif 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006

Still to do on ping-pong game… You might like to try some of these yourself! Add 2nd, red paddle on right, controlled by PB2 Create a ball object, implement game physics Adjust movement speeds for best playability Add a scoreboard using the 7-segment display Hook up an external speaker to the expansion bus and generate “beep” sounds when the ball bounces off a wall or a paddle or goes out of bounds Done except for red paddle movement 11/10/2018 M. Frank, EEL3705 Digital Logic, Fall 2006