Department of Computer Science & Engineering

Slides:



Advertisements
Similar presentations
Scratch for Storytelling Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Advertisements

Code Club Session 3 Shark Eats Fish. Picture of finished product here.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
CS107 Introduction to Computer Science Loops. Instructions Pseudocode Assign values to variables using basic arithmetic operations x = 3 y = x/10 z =
Thraxion: Three Dimensional Action Simulator Justin Gerthoffer, Jon Studebaker, David Colborne, Jeff Stuart, Frederick C. Harris, Jr Department of Computer.
A Technical Game Project 4 Due dates: Game Idea Friday, March 16 th Game Plan Friday, March 23 rd Web Page Sunday, April 9 th First Playable Wednesday,
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Game city International Starting on the road to programming. This project is all about learning how to program using scratch and other languages. The aim.
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Client/Server Architectures
Things you need to know George Georgiev Telerik Corporation
CSCI 101 Introduction to Software Development and Design.
Face Detection using the Viola-Jones Method
Using C++ and OpenGL George Georgiev Telerik Corporation
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
Introduction to TouchDevelop
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 8 Fall 2010.
Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has.
Department of Computer Science & Engineering Background Subtraction Algorithm for the Intelligent Scarecrow System Francisco Blanquicet, Mentor: Dr. Dmitry.
How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
XNA An Introduction. What XNA is… Microsoft® XNA™ is composed of industry- leading software, services, resources, and communities focused on enabling.
Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Game Maker Terminology
Game Maker – Getting Started What is Game Maker?.
Andrew Claus Greg Conklin CIS 487/587 Fall  Sierra-Style Interface and Gameplay  The Legend of the Red Dragon related Storyline  30 Different.
SkyNET Visualization Team Demo and Architecture Overview.
Nostromo Tom Patecky Ross Brown. Operational Concepts Based on Ambrosia Software’s Escape Velocity series Based on Ambrosia Software’s Escape Velocity.
ENGR-TS-2: The students will develop an understanding of how the design process is used to develop a technological system.
Decision Structures, String Comparison, Nested Structures
CompSci Introduction to Jam’s Video Game Package.
Virtual Navigation of Multimedia Maps A versatile map generator and viewer Virtual Navigation of Multimedia Maps A versatile map generator and viewer Robert.
CompSci 44.1 Game Package Introduction to Jam’s Video Game Package.
1 Understand what Scratch is and what it can be used for Lesson 1: Learning Objectives.
Chapter 3 Whole Numbers Section 3.5 Algorithms for Whole-Number Addition and Subtraction.
Review Scene Management (Scene, Layer, Director) Sounds Menus Sprites & Actions.
Scratch Programming Cards
Welcome! My name is Dr. Sab Babu A bit about myself
MORE Genre Specific Physics
Collision Theory and Logic
Hand Gestures Based Applications
Algorithms and Problem Solving
Basic Principles Photogrammetry V: Image Convolution & Moving Window:
Object Oriented Programming Spring Semester
Programming Languages
Nonogram Solver Cs491b Software Design Prepared by :
Mrs. Tracy Moricone Game Design Project 3
Collision Theory and Logic
Scratch Unit Overview We are going to look at computer programming and how to create your very own computer game The piece of software we will be using.
Game Description Story Goals Controls. Game Description Story Goals Controls.
Lecture No.43 Data Structures Dr. Sohail Aslam.
Mazen Alkoa’ & Ahmad Nabulsi Submitted to Dr. Sufyan Samara
Using a Stack Chapter 6 introduces the stack data type.
Computer Science I CSC 135.
Using a Stack Chapter 6 introduces the stack data type.
RS – Reed Solomon List Decoding.
Chapter 10 Algorithms.
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
Digital Logic.
Introduction to TouchDevelop
Game Loop Update & Draw.
Scratch for Storytelling
Using a Stack Chapter 6 introduces the stack data type.
Using a Stack Chapter 6 introduces the stack data type.
Algorithms and Problem Solving
Title of Project Joseph Hallahan Computer Systems Lab
Copyright © Aiman Hanna All rights reserved
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
Presentation transcript:

Department of Computer Science & Engineering REU 2006 –Computer Game Design Melissa Muzzi, Mentor: Dr. Jing Wang Objectives Of The Project: To familiarize myself with game programming using the DirectX libraries. To learn the process of creating a computer game from idea to final product. To design a computer game, under the principles of software engineering, where at each playable level of the game: There will be a randomly generated amount of enemies, such that repeating the same level will produce a different set of enemies. The locations of the enemies will be randomly generated. The necessary landmarks of that level will be placed in randomly generated locations. Progress So Far: A. Created a game framework using the DirectX libraries for graphics, sound and input: 1. Direct3D: Added animated, transparent 2D sprites to the project. 2. DirectSound: Added sound files to the project and got familiarized with the Windows wrapper header file used for loading and playing sound files. 3. DirectInput: Added functions to allow for keyboard and mouse manipulations. B. Designed and implemented an algorithm that produced a grouping of randomly selected enemies which depended upon each enemy type’s difficulty level and the total amount of difficulty allowed for a specific playable level. Here, each enemy has a specific difficulty level, represented by a number. Sum = the sum of the difficulty levels of all of the currently selected enemies. Pseudocode for Algorithm 1. Eliminate the type of enemies that are greater than the level amount: For a given array of enemy types If (enemy.difficulty_level > level.difficulty_amount) Continue on to next enemy Else Add enemy to list of valid enemies 2. Run main algorithm: While (Sum < level.difficulty_amount) Randomly select an enemy If (random_enemy.difficulty_level + Sum > level.difficulty_amount) Do nothing Add enemy to list Sum = Sum + random_enemy.difficulty_level Validation of the Algorithm Above, the algorithm is distributed 10,000 times. Here the Amount is equal to 40, and there are four different types of enemies represented by difficulty levels 5, 10, 15 and 20. Notice that all of the combinations of enemies do not have an equally likely chance of occurring. Therefore, the algorithm is not considered to be valid and future work on it still needs to be done. Future Work Planned: 1. Design a collision detection algorithm which will govern the interaction between the dragon protagonist and that of the enemies. 2. Design algorithms that will distribute enemies and landmarks into specific locations in each playable level. 3. Need to create fighting techniques for dragon protagonist and those of a given type of enemy. Each enemy will have unique abilities according to their type. The dragon protagonist will start out with one or two low level abilities and will learn higher level abilities that will be needed for upcoming levels. Above is a picture of a 2D sprite animating across a background. I put together this framework following the book Beginning Game Programming, written by Jonathan S. Harbour. Neither the 2D sprite nor the background will be used in the actual game. However, the framework will act as the backbone upon which the game will be built. Department of Computer Science & Engineering