• Non ci sono risultati.

Follow “Computer Game Dev 2015/2016”

N/A
N/A
Protected

Academic year: 2021

Condividi "Follow “Computer Game Dev 2015/2016”"

Copied!
18
0
0

Testo completo

(1)

General info

Marco Tarini

Google for “marco tarini” 1

st

hit Follow “teaching”

(bottom)

Follow “Computer Game Dev 2015/2016”

è la pagina del corso:

materiale, lucidi, links.

Follow “contact”

(bottom)

Mail, tel, etc…

Università degli Studi dell’Insubria

Game Development

Marco Tarini

(2)

Video Game Development

Sviluppo software di un Video Game

Perchè un corso specializzato su questa categoria di sviluppo sw?

Video Games: fun facts

Industria enorme

Video games = killer app

Propulsori di tecnologia (HW e SW) Performance and complexity

Stato attuale:

consolidato set di soluzioni specifiche

(3)

Video Games: fun facts

Sono,

più spesso di qualunque altra categoria di sw:

le app più demanding sul tuo computer

e alcuni dei software più complessi

propuslori di progresso tecnologico HW / SW

CPU speed, bus, mass storage, sound cards, video cards, input devices, ...

on consoles, PCs, mobile devices...

“killer apps”

Video game industry: muove somme enormi

Molto > che, per es, movie industry

Conferenze e congressi su Video Game Dev

SIGGRAPH

ACM Special Interest Group

i3D

Interactive 3D

GDC

Game Developers Conference

E3

Electronic Entertainment Expo

PAX

Penny Arcade Expo

(4)

Cosa impareremo in questo corso

Cosa NON impareremo in questo corso

Game Design

es. design del gameplay

Artistic asset creation

gli skill propri dell’artista digitale

Game studies

(o ludology) Aspetticulturali/storico/ sociali/ filosofici…

videogame history videogames come media (o IL next media)

…e le molte controversie videogame Scene

Game Theory

alla Nash

neanche: Combinatorial GT

Serious gaming

(≠ entertainment) e.g. “Gamification”

e.g. “Edutainment”

(on line) marketing

o funding Schemas, schemi di distribuzione…

Aspetti generali di

Programmazione Computer Graphics Artificial intelligence Networking / ambienti distribuiti

Software engineer (vedi playtesting)

(5)

Cosa impareremo in questo corso

Nozioni sulle tecnologie più utilizzate dai moderni Computer Games

Algoritmi + Strutture Dati Ambiti:

Rendering, Modellazione, AI, Physical simulation…

Struttura di:

un video game un game engine video game tools video game dev-teams

Skills e conoscenze che verranno affinate

Matematica

Geometria, 3D

Programmazione

Imperativa ad oggetti, come C++, C#

Event based programming

Computer Graphics

Rendering real time Tecniche di animazione

Artificial intelligence

Alcuni specifici algoritmi, molto rudimentale

(6)

Possibili libri di testo (1/2)

Game Engine Architecture

Jason Gregory

Abb. completo (con cenni di:

software tools, software eng., AI prog, CG prog, math, game design...)

Mathematics

for 3D Game Progr. and C.G.

(3za ed) Eric Lengyel

Copre bene il lato + tecnico: 3D math, CG pipeline, geometry + transforms, raytracing, visibility, physic sims, semplice geom processing…

Possibili libri di testo (2/2)

Game Coding Complete

(4ta ed)

Mike McShaffry,David Graham

Visione pratica (attenzione a osolescenza) Accento su coding, software eng (es memory managment).

Introduction to

3D Game Programming

with DirectX 11 Frank Luna

Rendering / GPU (in pratica, copre il corso di CG)

(7)

Video Games

(Interactive Electronic Entratainment)

“The Last of Us”

(Naughty Dog, 2013)

“Space Invaders”

(Taito, 1978)

~35 anni

Categorie: per gameplay

Puzzle game Color matching Hidden object Trivia game … Action game

Beat’em up / hack’n’slash Fighting

Pinball Platform Maze Shooter

FPS MMO FPS LightGun Shoot’em up (shumps) Rail shooter 3rd person

Action-Adventure Stealth Survival horror Exploration PoP / Tombrider Adventures

IF - Interactive Fiction Real time 3D adv Point and click

Board game Card game … Strategy

4X RTS

Strategy MOBA / MMOG Action-RTS

Tower defences Vehicle simulation Driving simulator Flight simulator

Amateur Combat Space ...

Racing game Vehicular combat Role-playing games

RPG (occidentali, orientali) Sandbox RPG

MMOPRG Roguelikes Action RPG Sport games

Soccer / Football / … Simulation / management

(8)

Categorie: per fasce utenti

casual games

VS

hard core games

Categorie: per piattaforma

Arcade

PC stand-alones

Aka “desktop app”

(“computer game” propriamente detto)

Win, Mac, Linux…

Console

Wii, PS, XBox …

Browser

html5, webGL, unity, flash…

Mobile devices

Android, iDevices, PSP …

(9)

Categorie: per sviluppatore

Independent games No/tiny publisher:

Mainstream games Big publisher

