Game Project 1 Homage to Pong. Project Rules: The primary project is Pong, the design and development of which will be discussed in detail here. If you.

Slides:



Advertisements
Similar presentations
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.
Advertisements

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,
Microsoft® Small Basic
Pong! “The oldest commercially available game in history” Resources created from the video tutorials provided by David Phillips on
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Microsoft® Small Basic Advanced Games Estimated time to complete this lesson: 1 hour.
Paddle Tennis Lesson. Name ___________________________ Period ___________________________ Date ____________________________ COURT DIAGRAM 1. Side Line.
A Christmas Scratch game
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
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.
Extending the Pong Example Barb Ericson Georgia Tech June 2011.
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Games and Simulations O-O Programming in Java The Walker School
GAME:IT Junior Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game.
Guide to Programming with Python
PING PONG (Table Tennis)
CSCI 101 Introduction to Software Development and Design.
PING PONG (Table Tennis)
Super Pong Andrew Dunsmore CSC436. Overview Purpose Design Specification Software Engineering.
Game Design Creating a game called PING Phase 3: Steps for building basic game.
3D Pong Boone Howard Chad Meyer Dr. Mitch Roth. C ++ Evolved from C, a general purpose programming language. The language used to write our program. Uses.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Introduction to TouchDevelop
Backgrounds, Inheritance in GameMaker (BrickMania 1 of 2) Foundations of Interactive Game Design Professor Jim Whitehead January 28, 2008 Creative Commons.
GAME:IT Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game.
The Game of Tennis The game of tennis can be played as either singles or doubles. The singles game has two participants, two individuals teaming up to.
Miss Acevedo Individual Sports Unit 2- Semester 1
TENNIS UNIT LIFETIME SPORTS.
VIDEO GAME PROGRAMMING Video Game Programming Level One – Breakout INSTRUCTOR Big Dan Teague TEACHER’S ASSISTANT Delmar O'Donnell.
KeyListener and Keyboard Events Just as we can implement listeners to handle mouse events, we can do the same for keyboard events (keypresses) –to implement.
©Robomatter – Distribution or copying without permission is prohibited. 3B STEM Computer Science 1 ©Robomatter – Distribution or copying without permission.
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.
User Input and Collisions COSC 315 Fall 2014 Bridget M. Blodgett.
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.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
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.
Programming Video Games
Microsoft® Small Basic Collision Detection Estimated time to complete this lesson: 1 hour.
Guide to Programming with Python Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
Guide to Programming with Python Week 15 Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
Computer Engineering 4OI4 Project Proposal James Gurunlian Clarence Ngai
ENGR-TS-2: The students will develop an understanding of how the design process is used to develop a technological system.
Game Maker Galactic Mail Advanced Group: Complete Galactic Mail, then start developing an independent project.
Game Maker Tutorial.
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
CompSci Introduction to Jam’s Video Game Package.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Action Script 12 "The games of a people.
Olympic.org Allabouttabletennis.com. History  It is thought that upper-class Victorians in England invented table tennis in the 1880s as an alternative.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 12 "The games of.
CompSci 44.1 Game Package Introduction to Jam’s Video Game Package.
Game Maker Evil Clutches.
Scratch for Interactivity Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Evil Clown – Quiz 1 Gamemaker Quiz 1. Set up your file Save all finished work to your desktop Final file should be called: “yourlastname_evilclown” Open.
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.
ICT/COMPUTING RULES Only use software allowed by the teacher
PICKLEBALL Springboro Junior High. SERVING The serve must be underhand. Contact must be made below waist/navel level. The ball must be served to the person.
Ping-Pong/ Table Tennis
Enhancing JavaScript Using Application Programming Interfaces (APIs), Lecture #3.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 11 "The games of a people reveal.
VOLLEYBALL.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
INTRO TO NITRO BALL Background: NitroBall was created in summer of 2005 in Sarasota, Florida. And was first known as “inverted volleyball” Created by Peter.
Scratch for Interactivity
Barb Ericson Georgia Institute of Technology June 2007
The One Where You Scratch
CSC 221: Introduction to Programming Fall 2018
Design & Development – 2h
Presentation transcript:

