minor programming games

Post on 09-Feb-2016

46 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Minor Programming Games. Introduction. Intro: who is who. Lectures: Jan Verhoeven & Leo van der Ploeg. Students: who are you?. Some from abroad? Please introduce yourself shortly. Previous knowledge (needed!). Programming in C++, C# (dot.net) and Java Algorithms and Data Structures - PowerPoint PPT Presentation

TRANSCRIPT

Minor Programming GamesIntroduction

Intro: who is who

Lectures: Jan Verhoeven & Leo van der Ploeg

Students: who are you?

Some from abroad?

Please introduce yourself shortly

Previous knowledge (needed!)

Programming in C++, C# (dot.net) and Java

Algorithms and Data StructuresOO design and programmingUMLSoftware engineeringSome basic mathSoft skills: presentation and

communication and cooperation

Today’s menu (by Jan)Contents of Minor

GamingSome theory about

Tile Based Games Explanation KBS-1 in

detailGame Architecture

And: some videos

Tomorrow’s menu (by Leo)Some mathSome physics

Programming in WIN32 and C++

Exercises (laptop (!) and paperwork)

Our first videoAn example of an 2D scrolling

game:

http://nl.youtube.com/watch?v=8fTEqlzcuMs

Contents Games SemesterFirst Period:

◦ ISGPKBS1: KBS, part 1: an 2D scrolling game

◦ ISGPAI: Artificial Intelligence for games◦ ISGPAD: Algorithms and data structures

Second Period:◦KBS, part 2: a “thinking” game◦2D3D graphics with XNA◦KBS, part 3: graphical 3D interface

ISGPKBS 1: an 2D scrolling gameDesign and program the game in groups of

5 students

Program language: C++ using “native” GDI in a WIN32 environment

Weekly 2 hours classical reviews

More details and specifications later on

Artificial Intelligence (for games)

State and goal based behavior, inter-agent communication, individual and group steering behaviors, team AI, graph theory, search,  path planning and optimization, triggers, scripting, scripted finite state machines, perceptual modeling, modeling memory, command queuing, goal evaluation and arbitration and fuzzy logichttp://www.ai-junkie.com/

Some videosSimple soccer:http://nl.youtube.com/watch?v=2UpOtlS_t7w

Swarms of robots:http://nl.youtube.com/watch?v=xLdc703WSMI

Boids in action:http://nl.youtube.com/watch?v=GUkjC-69vaw

AI Demo’s

Chase and Evade:• Just one mouse• Some more mice

Simple Soccer:•In Win32 C++• With XNA C#

13

Contents of ISGPAIMoving Game Agents lecture 1Simple Soccer and Raven

lecture 2Graphs and Path Planning

lecture 3Scripting and Goal-Driven

Behaviorlecture 4

Fuzzy Logic lecture 5

14

Course plan5 weeks 2x1 hour new theory5 weeks 3x1 hour classroom

training (practice)

15

Course planModule is 112 hours, which is

equivalent to 4 ECExam (study books not allowed,

open questions in English, English dictionary allowed): 50%

Homework and practices: 50%The programming languages are

C++ (Win32) and C# and JavaBlackboard

Algorithms and Data Structures

http://users.cs.fiu.edu/~weiss/dsaa_c++3/code/

Some videosBarack Obama - Computer Science

Question:http://www.youtube.com/watch?v=k4RRi_ntQc8

The sorter:http://www.youtube.com/watch?v=2HjspVV0jK4

18

Contents of ISGPADThe Disjoint Set Class lecture 1

Algorithm Design Techniques◦Greedy Algorithms lecture

2◦Divide and Conquer lecture

2◦Dynamic Programming lecture

3◦Randomized Algorithms lecture

3◦Backtracking Algorithms lecture

4 ◦Advanced Game Algorithms lecture

5

19

Course plan5 weeks 2x1 hour

new theory5 weeks 3x1 hour

classroom training (practice)

20

Course planModule is 112 hours, which is

