Razón Artificial

La ciencia y el arte de crear videojuegos

Avances del Engine RPG: Añadido el Scroll

Escrito por adrigm el 24 de julio de 2010 en Noticias | 14 Comentarios.

Coninúa el desarrollo del Engine RPG. Se ha reescrito toda la parte del dibujado de mapa para hacerlo más eficiente, además ya he añadido la capacidad de scroll en el mapa. Dejo un vídeo:


14 Comentarios en "Avances del Engine RPG: Añadido el Scroll"

  1. Alberto dice:

    Me gustaría portar ese motor a java. He estado leyendo tus tutoriales para hacer la adaptación. Felicitaciones.

  2. adrigm dice:

    Alberto, los tutoriales estan obsoletos, se ha reescrito casi todo, puedes obtener los avances del nuevo código en: http://github.com/adrigm/Engine-RPG

  3. Alberto dice:

    Codigo descargado :D Gracias

  4. Alberto dice:

    Donde puedo conseguir tiles como esos que estan en el github?

  5. adrigm dice:

    Son del RPG Maker XP

  6. En primer lugar enhorabuena por tu trabajo, desarrollar un engine es bastante complicado ¡y más con 19 años! ¿Has pensado presentarlo a algún concurso? Creo que el Concurso Universitario de Software Libre admite alumnos de FP y bachillerato. Quizás en el del curso que viene podrías participar.

    El desarrollo de videojuegos es mi pasión y ya he hecho algunas cositas de pequeño y mediano tamaño. Ahora mismo estoy metido en mi Proyecto Fin de Carrera que también está relacionado con ese mundo.

    Sigue así y documenta mucho todo lo que hagas, si no lo haces nadie usará tu engine. Aunque veo que la wiki está en mente.

    Tengo algunas preguntas sobre tu motor RPG. ¿Qué usas o tienes pensado usar para los datos? Podrías usar una base de datos con la información de los niveles y atributos de los personajes o simplemente ficheros xml. ¿Cómo cargas los mapas del juego? ¿Utilizas algún otro lenguaje para definir las rutinas de los enemigos o de la IA?

    Saludos y sigue así.

  7. adrigm dice:

    David Saltares, la wiki ya se está creando, pronto la anunciaré en el blog.

    Para la carga de mapas y demás utilizo ficheros XML y para otrás configuraciones también, no descarto en un futuro usar otros formatos.

    Pienso hacerlo todo con Python, ya he probado algunos algoritmos de IA como el Pathfinding y van bastante bien.

    Un saludo

  8. Es comprensible que sigas utilizando Python para el resto de tareas. En lenguajes de un nivel de abstracción menor como puede ser C++ muchas veces se recurre a lenguajes auxiliares (como LUA) para el scripting. Python es, en sí mismo, un lenguaje de scripting OO así que te viene de maravilla.

    El formato XML viene muy bien. ¿Utilizas alguna herramienta para crear los mapas? Yo he utilizado en varias ocasiones Tiled, un editor de escenarios basados en tiles. Es open source y multiplataforma (con versiones en Qt y Java). Los mapas se guardan en un formato XML fácilmente parseable. Quizás te venga bien.

    Saludos.

  9. adrigm dice:

    David Saltares, el Tiled Map utlizo, puedes ver varias cosas del proyecto en la categoría Engine: http://razonartificial.com/category/engine/

    ahí pone muchas de las cosas que utilizo, aunque está algo obsoleto hasta que esté lista la wiki.

  10. Pablo Recio dice:

    Estoy siguiendo tus avances, y la verdad que tiene muy buena pinta, enhorabuena.

    De todas formas, hay cosas en el código que no son del todo correcto conceptualmente, y si te parece te pongo algunas críticas constructivas :)

    Por ejemplo, no es bueno / necesario que todos los .py sean ejecutables y tengan su “main”. ¿Para que necesitas un main() en la clase Actor?

    Otra cosa, te recomiendo que seas coherente con el idioma. Es decir, que si usas español, usa español, y si usas inglés, usa inglés, pero no pongas algunas cosas en inglés y otras en español, porque puede provocar confusiones.

    Para terminar, para evitarte problemas, deberías añadirle una licencia de software al engine, como por ejemplo GPL.

    Y bueno, enhorabuena otra vez, me parece un trabajo magnífico. Si saco algo de tiempo, forkearé el proyecto en GitHub para algunas mejoras que se me ocurren :)

  11. adrigm dice:

    Buenas, Pablo, gracias por los consejo.

    Lo de la función main en cada modulo es para probarlos y ejecutarlos de manera independiente en pruebas. Solo se ejecutan si son cargados como principal y no como módulos.

    En cuanto a lo del idioma, empecé sin tenerlo en cuenta, pero luego decidí hacerlo todo con nombres en inglés y poco a poco voy cambiando, como trabajaba solo y era un proyecto personal no le di importancia, pero ahora sí. De todas maneras con la gente que esta colaborando tenemos el convenio de que las cosas provisionales o que no estan terminadas o en pruebas las ponemos con nombres en español y la definitiva o cuando ya se vaya a usar en inglés.

    El programa es GPL3, pero, sí tengo que añadirle la licencia al código.

    En cuanto al repositorio he abandonado Github por google codes, prefiero usar svn, puedes seguir el proyecto desde aquí:

    http://code.google.com/p/engine-rpg/

    en github no está actualizado y no se actualizará.

  12. Pablo Recio dice:

    Buenas.

    Me imaginaba que era para pruebas, pero hay mejore y mas elegantes formas de hacerlas. Hay una cosa que se llaman “pruebas unitarias” (http://es.wikipedia.org/wiki/Prueba_unitaria) que sirven para comprobar que todas las funcionalidades de un módulo sean correctas. En la biblioteca estándar de Python está ‘unittest’ que sirve para eso.

    Si estás empezando a programar o llevas poco tiempo, puede ser un concepto un poco complicado, además de pesado, pero creeme, ahora que llevas “poco” desarrollo es el momento de usarlo.

    Una lástima lo de GitHub, es una gran forma de mantener un equipo de desarrollo distribuido.

  13. morcejo dice:

    Un tutorial fenomenal, que además de explicar los fundamentos de la programación de videojuegos lo aplica a un lenguaje concreto y poco a poco. En muchos tutoriales se empieza muy poco a poco y de un capítulo a otro pasa de ser un Pong a ser un Dragon Age :D

    ¡Ánimo con el proyecto!

  14. Mauro dice:

    Una excelente forma de animarme a pygame. Hasta ahora era sólo python pero he seguido tu tutorial de Pong y es excelente en la forma que lo explicas y haces.

    En cuanto al engine RPG, sin palabras. Muy bueno.

Deja un comentario