Game Project 1 Homage to Pong

Project Rules: The primary project is Pong, the design and development of which will be discussed in detail here. If you choose to submit an alternative project for this assignment then you must submit a proposal for you version of the project and you must ensure that the following in features are included: game loop game graphical display with sounds user interaction through the keyboard at least one animated object collision detection for fixed and moving objects score keeping management of game start (restart) and game completion

Game Concept This game project will be an homage to the classic Pong. In the original version, a small pip (the ball) is hit left and right by "paddles" vertically moving paddles controlled by two players. The ball would bounce off the top and bottom of the display region. If the ball passed a player's paddle, a point would be added to the opponent's score. First to 11 won the game. The player winning the point would also win the serve which meant that the ball would appear in front of that player's paddle and move toward the opponents side of the display. The angle of deflection of the ball from the paddle could be controlled by the speed at which the paddle was moving when it hit the ball. The speed of the ball slowly increased during a volley, but would return to the initial slower speed at the beginning of the next server. Sounds included a blip for the paddle striking the ball, a sound for a missed return and an end of game sound. For your project, variations on the classic pong are encouraged. Some ideas for variations include adding background image and animated sprites for players/paddles; changing how the ball and paddle interact; two-dimensional motion of paddles; changing the shape of the table; adding animation details to the ball and/or other game elements, enhancing the set of sounds used.

Game Theme Whether you choose one or not, your game will have a theme. It is usually preferred that you consciously select the theme as guide to further game design. Minimalist (Classic) Realism (Table Tennis) Fantasy with Back-Story Space Wars Ball is meteor/asteroid/weapon-projectile Paddles are Deflector Shields protecting a spaceship Score is displayed as ship damage/health

Game Design Pong Layout ball object ball position bx, by ball velocity bvx, bvy paddle_left paddle_right ball out of play left paddle position plx, ply right paddle position prx, pry Keys A and Z control vertical motion of left paddle Keys K and M control vertical motion of right paddle

init game init game state init variables new game ? save old positiions end loop game loop ball at top or bottom ball hits paddle ball miss paddle quit game ? update scoreboard players input animate score & reset return ball bounce ball paddles at top or bottom stop paddle exit game Pong Game Loop

if(padLeftY<padHeight/2) padLeftY = padHeight/2; if(padLeftY>SCREEN_H - padHeight/2) padLeftY = SCREEN_H - padHeight/2; if(padRightY<padHeight/2) padRightY = padHeight/2; if(padRightY>SCREEN_H - padHeight/2) padRightY = SCREEN_H - padHeight/2; Checking Game Space Limits padHeight padLeftY (0,0) ? After player inputs have been handled the new positions of the movable objects need to be checked to ensure that they are within the game space limits. What to do to keep the objects inside the game space depends on the object's function. For the paddles, you can just replace the new position with the limiting position as if it has hit a boundary.

private void FormMain_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Q) Application.Exit(); if (e.KeyCode == Keys.PageUp) labelKey.Text = "PageUp"; if (e.KeyCode == Keys.PageDown) labelKey.Text = "PageDown"; if ((e.KeyCode >= Keys.A) && (e.KeyCode <= Keys.Z)) labelKey.Text = Convert.ToString(e.KeyCode); if (e.KeyCode == Keys.Space) labelKey.Text = "Space"; if (keysPressed.Contains(e.KeyCode)) keysPressed.Remove(e.KeyCode); keysPressed.Add(e.KeyCode); } Keyboard Interface in C#

: using System.Media; namespace Animated_Sprite_Demo { public partial class FormMain : Form { System.Media.SoundPlayer a_sound = new SoundPlayer("sample.wav"); : private void some_Method( ) { : a_sound.Play(); : } Playing Sounds in C#

Submission Requirements Due to the fact that we are working on multiple platforms and with a variety of environments, project submissions must include the following: (1) Hardcopy of pertinent source code (game loop and all supporting methods you have written) (2) A zipped copy of the completed project (submitted electronically) (3) A working executable bundled with any additional binaries (e.g. DLL's) needed to run. OR A live demonstration of game in the laboratory.