equivalent to 4 ECExam (study books allowed, open

questions in English, English dictionary allowed) 50%

Homework and practices 50%The programming language is C+

+ and C# and JavaBlackboard

Blackboard

Please enroll as soon as possible:

KBS van de Minor gamingAlgoritmen en Datastructuren voor gamesKunstmatige Intelligentie voor games

Minor Games, 2nd period

Minor Games, 2nd periodKBS, part 2: Design and Program a

thinking game AI engine (KARO) in C#

2D3D with XNA

KBS, part 3: Design and Program an 3D graphical interface for the KARO game in C# and XNA

Ends with a match and presentations

XNA, some videosXNA Collision Test:http://www.youtube.com/watch?v=Zbk8R25xbB4

Goku XNA Game:http://www.youtube.com/watch?v=mN8CgJtzhto

XNA Stress Test:http://www.youtube.com/watch?v=rII5iRLN_lw

KBS – 1An 2D Scrolling Game

Requirements -1-The game consists of at least 3 levels

that make up the game world Each level is at least 3 screen-widths

long and the height is minimal one screen-height

Each level has a specific themeThe game world is based on small

bitmaps (tiles) that are put together through a so called: “level-map”

Bitmaps of the game world can be animated

Requirements -2-The main character in the game should

have the following degrees of freedom: walking left, walking right and jumping

The character should always face the direction it is walking or jumping

The movement of the main character is handled by the arrow keys of the keyboard.

Falling of the main character/enemy should be natural i.e. the character/enemy falls when there is no supporting structure of any kind at his position

Requirements -3-There will be minimal two background

layers to demonstrate parallax scrollingIn each level there will be several

gadgets that make up the game playGadgets can be a variety of elements

in the game: energy points, enemies, trap-doors, water, puzzles etc. Creative use of these gadgets should make the game appealing to play!!

Gadgets can (must?) be animated

Requirements -4-All the graphics for the bitmaps may

be obtained from the internet or other sources.

When a player collides with a gadget, action should be taken (getting points, die, getting extra lives or changing the world map)

When a player collides with a gadget (collision detection), that gadget should disappear (except enemies)

Requirements -5-Enemies can move around in the playfield and

the range should be adjustableThe main character and the enemies must

have environment awareness i.e. they can bump on to walls or other constructions of the game world (boundary detection)

The main character should always be in the centre of the screen during game play except when entering a level or leaving a level (player always enters a level from the left side)

When the main character runs out of lives the game should end

Requirements -6-When the game starts/ends there must be a

splash screenAt each stage of the game the player should be

able to jump to a menu screen where he can save that game and see the high-scores or resume playing

The game should start with this menu after the splash screen

Each layer is separated by a splash screen reflecting the upcoming theme

The game should have sound effects for several features in the game (third party product)

Requirements -7-The game should be programmed in

C++ in WIN32The game program should make

intensive use of a state machine pattern.

Most constants in het game program are parameters in a configuration file (something like params.ini).

The characters in the game should have AI behaviors.

Demo parallax scrollingSee XNA demo:http://www.youtube.com/watch?v=l3wq67W3fFg

See Wikipedia:http://en.wikipedia.org/wiki/Parallax_scrolling

PreparationPlease construct groups of 5

students each for KBS-1 NOW

Start this week by choosing the subject of the game, making a plan of approach, and so on …

Tile Based GamesTheory (in Flash): http://www.tonypa.pri.ee/tbw/start.html

Tile Engine (you don’t have to make it):

http://www.youtube.com/watch?v=jnHo1bC_suU

Yet Another 2D Scrolling Game

Tile game in Java: tilegame.jnlp

Game Architecture Tutorial

One more amazing demo

Tile Based Games in C++ Win32

Last demo and …. HOMEWORK

Pac Man Game with a little AI

You are asked to implement a stronger mister Pac Man (in your KBS-group)

What to do this week?!Study this

presentationsFollow

tomorrow’s workshop

Program a “clever” Pacman

Think about your KBS gameplay

Final

Have fun with the Minor Game Programming

top related