Motores de juego ptk

download Motores de juego ptk

of 36

  • date post

    30-Oct-2014
  • Category

    Documents

  • view

    6
  • download

    0

Embed Size (px)

description

Motor de juego 2d

Transcript of Motores de juego ptk

Motores de Juego Motor 2D: PTKJos Carlos Cortizo Prezhttp://www.esp.uem.es/jccortizo josecarlos.cortizo@uem.es

Departamento de Sistemas Informticos Escuela Superior Politcnica Universidad Europea de Madrid1

Ubicacin

Jos Carlos Cortizo Prez2

Indice

Jos Carlos Cortizo Prez3

Indice

Jos Carlos Cortizo Prez4

Motor 2DPermite gestionar el trabajo con grcos 2D de la forma ms simple, rpida y eciente Al igual que los Motores 3D, suele apoyarse en libreras grcas (OpenGL,DirectX) Pero aporta un mayor nivel de abstraccinJos Carlos Cortizo Prez5

Motor 2D

Funcionalidades Tpicas Gestin de Sprites Colocar bitmaps (varios formatos) por pantalla soportando transformaciones y canales alfa Gestin de capas Gestin de la entrada Gestin del sonido etc.Jos Carlos Cortizo Prez6

Motor 2DMotor 2D vs API

Es difcil establecer el lmite El Motor 2D es un paso ms all de abstraccin que un API pero nadie establece una barrera clara Lo nico que importa del motor 2D es que nos ahorre tiempo

Jos Carlos Cortizo Prez7

Motor 2DEjemplos SDL: Simple DirectMedia Layer. Uno de los ms importantes. Muchos motores lo utilizan como API de soporte Haafs Game Engine PTK 2D Game Engine Torque Game Builder Pro Allegro: Como SDLJos Carlos Cortizo Prez8

PTK

Introduccin

PTK es ms bien un SDK (Software Development Kit) Es multiplataforma (Windows/Mac Os X) Tiene ciertas capacidades 3D Por debajo utiliza OpenGL o DirectX Se programa con C++Jos Carlos Cortizo Prez9

PTK

Juegos desarrollados con PTK

Jos Carlos Cortizo Prez10

PTK

en Visual Studio

Para Visual Studio .Net 2003Conseguir PTK (www.phelios.com/ptk) Instalar Ptk y descomprimirlo en un directorio fcilmente accesible Crear un proyecto de VC++ vaco

Jos Carlos Cortizo Prez11

PTK en Visual Studio Ptken Visual Studio

Jos Carlos Cortizo Prez IV Master en Diseo y Programacin de Videojuegos 12 Prof. Jos Carlos Cortizo Prez

PTK

en Visual Studio

Ptk en Visual Studio

IV Master en Diseo y Programacin de Videojuegos Prof. JosJos Carlos Cortizo Prez Carlos Cortizo Prez13

13

PTK

en Visual Studio

Crear un archivo fuente (p.e. main.cpp) para que el Visual Studio se de cuenta de que es un proyecto C++

Jos Carlos Cortizo Prez14

PTK

en Visual Studio Seleccionamos las propiedades del proyecto Seleccionamos C/C++, y dentro de ah el nodo General Seleccionamos Todas las Conguraciones del panel de Conguraciones En Directorios adicionales incluidos, referenciamos la carpeta libptk\pc\headers, si nuestro proyecto lo hemos creado al lado de Ptk, la podemos referenciar como ..\ptk\libptk\pc \headersJos Carlos Cortizo Prez15

PTK

en Visual Studio

Ptk en Visual Studio

Jos Carlos Videojuegos IV Master en Diseo y Programacin de Cortizo Prez Prof. Jos Carlos Cortizo Prez 16

PTK

en Visual Studio

Seleccionamos el Nodo de Linkado, y el nodo General dentro de l en Directorios de Libreras adicionales, referenciar libptk\pc \libmicrosoftvc, de forma similar al anterior p.e. ..\ptk\libptk \pc\libmicrosoftvc

Jos Carlos Cortizo Prez17

PTK en Visual Studio Ptken Visual Studio

IV Master en Diseo y Programacin de Videojuegos

Jos Carlos Cortizo Prez18

PTK

en Visual Studio

Seleccionamos Linker->Input Node y en Dependencias Adicionales, metemos: libptkvc.lib ksoundvcstatic.lib winmm.lib opengl32.lib dsound.lib dxguid.lib

Jos Carlos Cortizo Prez19

PTK en Visual Studio Ptken Visual Studio

Jos Carlos Cortizo Prez IV Master en Diseo y Programacin de Videojuegos 20 Prof. Jos Carlos Cortizo Prez

