Java Zelda By: Phillip Garber. Executive Summary Java Zelda is an attempt at making a remake of the classic SNES game Legend of Zelda – A Link to the.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

CSE 380 – Computer Game Programming Tile Based Graphics Legend of Zelda, by Nintendo, released 1987.
A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
Introduction to Video Game Design BBrewer Fall 2013.
Video Game Design Lesson 1. Game Designer Person involved in the development of a video game Person involved in the development of a video game Usually.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
© by Pearson Education, Inc. All Rights Reserved.
FUNDAMENTALS OF PROGRAMMING SM1204 Semester A 2010/2011.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
DNA Awesomeness! Theodore D. Hellmann Christina L. Murphy CPSC 410 Fall ‘07.
AraFell Project By: Joey Peters. System Selection A video game – Video games implement many OS principles Already working on the project Challenging Fun.
Introducing MagicInfo Videowall 2
By Tarif Adib.  Here are the links to my Survey:  Part 1 Part 1  Part 2 Part 2  Answers on the last slide.
Web Design Basic Concepts.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
4.5 Multimedia Production. Learning Outcome 1. Design the structure and user interface for a multimedia project. 2. Produce a successful multimedia project.
Line up By Melissa Dalis Professor Susan Rodger Duke University June 2011.
Platforms for Learning in Computer Science July 28, 2005.
NSF North Mississippi GK-8 Program ‘Til You Drop Brenteria Travis NSF North Mississippi GK-8.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Creating A 3-D Game With Spark Engine Lauren Bissett, Dan Maguire, and Nicholas Woodfield.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Flash Lesson 1 Simple Animation. Get Acquainted With The Software.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Programming Games Show your simple video. More video examples. Audio. Classwork/Homework: Produce more complex video program.
MULTIMEDIA DEFINITION OF MULTIMEDIA
PRESENTATION 1: 05-SEP-2012 DUNGEONBARD (IOS GAME) Mobile Application Development.
Status of the vector transport prototype Andrei Gheata 12/12/12.
Introducing MagicInfo Videowall I
By Shannon Nicholson. Attachments are basically something you can attach to an you send to a person or a group of people. It is a file, basically.
Introduction to Half Life 2 Modding ● Seminar Seven – The story so far: ● Creating a mod via Source SDK ● Introduction to Hammer ● Hammer techniques ●
Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer.
Lab 1 : Introduction to LabView 1 Southern Methodist University Bryan Rodriguez.
Introduction to Programming G50PRO University of Nottingham Unit 2 : Introduction To Scratch Paul Tennent
“The perfect project plan is possible if one first documents a list of all the unknowns.” Bill Langley.
Andrew Claus Greg Conklin CIS 487/587 Fall  Sierra-Style Interface and Gameplay  The Legend of the Red Dragon related Storyline  30 Different.
Operating Systems Structure what is the organizational principle?
Nostromo Tom Patecky Ross Brown. Operational Concepts Based on Ambrosia Software’s Escape Velocity series Based on Ambrosia Software’s Escape Velocity.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
Intro CS – Screens and Variables Lesson Plan 9. Goals  Using sprites as full screens (Start screen, Game over)  Using layering to control ordering of.
+ TIC-TAC-TOE GAME CAPSTONE PROJECT SEN Team Members Sno.NameITU ID 1Keerthi Alimity Venkata Ganugapati Sujitha Sanku Bavi Bharathan87550.
Weijie Ming Flinders Project. Outline  Instruction  Research Process Interface Basic Function Import File Save File Display and save content Working.
Super EastGate Jon Caron, Ryan Fleming, Antonio Guarino, and Mike LoVerme Merrimack College Introduction Super EastGate is a 2D side scroller game that.
Objective: Students will know the screen parts, tools, and menus of the Fireworks program. Students will be able to create a new document, create basic.
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Copyright © Texas Education Agency, All rights reserved.1 Web Technologies Motion Graphics & Animation.
Fall 2000M.B. Ibáñez Lecture 26 I/O Systems II. Fall 2000M.B. Ibáñez Application I/O Interface I/O system calls encapsulate device behaviors in generic.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Mr. Potato Head Mr. Potato Head Human-Computer Interaction Project 2004 by: Dory Azar André Cloutier Danny Castonguay Wadih Maalouf.
Today Threading, Cont. Multi-core processing. Java Never Ends! Winter 2016CMPE212 - Prof. McLeod1.
Introducing Scratch Learning resources for the implementation of the scenario
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Computer System Structures
Chapter 10 Multimedia and the Web.
Weebly Elements, Continued
Features of Authoring Tools
Operating System Structures
CHAPTER 8 Multimedia Authoring Tools
Introduction CSE 1310 – Introduction to Computers and Programming
CMPE419 Mobile Application Development
3D Game Pitch Niki Farquhar
Organizing Memory in Java
Create and edit web pages 2
Outline Chapter 2 (cont) OS Design OS structure
Emerging Platform#3 Android & Programming an App
System calls….. C-program->POSIX call
Presentation transcript:

Java Zelda By: Phillip Garber

Executive Summary Java Zelda is an attempt at making a remake of the classic SNES game Legend of Zelda – A Link to the Past. The game will come with a map editor, with a point and click interface. The final product will contain a database of files and maps that the program will use to create the players environment.

System Selection The reason for creating a Java implementation of Zelda would be to add the ability to customize features of game play. The user would be able to modify maps, characters/enemies, items, and sounds. By developing in java, I will not have to create different distributions for different platforms.

System Analysis Zelda for the SNES works well with tiled images. The map is scrollable, due to the small display size of the screen. The game is full of simple puzzles, and enemies to defeat.

