• Non ci sono risultati.

Marco Tarini

N/A
N/A
Protected

Academic year: 2021

Condividi "Marco Tarini"

Copied!
15
0
0

Testo completo

(1)

Master Game Dev Verona, 2014-2015

Game Engines

Marco Tarini

General info

Marco Tarini

Google for “marco tarini”, 1stlink Follow “teaching” (bottom)

Follow “Master Computer game dev 2015”:

pagina del corso: materiale, lucidi, links.

Follow “contact” (bottom)

Mail, tel, etc…

(2)

This Course

this course

Possibili testi di rifemento

(1/3)

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…

Game Engine Architecture

Jason Gregory

Abb. completo (con cenni di:

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

(3)

Possibili testi di rifemento

(2/3)

Introduction to Computer Graphics

a practical Learning Approach

Ganovelli, Corsini, Pattanaik, Di Benedetto

Tutto sulla CG, cenni di CV. Javascrpit + WebGL (+ GLSL).

Pratico. Accento sui games!

Possibili testi di rifemento

(3/3)

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)

(4)

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 Rail shooter 3rd person

Action-Adventure Stealth Survival horror Exploration PoP / Tombrider Adventures

IF - Interactive Fiction Real time 3D adv Text

Board game Card games … Strategy

4X RTS

MOBA / MMOG Strategy 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 Fighting game Sport games

Simulation / management

(5)

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 …

(6)

Categorie: per sviluppatore

Independent games No/small 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

(7)

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 / Tilesets

3D games

Modelli + Scene 3D

TileSet TileMap Sprites

(8)

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap / Tilesets Tecnologie:

«Blitting»

Tilemap rendering e 2D scrolling Funzionalità sprite

sprite collision detection («pixel perfect») 2D transforms

Transparency, z-ordering…

2D physical engines (a volte)

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)

Categorie:

per tecnologie video usate

2D games

Sprites + Tilemap Tecnologie:

3D games

Modelli + Scene 3D Tecnologie:

...

...

blender game engine

(9)

non di gameplay)

2D engine 3D engine

2D gameplay3D gameplay

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:

riuso riuso riuso riuso!!!!

+Animations

scripted or computed

(10)

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

Game

Dev-Teams

Tecnici

Artisti

(11)

Dev-Teams

Tecnici

Artisti

game assets

Intro: game assets!

(aka game contents)

3D data models textures materials shaders animations collision objects etc

audio music sound fxs ambient sounds voice overs etc video

2D art

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

etc text

dialogues trees messages translations etc etc:

scripts stats

(12)

Game

Dev-Teams

Tecnici

Artisti

game engine game

tools

sviluppano customizzano

inegrano

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

(13)

game assets

Game Tools

game

game engine game

tools

digital artists

game assets

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

2D art

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

etc text

dialogues trees messages translations etc etc:

scripts stats

(14)

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

(15)

(aka game contents)

3D content 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 (e.g. buttons, bars), [ sprites & tile-sets ? ] fonts

[ concepts ] etc text

dialogues trees messages translations etc etc:

scripts, stats, levels…

3D Models i.e. tri-meshes with:

per vertex attrib normals, color, AO, … LODs

“uv-mapping”

keyframes cyclic animations face-morphs, …

“skinning”

Materials

lighting model stats / flags textures

RGB maps normal maps alpha maps … shaders

Parte 3D dei game assets

Animations

blend shapes skeletal animations kinematic animations geometry caches

Skeletons (rigs)

Collision objects

hit-boxes bounding objects

Particle systems

Environments

3d scenes skydomes

Riferimenti

Documenti correlati

A simple rendering method is presented to avoid vertex seams in cylindrical and toroidal uv-mappings used for texture mapping (a vertex seam is a vertex dupli- cation of a

The main observation behind this approach is that, when the 3D scene is viewed from exactly the same view position from which the picture was shot, the image content appears just as

(in one subdivision step, 1 triangle is split into 4 triangles) (and one vertex is added for each edge).  coordinates / attributes of new vertices are computed from

volumetric data, polygonal meshes, NURBS, splines, subdivision surfaces, LODs, multiresolution structures…. • 3D acquisition (catturare modelli 3D

Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2016/17..

quanto è oneroso applicare ad uno (o ventimila) punti /

Mathematics for 3D Game Progr. (3za ed)

Bisogna scrivere un programma che legga da un file una sequenza di eventi, come l’introduzione di una nuova persona nel gruppo delle cene, l’estromissione dallo stesso gruppo