La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Motor RPG Cristóbal Troncoso. Objetivos Una persona que no sepa programar pueda crear su propio juego de rol a través de editores de niveles y editores.

Presentaciones similares


Presentación del tema: "Motor RPG Cristóbal Troncoso. Objetivos Una persona que no sepa programar pueda crear su propio juego de rol a través de editores de niveles y editores."— Transcripción de la presentación:

1 Motor RPG Cristóbal Troncoso

2 Objetivos Una persona que no sepa programar pueda crear su propio juego de rol a través de editores de niveles y editores de eventos. Separar programación de diseño de juego.

3 Para lograr esto… Las ‘pantallas’, eventos, ubicación de objetos, mapa, salidas disponibles, diálogos, etc. NO pueden estar programados en el engine. Idear un sistema consistente para que un usuario pueda agregar todas estas cosas sin tocar el código. Código flexible a modificaciones.

4 Desafíos de programación Crear un programa capaz de desplegar un entorno gráfico navegable. Python 2.6 / IDLE PyGame 2.9 Photoshop / Paint Notepad

5 Herramientas Python: Lenguaje de programación interpretado (no requiere compilador). PyGame: Librería para asistir en la creación de juegos o entornos gráficos en Python. Paint/Photoshop: Gráficos. Notepad:

6 Desafíos de programación Mover y controlar a un personaje El personaje interactúa con el entorno dispuesto por el usuario no ingeniero… Agilidad en despliegue gráfico Detección de colisiones Navegación por escenarios Despliegue de objetos (muros, arbustos)

7 Agilidad en despliegue gráfico Técnica DirtyRect DirtyRect almacena en una lista los objetos que se están moviendo. Permite actualizar solo el objeto en movimiento en vez de el escenario completo. Útil para juegos sin scrolling.

8 Detección de colisiones Detectar cuando un objeto choca con otro, y tomar la acción correspondiente.

9 Un problema encontrado Personaje recorre el mundo con un step de 3px (ejemplo) Choca con un objeto If choque=1 y usuario sigue avanzando, retroceda en dirección contraria al avance. If choque=1 y usuario no avanza, ¿hacia donde debe retroceder el personaje?

10 Personaje: Bagar

11 Colisiones con Bagar

12 Despliegue de escenario Objeto NivelHandler detecta en que escenario se pretende estar. Ejemplo: “Escenario_1” Recorre la carpeta Escenario_1 en busca de archivos de configuración. Salidas posibles a otros escenarios Objetos “chocables” Imagen de fondo Items para recolección

13 Despliegue de escenario NivelHandler toma todas las salidas posibles e items a desplegar, los convierte a objetos de la clase correspondiente y los hace presentes para el juego y personaje. Al pasar a otro escenario, se “resetean” las listas de objetos para dar paso a los objetos del próximo escenario.

14 Navegación por escenario Si el personaje colisiona con un borde o un “portal” en medio del escenario actual, debe pasar al siguiente escenario.

15 Salidas del nivel

16 Despliegue de objetos Despliegue de objetos mejor explicado con la demostración

17 UML

18 CRC Nombre de Clase: ACTOR Responsabilidades: Dibujar objeto Borrar objeto Mover objeto Superclases: Object Subclases: Bloque, Item, Avatar Colaboradores Librería PyGame

19 CRC Nombre de Clase: AVATAR Responsabilidades: Detectar colisiones Definir bordes de personaje Escuchar teclado para control de personaje Superclases: ACTOR Subclases: Ninguna Colaboradores Librería PyGame


Descargar ppt "Motor RPG Cristóbal Troncoso. Objetivos Una persona que no sepa programar pueda crear su propio juego de rol a través de editores de niveles y editores."

Presentaciones similares


Anuncios Google