System Design The new system will keep the old style for making maps, by creating an array of images. The player will interact with the game through the keyboard, instead of a gamepad.

System Design The HUD has been changed, to put the weapon information on the bottom. A basic map, and its map file’s contents. 01#01#01#01#01#01#01#01#01#01#01#01#01#01# 01#01#09#08#01#01#14#01#01#01#01#01#01#01# 01#01#05#53#01#01#01#01#01#01#14#01#01#01# 01#01#05#53#01#01#01#14#01#01#01#01#01#01# 01#01#05#53#01#01#01#01#01#01#01#01#01#01# 15#01#05#53#01#01#01#01#01#15#01#01#01#01# 01#01#05#53#01#01#01#01#01#01#01#01#14#01# 01#01#05#10#04#04#04#04#04#04#04#04#04#04# 01#01#06#03#03#03#03#03#03#03#03#03#03#03# 01#01#01#01#01#01#01#01#01#01#01#01#01#01# 01#14#01#01#01#01#01#01#01#01#01#01#01#01# 01#01#01#01#01#01#14#01#01#01#01#01#15#01# 01#01#01#01#01#01#01#01#01#01#01#01#01#01#

System Design There are 11 files per map, which make up all of its layers, and effects. Activators Blocker Button Enemy Map Overlay Pickupable Pits Pushable Warps Music

Map The basic background image that the player walks on.

Blockers A blocker is a wall, or impassable object for the player.

Pits The player can fall in pits, and will be sent back to the part of the map where they originated with lower health.

Warps Tiles that will warp the player to a new map, or a different section of the same map.

Activators An activator can be used to display a message, or unlock a door.

Pushable Blocks that can be pushed around to solve puzzles.

Buttons A button is a tile that when stepped on, it unblocks a set of blockers. A button can either open permanently, or while it is currently pressed.

Buttons- continued A button can be also pressed by pushing a block on it. There is an invisible button that can unblock something if it detects all enemies in the room are clear.

Pickupable Any item that the player can pick up. Can be animated, and can be set to an unpickupable state to be used as a background animated tile.

Enemies Enemies have several simple AI types, and attack the player.

Overlay A layer of PNG images that are drawn on top of all of the layers semi-transparently. Can be used for shadows, clouds, or anything else that would cover areas of the map. The overlay layer can be animated.

Music The music file contains the filename for the music file that will be looped in the background of the map. Currently, only music files less than 1MB are supported due to limitations in java’s audio, and IO classes.

Operating System Principals Multithreading- Many of the objects in the game run on their own thread. Multiprocessor Support- With elements of the game being able to run on their own thread, the program can be split up to take advantage of a multi-core CPU. Each of the threads are assigned a priority, which allows the Operating System to manage them if the CPU is currently being used by a lot of other processes.

Operating System Principals The IO in my program uses the built in reader for images, and sun’s AudioPlayer to play audio streams. Everything is in a respective folder to its type, and is easy to access. This software system currently takes up 19.4MB, and has over 1,600 files.

Operating System Principals The tree diagram of my program’s files. Tiles/ Images/Maps/Save/Sounds/ Map1/ SaveGame.save Map1.act Map1.blk Map1.but Map1.enm Map1.map Map1.mus Map1.ovr Map1.pik Map1.pit Map1.pus Map1.wrp … … … 01.GIF arrowHit.wav

Significance of points related to embedded operating system principals, policies, techniques or architectures The game must optimized to run on any platform. The game must have a high, and constant frame rate. The game must be modifiable. The game must be easy to control, and the editor must be easy to use.

The game must optimized to run on any platform The code is written in java, which can be run on most all computers. The game is multithreaded, so it can take advantage of hyper-threading, or a multi- core CPU. Even if a computer has a standard, non- hyper-threaded CPU, it still will run.

The game must have a high, and constant frame rate Because everything is threaded, with priorities, the Operating System can manage the threads if the CPU gets overloaded. The game’s rate is controlled by a separate timing thread, which calls for a new frame times per second.

The game must be modifiable. The game comes with a mapmaker. All of its images, sounds and maps can be edited. The files can be edited on the fly, while the game is running. The user just needs to walk out of the map, and back in, to have the changes take place.

The game must be easy to control, and the editor must be easy to use. The game uses WASD to move, E to activate objects, and R to use a weapon. The editor has an easy to use interface. The file structure makes it easy to find files, so they are not all in one giant folder.

Methodology and technology for the solutions related to embedded operating System Principles, policies, techniques, or architectures Java has the Thread class, which can be extended by a custom class to allow a program to run as a separate thread. With the performance benefits of multithreading on a multi-processor system, the CPU load by my program is usually within 0-2%. The file structure of my program allows easy access to maps, and files. This makes it easy to edit, and transfer the maps to a friend.

Sources Used "Hyper-threading." Wikipedia, The Free Encyclopedia. Wikimedia Foundation, Inc. 13 Nov “Java 2 Platform Standard Edition 5.0: API Specification.” Sun Microsystems, Inc “Legend of Zelda Sound Effects.” Creator: “HelpTheWretched.” “Operating Systems: Internals and Design Principals” William Stallings. Pearson Prentice Hall, Pearson Education Inc. Upper Saddle River, NJ “The Legend of Zelda: A Link to the Past” Shigeru Miyamoto, Nintendo. April 13, Super Nintendo Entertainment Center. "Thread (computer science)." Wikipedia, The Free Encyclopedia. Wikimedia Foundation, Inc. 2 Dec 2007.