Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto...

23
Programación de un videojuego 2D con Open Source Nelson Rojas Núñez

Transcript of Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto...

Page 1: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Programación de un videojuego 2D con Open

SourceNelson Rojas Núñez

Page 2: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Dedicada los que perseveran sin rendirse

Page 3: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Motivación

Page 4: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• La idea

Page 5: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• El loop de trabajo

Page 6: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• Dibujar personajes

Page 7: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• Mover personajes en pantalla

Page 8: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• Reconocer colisión

Page 9: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estructura de un videojuego

• ¿Pierde o gana?

Page 10: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

SDL

• Simple DirectMedia Layer– Video– Audio– CDRom– Entrada de Joystick– Temporizadores

Page 11: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

SDL

• No te preocupes por el hardware

Page 12: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

SDL

• Extensible– Mixer– Image– Text– …

Page 13: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

SDL

• Puedes usar diferentes lenguajes– C– C++– Python (PyGame)– Ruby (RubyGame)– Php– Java

Page 14: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Manos a la obra

• Ventana Inicial• Jugador • Movimiento• Enemigos• Clones de sombra• Movimiento de enemigos• El producto final

Page 15: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

¿Otro lenguaje?

Claro, veamos un ejemplo con Ruby

Page 16: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Estadísticas (prestadas)

Ventas en 2005 -> 29 billones de dólares

Estimación a 2010 -> 42 billones de dólares

43% de los jugadores son “mujeres”Edad promedio jugadores -> 30 añosConsumidor objetivo -> 37 años83% de los juegos no tienen contenidos

para adultos.Fuente: http://www.ted.com/talks/david_perry_on_videogames.html

Page 17: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Ideas curiosas sobre los video juegos (prestadas)

Jane McGonigal dice que los videojuegos pueden alargar tu vida 10 años extras.

También dice que si jugamos más videojuegos podremos salvar el mundo.

Fuente: http://www.ted.com/talks/jane_mcgonigal_the_game_that_can_give_you_10_extra_years_of_life.html

Page 18: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

¿Por qué la gente detesta los videojuegos?

¡Son una pérdida de tiempo!

Page 19: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

En defensa de los videojuegos

Las personas, justo antes de morir, desearían haber tenido más tiempo para hacer las cosas que eran entretenidas, no haber trabajado tanto, haber compartido más con la familia, con los amigos… creo que se entiende la idea ya

Page 20: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

¿Qué podemos hacer nosotros?

Jugar (jupiiii)Programar videojuegosInvertir tiempo en aquello que te hace

feliz

Page 21: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

En resumen

Pasa a la acción

Page 22: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Un momento…

Y el proyecto final… ¿logré hacer el video juego completo?

Page 23: Programación de un videojuego 2D con Open Source · • Movimiento de enemigos • El producto final ¿Otro lenguaje? Claro, veamos un ejemplo con Ruby. Estadísticas (prestadas)

Muchas gracias

@nelsonrojas