PAC XON CSEE 4840 Embedded System Design

Similar documents
GALAXIAN: CSEE 4840 EMBEDDED SYSTEM DESIGN. Galaxian. CSEE 4840 Embedded System Design

BASTARD ICE CREAM PROJECT DESIGN EMBEDDED SYSTEM (CSEE 4840) PROF: STEPHEN A. EDWARDS HAODAN HUANG LEI MAO DEPARTMENT OF ELECTRICAL ENGINEERING

Campus Fighter. CSEE 4840 Embedded System Design. Haosen Wang, hw2363 Lei Wang, lw2464 Pan Deng, pd2389 Hongtao Li, hl2660 Pengyi Zhang, pnz2102

CSEE 4840 Project Design A Tower Defense Game: SAVE CROPS

Key Abstractions in Game Maker

Step 1 - Setting Up the Scene

G54GAM Lab Session 1

EE307. Frogger. Project #2. Zach Miller & John Tooker. Lab Work: 11/11/ /23/2008 Report: 11/25/2008

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22

Overview. The Game Idea

Fantastic Tetris. Design Report

Whistle Pongbat Peter Capraro Michael Hankin Anand Rajeswaran

Key Abstractions in Game Maker

Embedded Systems CSEE W4840. Design Document. Hardware implementation of connected component labelling

Journal of Engineering Science and Technology Review 9 (5) (2016) Research Article. L. Pyrgas, A. Kalantzopoulos* and E. Zigouris.

Design Document. Embedded System Design CSEE Spring 2012 Semester. Academic supervisor: Professor Stephen Edwards

Spartan Tetris. Sources. Concept. Design. Plan. Jeff Heckey ECE /12/13.

Interactive 1 Player Checkers. Harrison Okun December 9, 2015

ADVANCED TOOLS AND TECHNIQUES: PAC-MAN GAME

Creating Computer Games

Lab 4 VGA Display MINI-PACMAN

Introduction to Game Design. Truong Tuan Anh CSE-HCMUT

CSEE4840 Project Design Document. Battle City

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1

Documentation for the world.rkt teachpack

FPGA Laboratory Assignment 5. Due Date: 26/11/2012

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

Design of Embedded Systems - Advanced Course Project

CS180 Project 5: Centipede

Connect 4. Figure 1. Top level simplified block diagram.

CSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012

FPGA SIMULATION OF PULSE IONIZING SENSORS AND ANALYSES OF DESCREET - FLOATING ALGORITHM

More FAQs, Klax World Model and Functional Specifications

Create Your Own World

Unity & VR Best Practices

MRT: Mixed-Reality Tabletop

Welcome to Family Dominoes!

Connect Four Emulator

Project 1: Game of Bricks

EE 307 Project #1 Whac-A-Mole

Embedded Systems Lab

Sudoku Touch. 1-4 players, adult recommended. Sudoku Touch by. Bring your family back together!

04. Two Player Pong. 04.Two Player Pong

Surfing on a Sine Wave

Procedures for the Use of the PointGrey Flea3 FireWire Camera and ImageJ *

COMPUTING CURRICULUM TOOLKIT

The Kapman Handbook. Thomas Gallinari

Game Design. Level 3 Extended Diploma Unit 22 Developing Computer Games

Implementing Multipliers

Game Console Design. Final Presentation. Daniel Laws Comp 499 Capstone Project Dec. 11, 2009

BEST PRACTICES FOR SCANNING DOCUMENTS. By Frank Harrell

USING THE GAME BOY ADVANCE TO TEACH COMPUTER SYSTEMS AND ARCHITECTURE *

Picture Style Editor Ver Instruction Manual

Seeing Sound Waves. sound waves in many different forms, and you get to have fun making a loud mess.

The Games Factory 2 Step-by-step Tutorial

Microprocessor & Interfacing Lecture Programmable Interval Timer

GEO/EVS 425/525 Unit 3 Composite Images and The ERDAS Imagine Map Composer

Picture Style Editor Ver Instruction Manual

Comprehensive Rules Document v1.1

UNIVERSITI MALAYSIA PERLIS

Cliff Hoopin. N a t h a n a e l S m i t h

Ada Lovelace Computing Level 3 Scratch Project ROAD RACER

Rifle Arcade Game. Introduction. Implementation. Austin Phillips Brown Casey Wessel. Project Overview

Picture Style Editor Ver Instruction Manual

GAME:IT Junior Bouncing Ball

Design of Low-Cost General Purpose Microcontroller Based Neuromuscular Stimulator

Basic photography Art, composition, and computer principles AEE 211 February 24, 2003

EECS 461, Winter 2009, Problem Set 2 1

Open Source Digital Camera on Field Programmable Gate Arrays

100 Points. I ll give you 100 Points if you Hit the Peacock!!

Survive Blood Island Interactive Game

TRDB_DC2 TRDB_DC2. 1.3Mega Pixel Digital Camera Development Kit

understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems

How to Make Games in MakeCode Arcade Created by Isaac Wellish. Last updated on :10:15 PM UTC

WHAT ARE FIELD PROGRAMMABLE. Audible plays called at the line of scrimmage? Signaling for a squeeze bunt in the ninth inning?

3 Introduction to Computer Game Programming

Use of the built-in Camera Raw plug-in to take your RAW/JPEG/TIFF file and apply basic changes

