at UVU

Preview:

DESCRIPTION

C S 3 5 4 0. at UVU. Dr. Brian Durney. Computing and Networking Sciences. Why Game Programming?. It’s fun! . (Most of the time) It’s also a whole lot of work: game design software design and implementation art, music, sound, writing testing. Nine Billion Dollars. - PowerPoint PPT Presentation

Citation preview

Dr. Brian DurneyComputing and Networking Sciences

at UVU

C S 3 5 4 0

Why Game Programming?

It’s fun! (Most of the time)

It’s also a whole lot of work:• game design• software design and implementation• art, music, sound, writing• testing

Nine Billion DollarsComputer games are a big industry.

"More money is spent on games than on movies."

...but...

ResearchYes, real research:

No, they’re not talking about chess.

Human-level AI’s Killer Application:Interactive Computer Games

John E. Laird and Michael van LentUniversity of Michigan

My favorite things:• Graphics Programming• Artificial Intelligence• Network Programming• Interesting Math Problems• Game Design• Writing and Art

What we will do this term:• Graphics

• Game Design

• Game AI

Graphics

Unity unity3d.com

Why Unity?• Cross-platform Windows and Mac OS X• Easy to use (for a game engine) but

powerful• It’s free…or at least there is a free version• Web browser plug-in

Assignment 1: Unity Box World Game

• User input• Image texture• 3D model• Moving objects• Collision detection• Timer• A way to win

GameDesign

What makes a good game?

Game Review and Presentation

Look at a commercial game in terms of the game design principles we discuss in class.

Interactive Fiction• Text games• Venerable ancestors of ...• Game balance, story line, nonlinear plots,

characters, combat, etc.• Story generation

Game AI

Write a program to control a bot.

We will also look at this game in terms of graphics and game design.

http://universe.tc.uvu.edu/uvbots/index.html

UV Bots

Server DisplayClient

BotClient

BotClient

BotClient

http://universe.tc.uvu.edu/uvbots/index.html

Programming Problem

How can the server efficiently tell when one bot hits another?

Programming Problem

How can the display keep the beam from going through obstacles?

3D Display using Unity

AIIDEArtificial Intelligence in Interactive Digital Entertainment

Story generator and director• Automated dungeon master

– Creates map– Creates plot/storyline– Runs adventure

Easy, right?

Educational Games

What makes a game fun?

What makes agame educational?

Fast Foot Challenge• And light bikes, and …

Quest-o-Matic

Richard Bartlehttp://www.aigamesnetwork.org/main:events:ainpc

www.spacecamputah.org

CMSEC SimulatorsCMSEC Simulators• Human flight director• Single ship• Cocoa (Mac OS X)

iWorlds simulator project• Multiple ships• Cross-platform with HTTP communication

– Clients can be written using JavaScript, Flex, Unity, Java, etc.

– Web-based games are possible• Educational games

Disclosure: I own a piece (OK, a small (very small, really) of iWorlds.I think that programming the iWorlds simulator and games makes a great project, but there is no requirement to do so.

Unity 3D display

OMEGA Organization for Making and Exploring Game Applications

http://universe.tc.uvu.edu/csclub/

Help build a computer game experience like no other: a game that puts you and your friends on a starship bridge with a 50-inch main view screen, 6 computer stations, and props, fighting an enemy crew that's just waiting to blow you away in real-time space combat.

OMEGA simulator project• Optional AI flight director• Real-time• 3D graphics• Online—MMO (or at least MO) RPG or

RTS some day

• Working with iWorlds

Project• I encourage groups of 2 to 3 students for

the project.• Specialize in graphics, game AI, game

design.• Complete

– Not necessarily a complete game, but should be a complete game, tool, or library.

• Programming required– Not just a level design– I must be able to read your source code and play your

game.