PTK

en Visual Studio

Seleccionamos Debug del panel de Conguraciones, si pide guardar los cambios, le decimos que si En la misma pgina, en Ignorar Libreras Especcas, ponemos libcmt;libc. Seleccionamos AplicarJos Carlos Cortizo Prez21

PTK en Visual Studio Ptken Visual Studio

IV Master en Diseo y Programacin de Videojuegos

Jos Carlos Cortizo Prez22

PTK

en Visual Studio

Cambiamos a conguracin de Release y aadimos libc a la seccin de Ignorar Libreras Especcas Seleccionamos el nodo C++->Generacin de Cdigo En Libreras de Ejecucin (Runtime Library), seleccionamos Multi-threaded (/MT) y damos a AplicarJos Carlos Cortizo Prez23

PTK en Visual Studio Ptken Visual Studio

IV Master en Diseo y Programacin de Videojuegos

Jos Carlos Cortizo Prez

24

PTK

en Visual Studio

Seleccionamos modo Debug y dentro de ah seleccionamos Multi-Threaded Debug (/MTd) Aplicamos y listo

Jos Carlos Cortizo Prez25

PTK en Visual Studio Ptken Visual Studio

IV Master en Diseo y Programacin de Videojuegos

Jos Carlos Cortizo Prez26

PTK

en Visual Studio Ahora falta aadir una serie de cheros .lib al directorio recursos del proyecto Se encuentran en dnde est instalado el VS, \Vc7\PlatformSDK \Lib d3dx.lib; ddraw.lib; dsound.lib; dxguid.lib OpenGL32.lib; Shell32.lib; WinInet.lib; WinMM.libJos Carlos Cortizo Prez27

PTK

Hola Mundo#include "ptk.h" KWindow *window; int WINAPI WinMain(IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd ) {

window = KPTK::createKWindow( K_OPENGL );

window->createGameWindow(640, 480, -1, true, "PTK Example");

window->setClearColor(1.0f, 0,0, 1.0f);

window->setWorldView(0,0,0,1.0f, true);

int saliendo=0;

do {

window->setClearColor( 0,0,0,0 ) ;

window->setWorldView( 0 , 0 , 0 , 1 , true );

//surf_menu->blitRect( 0,0,1024,768,0,0 ) ;

window->flipBackBuffer( ) ;

if ( KInput::isPressed( K_VK_RIGHT ) == ISDOWN )

saliendo = 1;

} while( saliendo == 0 );

return 0; }

Jos Carlos Cortizo Prez28

PTK: Ejemplo

Desarrollo de un Pacman

Como primer objetivo de esta parte de la asignatura, se pretende realizar un pseudo-pacman Este pacman tendr un pacma controlable por el usuario y podr pasearse a su antojo por un laberinto (respetando los sitios por donde puede y por donde no puede ir) Existir un fantasma que tratar de seguir al pacmanJos Carlos Cortizo Prez29

PTK: Ejemplo

Desarrollo de un Pacman

El cdigo se encuentra en la web de la asignatura Bajadlo, probadlo, comprendedlo y posteriormente... Los ejercicios

Jos Carlos Cortizo Prez30

PTK: EjerciciosEjercicio 2D:1

Modicar el Pacman para que cundo el fantasma pille al Pacman, se acabe la partida y se pida al usuario que pulse una tecla para continuar. Si la pulsa, se reiniciar el juego

Jos Carlos Cortizo Prez31

PTK: EjerciciosEjercicio 2D:2

Modicar la Inteligencia del fantasma para que no se quede parado en algunas esquinas en determinadas situaciones

Jos Carlos Cortizo Prez32

PTK: EjerciciosEjercicio 2D:3

Crear otro fantasma con otro tipo de inteligencia. Documente bien el algoritmo elegido y por qu se elige

Jos Carlos Cortizo Prez33

PTK: Prctica 1Juego 2D

Desarrollar un juego en 2D que sea signicativamente distinto del visto en los ejemplos. Cntrese sobre todo en la parte grca y de control de los sprites. A ser posible, que el juego permita ser mejorado posteriormente mediante la adicin de fsicas, inteligencia articial, control del juego, etc.

Jos Carlos Cortizo Prez34

Alguna pregunta?

Jos Carlos Cortizo Prez35

ReferenciasGame Art: The Graphic Art of Computer Games de Leo Hartas y Dave Morris Game Coding Complete de Mike McShaffry Data Structures for Game Programmers de Ron Penton Focus On 2D in Direct 3D de Ernest Pazera Focus on SDL de Ernest PazeraJos Carlos Cortizo Prez36