Microprocessors and toys: An introduction to computing systems

Let's Race! Typing on the Home Row

Universally Accessible Games: The case of motor-impaired users

Hello Scratch! by Gabriel Ford, Sadie Ford, and Melissa Ford. Sample Chapter 6. Copyright 2018 Manning Publications

Open Source Digital Camera on Field Programmable Gate Arrays

Data Representation 1 am/pm Time allowed: 22 minutes

Experiment P02: Understanding Motion II Velocity and Time (Motion Sensor)

VLSI Implementation of Image Processing Algorithms on FPGA

12 Projectile Motion 12 - Page 1 of 9. Projectile Motion

settinga.html & setcookiesa.php

Answer all questions. No marks will be awarded for using brand names of software packages or hardware.

Fpglappy Bird: A side-scrolling game. 1 Overview. Wei Low, Nicholas McCoy, Julian Mendoza Project Proposal Draft, Fall 2015

Architecting Systems of the Future, page 1

2D Platform. Table of Contents

Introduction to Simulation of Verilog Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus II 13.1

1) How do I create a new program? 2) How do I add a new object? 3) How do I start my program?

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

A Game of Show and Tell

Module 4 Build a Game

Kodu Game Programming

Console Architecture 1

User Guide / Rules (v1.6)

Digital Information. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

Transcription:

PAC XON CSEE 4840 Embedded System Design Dongwei Ge (dg2563) Bo Liang (bl2369) Jie Cai (jc3480)

Project Introduction PAC-XON Game Design Our project is to design a video game that consists of a combination of custom designed hardware and software, which will take everything we have learned so far in the past 2 months. In the hardware part, we will design a VGA controller, a CPU, a RAM controller and a interface between the hardware and the software. To implement our project, VHDL and C programming language are both must for hardware part and software part respectively. With them we can handle inputs from the keyboard to the video display output on the screen. We play to use the VGA output of the Altera board to present the game s graphics. Images will be initialized in hardware and ghosts movement done in software. The software will also control game logic. Player will play the game with the keys on the PS2 keyboard. RAM RAM Controller Programmed Ghosts CPU Top Level Entity VGA Controller Fig.1 The block diagram of our project 2

Game Design: 1. Game Logic: The game is similar to the original PAC-XON game: Each player controls a pac-man with four lives at the beginning of the game. When the game starts, pac-man can move freely from the top-left. Player must fill empty space and capture ghosts by building wall. As soon as the player fills 80% or more empty space he will go to the next level. Players must also beware of the two ghosts. If one touches the wall the pac man is building or catches the pac man, he will lose a life. Fig.2 Original PAC-XON level-start shot Fig.2 Original PAC-XON level-up shot 3

2. Game Graphics: In the lab3, we have learned to implement a live video display. We were able to store our character sets and graphics in the RAM. We will generate out graphics in an array representing 8x8 pixels, each coded in hexadecimal. Each 8x8 pixels array on the screen will be represented by two strings of nine hexadecimal values. Each group of nine values will represent a mapping in one color. The first term in the string will represent the value for the color of the following pixel map. We will then proceed to read the second string of values to overlap the same 8x8 pixels space on our screen. The second string will represent the second color, with no pixels overlapping the first layer. This approach allows us to create an 8x8 pixels array with two colors. For convenience, the game engine will read 18 values at a time. 2.1 Pac-man Graphics 1 00 C0 30 08 04 08 10 20 1 00 00 C0 F0 F8 F0 E0 C0 Fig.4 Example of a 8x8 block. The edge of the pac-man is blue and the inside in filling in yellow. We chose to create pac-man as a 16x16 pixel character. Making our character 8x8 pixels would take away from our graphics capabilities, therefore we enlarged pac-man by giving him a 2x2 square of 8x8 pixel maps. Keeping in mind that pac-man will be facing different directions on each path he takes, graphics must be created for each direction he may take. By splitting pac-man up into a 2x2 square, we now have more of a fluid motion in his journey. Since the pac-man is not always open its mouth, we design two different graphics for its movement, one is when it open its mouth, the other is when it close its mouth. And when we program them, we will make them change between the two states in a particular frequency. 4

Fig.5 Graphic of pac-man when it open mouth. Fig.6 Graphic of pac-man when it close mouth. 5

2.2 Ghost Graphics As the same method to set the pixels array, we chose to create pac-man as an 18x18 pixel character. It is the same for the ghosts, besides bouncing to a in a particular direction somewhat like the bounce video ball we programmed in lab, it has two states as they move, one is when it wave its feet to the left, the other to the left. And when we program them, we will make them change between the two states in a particular frequency. Fig.7 Graphic of ghost when it wave its feet to the left. 6

Fig.8 Graphic of ghost when it wave its feet to the right. 2.3 Background Graphics The game background consists of two layers, first with the permanent the walls, and the second with the walls built by pac-man which the pac-man can move freely on while the ghosts can t. Instead of clearing the screen by setting all of the pixels to black, we will clear the screen by redrawing the permanent walls. 3. Game Engine Input will be taken from the keyboard, and we will allow only four keys to do everything in the game. After each clock tick, the most recently suppressed key will determine the direction pac-man will move to. For example, if multiple keys were hit within the duration of one clock cycle only the mostly recently pressed key will register. Holding down a key will not be necessary, as pac-man will continue to move in the same direction, as he was the previous clock tick if no other key was pressed. 7