Software Engineering for Computer Games Computer games and game engines – crash course.

Slides:



Advertisements
Similar presentations
BEST PRACTICES IN TEACHING INTRODUCTORY PROGRAMMING Beth Simon, Computer Science and Engineering UC, San Diego.
Advertisements

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.
Software Engineering IDE and Development Engines engines – crash course.
Slides prepared by Rose Williams, Binghamton University ICS201 Lecture 23 : Generics King Fahd University of Petroleum & Minerals College of Computer Science.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Title Page. Over course of two years you will complete 6 units. These will include: five portfolios Unit 1 – Using ICT to communicate Unit 3 - ICT for.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
INDIVIDUAL MARKS THE REST = TEAM MARKS. INDIVIDUAL MARKS THE REST = TEAM MARKS.
Activity, Collaboration, and Component Diagrams Philip Liew
CS 501: Software Engineering Fall 2000 Lecture 4 Management I: Project Management.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
1 Projects for the Game Development Process Class Mark Claypool.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
COMP4710 Senior Design Richard Chapman. Outline What is Senior Design? What is Senior Design? Course Structure Course Structure End of Cycle Binder End.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 11 Management Decision Making.
Ben Brown END USER PROGRAMMING FROM A CASE PERSPECTIVE: GAMEMAKER AS AN END USER DEVELOPMENT TOOL.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
Computer Animation 2D Game Logic. What considerations should be addressed when designing a good game? What Makes A Good Game? (excerpts from Mark Overmars,
Dr Rong Qu Module Introduction.
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
CSCI 101 Introduction to Software Development and Design.
1 USING EXPERT SYSTEMS TECHNOLOGY FOR STUDENT EVALUATION IN A WEB BASED EDUCATIONAL SYSTEM Ioannis Hatzilygeroudis, Panagiotis Chountis, Christos Giannoulis.
STEMCenter for Teaching & Learning™ Engineering byDesign™
1 Videoconferencing Implications for Teaching Peter Scott - ILT Advisor, RSC Wales
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Object Oriented Analysis and Design Introduction.
Game Maker Day 2 Making a Maze Game.
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 8 Fall 2010.
Introduction to Alice Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
Introduction to Alice Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
11 A First Game Program Session Session Overview  Begin the creation of an arcade game  Learn software design techniques that apply to any form.
Introduction to Programming G50PRO University of Nottingham Unit 3 : Introduction To Scratch 2 Paul Tennent
GAME:IT Junior Learning Game Maker: The Move Tab.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
Object-Oriented Programming and the Progress ABL Tomáš Kučera Principal Solution Engineer / EMEA Power Team.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
Term project CS3141 Fall Project #1 A Calendar Software –Core Functions multiple user access –control other user to read/modify your calendar event.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Art 315 Lecture 6 Dr. J. Parker. Variables Variables are one of a few key concepts in programming that must be understood. Many engineering/cs students.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
The development of common partnership and interuniversitary scientific research according to the principle of sustainable development TRAINING COURSE Romania,
TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
1 Course Summary Fall 2005 CS 101 Aaron Bloomfield.
University of Limerick1 Computer Applications CS 4815 Robocode.
CIS125G Computer Game Development. Goals Learn: – How to design games – How games are studied – How games are developed – How to manage software projects.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?
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.
Part 1: Composition, Aggregation, and Delegation Part 2: Iterator COMP 401 Fall 2014 Lecture 10 9/18/2014.
CITS4211 Artificial Intelligence Semester 1, 2013 A/Prof Lyndon While School of Computer Science & Software Engineering The University of Western Australia.
Jeff Kern NRAO/ALMA.  Scaling and Complexity ◦ SKA is not just a bigger version of existing systems  Higher Expectations  End to End Systems  Archive.
How to Program a Game: A Super Crash Course, A Talk or Something!
Pragmatics 4 Hours.
Systems Analysis and Design in a Changing World, Fourth Edition
Game Engines By James Tedder.
Pega 9/14/2018 8:48 AM Definition of Done = ready for PO acceptance
Teaching slides Chapter 1.
CSC115 Introduction to Computer Programming
Unit 20 Software Part 2.
Unit 20 Software Part 2.
Game Maker Intro to Programming Game Maker Pop Quiz (Both Groups)
Vrije Universiteit Amsterdam
So you want to be a Game Designer
Scratch – Simple Programming
Presentation transcript:

Software Engineering for Computer Games Computer games and game engines – crash course

Game engine Computer game = infrastructure + content Game engine = infrastructure layer of game development process

Game engine Same infrastructure, several games  Example: Unreal engine ( Dozens of games developed using Unreal Big business: Unreal license can cost US$750,000

Game engine – Unreal Unreal games (a few examples):

Game engine “Technical” issues encapsulated in infrastructure “Artistic” issues (i.e. content) released from technicalities

Game engine generic useful Usefulness versus Genericity

Game engine – 2D engines 2D games are (just) slightly simpler to develop and implement, including technical issues 2D game engines have (just) slightly less problems with which to deal

2D game engine – example Gamemaker by Mark Overmars Written in Delphi v.7 About 40 thousand lines of code Project started in 1999 First public release took about 4 months Present version: 6.1

2D game engine - example Hints:  Follow the simple game construction example in the next slides  From that, infer some basic features your game engine must present  Check the material at  Build your requirements

2D game engine – example WARNING:  Your project cannot be too complex – otherwise you will not complete the required steps in time  Your project cannot be too simple – it MUST keep the whole team busy, and it MUST be such that a smaller team could not complete it

Gamemaker A maze game

Gamemaker Graphic elements (“sprites”) – wall

Gamemaker Graphic elements (“sprites”) – goal

Gamemaker Graphic elements (“sprites”) – agent

Gamemaker Objects – wall (no associated event)

Gamemaker Objects – goal

Gamemaker Objects – agent(I): move according to arrows

Gamemaker Objects – agent(II): grid alignment

Gamemaker Objects – agent(III): stop when hitting wall

Gamemaker Rooms:

Gamemaker Rooms:

Game engines Additional information:  Game Engine Anatomy 101 –  Your lecturer  Your teaching assistants 