Razón Artificial

La ciencia y el arte de crear videojuegos

Haciendo un engine para juegos

Escrito por adrigm el 8 de abril de 2010 en Desarrollo Videojuegos, Noticias, Programación | 8 Comentarios.

Estos días he estado programando una especie de engine para juegos con Python y Pygame, me pareció una buena idea escribir aquí una serie de artículos dedicado a lo que voy haciendo y las dificultades con las que me voy encontrando. Digo desde ya que yo no tengo experiencia programando este tipo de cosas y que lo que voy a exponer aquí posiblemente no sea la mejor forma de hacerlo, por eso espero que con estos artículos a través de los comentarios podamos ayudarnos entre todos a mejorarlo y a aprender cosas nuevas.

Creando un engine

Un engine es lo que llamamos el motor del juego, es decir, lo que controla los aspectos más básicos del mismo para sobre él crear nuestro juego. Controla cosas como el dibujado de la pantalla, la gestión del sonido, la entradas que hay por teclado, etc. Es decir, es lo que hace que luego programar el juego resulte muy sencillo sobre este motor.

Python no es creo que sea el lenguaje más adecuado para programar un motor de videojuegos, aunque este sea 2D, C++ sería mucho mas apropiado para este propósito y luego ya si se podría usar Python para escribir el juego sobre este, pero como esto lo hacemos por diversión y por aprender las bases, no es cuestión de complicarse la vida con C++ y vamos a hacerlo con Python y Pygame, que con los ordenadores de hoy en día y siendo un juego en 2D las diferencia de rendimiendo no se notarán, además todo lo que aprenderemos aquí en cuanto a técnicas es totalmente aplicable a C++ y una biblioteca como SDL (Pygame solo es un port de SDL a Python).

¿Qué tipo de juego?

Es importante definir para que tipo de juego va a ser nuestro motor, para a partir de ahí enfocar lo que necesitamos. Yo lo que voy a crear es un engine para hacer un RPG (juegos de rol), pero también me interesaba crear uno para RTS (juegos de estrategia) por curiosidad, así que aunque el engine sea para RPG en ocasiones escribiré artículos dedicado a hacer ciertas rutinas para RTS.

Nuestro Engine será para los tipicos juegos RPG en 2D que podemos ver para consolas portátiles y en los famosos RPG Makers, es decir, juegos basados en tiles visto desde arriba con proyección ortogonal.

8 Comentarios en "Haciendo un engine para juegos"

  1. Angelverde dice:

    Podrías indicarme en este prologo o introducción que nivel de dificultad tiene este proyecto o que experiencia se necesita para poder llegar al final o desarrollarlo con relativa fluidez. ¿hace falta decir que soy novato?

  2. adrigm dice:

    Angelverde, debes saber programar en Python, a nivel de consola. Luego a partir de ahí puedes seguir el tutorial básico de Pygame: http://razonartificial.com/tutoriales-pygame/ y ya cuando lo completes y lo entiendas te metes con este engine.

  3. Dokan dice:

    Te voy a hacer un marcaje de cerca que ni Puyol, llevo tiempo sufriendo para aprender a programar (últimamente con python) pero me falta, además de práctica, algo que me impide comprender bien lo que tengo que hacer o mejor dicho como hacer lo que quiero, y por supuesto avanzar en el aprendizaje.
    Gracias por dedicar tiempo a publicar tus avances.

  4. noname dice:

    Hola, una sugerencia, lo de leerse el tutorial básico de Pygame deberías colocarlo en el inicio del tutorial indicando además otros requisitos como el nivel necesario que se debe conocer de python.

  5. adrigm dice:

    Dokan, buah ni se te ocurra que yo soy iniesta y te cambo la cintura jaja. Nada un placer, a ver si hago algunos artículos de casas aún más basicas de Python para los mas novatos.

  6. Int-0 dice:

    Hola, estupendo artículo. Sólo un pequeño apunte: pygame inicialmente era un wrapper de SDL para python, pero ahora es muchísimo más: gestión de sprites y colisiones, control de webcams y algoritmos básicos de visión artificial son sólo algunas de las extensiones de pygame que no están en SDL.

  7. Angelverde dice:

    Es curioso, hace casi un año comente esta entrada y me olvide… regrese y ya conozco sobre más sobre programación en general, así que usar python es muy sencillo después de programar en otros lenguajes.

    Incluso tuve experiencia en videojuegos cuando estuve usando GlScene con Pascal y Lazarus.

  8. […] Haciendo un engine para juegos […]

Deja un comentario