cosa fa un

video-game publisher?

Tasks:

finanzia lo sviluppo compreso licenze distribuzione marketing

pubblicità, lancio, ricerche di mercato...

packaging, manuali localization

Alto rischio

(10)

Categorie: per sviluppatore

Independent games No/small publisher Low starting $ Team piccoli

+ libertà +innovazione

(spesso)

Strade alternative per:

Funding

per es: Crowd funding come indiegogo.com, kickstarters.com, … Distributing

es: steam, popcap, apple store…

Mainstream games Big publisher Big $ per project

(spesso, mega-$’s)

High quality: imperativa Dev-teams grandi

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap

3D games

Modelli + Scene 3D

TileSet TileMap Sprites

(11)

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap

3D games

Modelli + Scene 3D

3D rendering techniques 3D animation techniques

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap Tecnologie:

Blitting Tilemaps

e 2D scrolling Funzionalità sprite

sprite collision detection 2D transform

(2D physical engines) (raramente)

3D games

Modelli + Scene 3D Tecnologie:

3D Modelling Scenegraph, models 3D Real time rendering

trasformazione 3D Illuminazione, 3D animations

Cinematica, motion capture, model animations...

3D phyisical simulations (3D sound localization)

(12)

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap Tecnologie:

3D games

Modelli + Scene 3D Tecnologie:

...

...

blender game engine

(NB: parliamo di engine non di gameplay)

2D engine 3D engine

2 D g a m e p la y 3 D g a m e p la y

(13)

Game Dev: introduzione

Sviluppo sw molto particolare

complesso

a cavallo fra arte e tecnologia e scienza

“Efficiency is KING”

Sviluppo Video Game:

alcuni ingredienti

Programmazione Avanzata Strutture dati, multithreading,

programmazione ad eventi, networking Deployment

Cross platforms, mobile platfororms, browsers Gameplay design

Artificial Intelligence Computer Graphics (3D) Software Engineering

Ad-hoc input and output devices Digital Art

(una marea)

(14)

Game Dev

Task comuni affrontati

Rendering

Real time transofrm + lighting

Phyisics

Newtonian physical simulations Collision detection + response

Networking

Sound rendering Input managing

Struttura del programma

Loop di gestione degli eventi

Memory management Artificial intelligence

Sotto task comuni:

Struttura generale

riuso!

+Animations

scripted or computed

Quanto riuso nel game dev

x 1 solo

gioco

x qualunque

gioco

Zero riuso Riuso totale x

gioco o varianti

x molti generi x

un genere x

giochi simili

http://www.wolfire.com/overgrowth

Per es: Modding

(15)

Game

Dev-Teams

Tecnici

Artisti

Game

Dev-Teams

Tecnici

Artisti

(16)

Game assets!

(aka game contents)

3D data models textures materials shaders animations collision objects scenes etc audio

music sound fxs ambient sounds voice overs etc video

cut-scenes, intros, etc

2D art

screen splashes backgrounds GUI / HUD elements [ sprites & tile-sets ? ] fonts

etc text

dialogues trees messages translations etc etc:

scripts stats levels etc

Game

Dev-Teams

Tecnici

Artisti

game engine game

tools

sviluppano customizzano

integrano

(17)

Game Engine

GRAPHICS PHYSICS

NETWORKING

ARTIFICIAL INTELLIGENCE

GUI + INTERFACES . . .

SCRIPTING

ASSET MANAGEMENT SOUND

Game Engine

Parte del game che si occupa di alcuni dei task “comuni”

Scena / livello Renderer

Real time transofrm + lighting Models, materials … Physics engine

(soft real-time) newtonian physical simulations Collision detection + response

Networking

(LAN – es tramite UTP)

Sound mixer e “sound-renderer”

Gestore unificato HCI devices

Main event loop, timers, windows manager…

Memory management Artificial intelligence module

Soluz dei sotto task comuni AI Supporto alla localizzazione Scripting

GUI (HUD)

Animations scripted or computed

(18)

game assets

Assets in

Game Development

game

game engine game

tools

digital artists

game assets

MOD assets digression:

Game [MOD] Development

game

game engine (public)

game tools

game fans!

MOD

assets

Riferimenti

Documenti correlati

Durante l’incontro verranno analizzati i principali stereotipi legati ai giochi, condivisi alcuni elementi che possano aiutare i genitori a gestire questo momento (dall’acquisto

even the system does not (explicitly) handle rotations or angular velocities (works in 3D as well!).. Position

 If different parts of mesh associated to different textures: decompose the object in sub-mesh.. Texture maps assets and

 Strategy 1: use local lighting, but feed it a position dependent light environment.  precomputed

– come sappiamo, cumulabile con qualunque altra trasf..

The rules also specify that the set of coins that may be turned over depends only on the position of the rightmost coin turned over and not otherwise on the position of the other

The characteristic function of a TU Game may be obtained starting from the strategic or normal form of the game, taking into account the different possible total payoffs of a

La soluzione proposta non è esente dai limiti di ogni game engine e authoring tool: in particolare, quando si crea un software di questo tipo si limita per forza la creatività di