Software no image

Publicado el 06-10-2006 | por admin

PySCUMM, un motor de aventuras gráficas

PySCUMMEl nombre PySCUMM es una palabra compuesta, procedente de la primera sílaba de la palabra “Python” + “SCUMM” el conocido intérprete con el que LucasFilms (ahora LucasArts) desarollaba sus aventuras gráficas.

Desde el punto de vista del intérprete Python, PySCUMM no es más que un paquete de módulos. Desde el punto del programador, PySCUMM es un motor (Engine) para aventuras graficas basado en SCUMM 8.1.0, con esta versión LucasArts sacó al mercado titulos como “The Curse Of Monkey Island”.

Este proyecto está siendo programado por Juan José Alonso Lara, que también lleva el sitio Dotpy.net sobre el lenguaje Python. Actualmente se encuentra en una temprana etapa de desarrollo y está buscando colaboradores en el proyecto. El código actual es una prueba de diseño pero sirve a modo de desmostración para nuevos desarrolladores.

Este motor esta siendo desarollado indirectamente con las librerias SDL, usando el framework PyGame, un wrapper de estas librerias de muy sencillo uso, PySCUMM imita el modelo interno de SCUMM como son los costume, boxes, etc…

(Para mas informacion de como funciona SCUMM internamente ver SCUMMRev Window)

PySCUMM intenta que todo sea sencillo, veamos un ejemplo de una escena.

#################START#################

import PySCUMM # Importamos la libreria
imagen_playa = PySCUMM.new_Picture ( 'playa.png' ) # Cargamos la imagen playa
imagen_espada = PySCUMM.new_Picture( 'espada.png' ) # Cargamos la imagen espada

item_espada = PySCUMM.new_SCUMMItem( imagen_espada ) # Creamos un objeto item, con la imagen imagen_espada
item_espada.set_pos( (100,100) ) # Definimos la posicion donde estara el objeto
item_espada.set_legend( 'Una ridicula espada oxidada' ) # Definimos la descripcion que la barra de descripcion mostrara al posar el raton encima de este objeto

room_playa = PySCUMM.new_SCUMMRoom( imagen_playa ) # Creamos un objeto tipo SCUMMRoom, con la imagen_playa, esta sera nuestra escena
room_playa.link_scummobject( item_espada ) # linkamos el objeto item_espada a esta SCUMMRoom

ventana = PySCUMM.new_SCUMMDisplay( (800,600), 60 ) # Iniciamos una ventana a 800x600 y 60 frames por segundo
ventana.set_scummroom( room_playa ) # Activamos esta room en nuestra ventana SCUMMDisplay, y PySCUMM solo renderizara esta escena, sus objetos linkados etc en cada frame

##################END##################

Nombre: PySCUMM
Género: Aventura Gráfica
Licencia: LGPL
Plataformas: GNU/Linux, Windows
Web Oficial: PySCUMM


Sobre el autor



12 respuestas a PySCUMM, un motor de aventuras gráficas

  1. KarlsBerg says:

    Ese soy yo! 🙂 quedo bonito el articulo, gracias dividio, cuando necesites algo no dudes

  2. Cyberlarry says:

    Parece muy facil programar para tu motor, en el ejemplo que pones, mas facil que html xD. A ver si se anima alguien a echarte una mano, yo estoy en otro proyecto.

    Animo y dale caña

  3. albertodv says:

    Ese poder hispano! que se note! 😉

    Enhorabuena y mucho ánimo que te va a hacer falta

  4. KarlsBerg says:

    Si, es sencillisimo, pero se me plantean varias dudas, actualmente la infobar (barrita de informacion inferior) se renderiza SOLA y SIEMPRE en cada frame, creeis que mejor debo de brindar una interface al programador en vez de que solo sea de uso interno del motor ? es que el engine renderiza todo, el mismo lleva un bucle en otro hilo, no queria que el usuario tuviera que refrescar su ventana cada frame, lo veia de muy bajo nivel. ¿que comentais?

  5. Cyberlarry says:

    Pues no te puedo dar una opinion al respecto porque se un poquitin de programacion(como funciona) y he programado hace muchisimos años, pero no tengo ni idea de lo que hablas XD. ¿Cuantas personas estais desarrollando el motor?

  6. [Ilgrim] says:

    Bueno bueno…. yo he tenido ocasion de ir viendo y probando el motor desde muy temprana edad (pese a la juventud del proyecto) y tengo que decir que va bastante bien. Tengo ganas de ver el motor mas avanzado, porque tengo un par de ideas rondandome la cabeza….

    Venga Karlsberg, animo y adelante, que esto promete, y por ahora, lo que hay, es de calidad.

    Un Saludo

  7. KarlsBerg says:

    Solo yo, aunque ahi 3 mas mirando codigo con intencion de ayudar, pero aun no aportaron codigo, si uno de ellos me ayudo con la web.

  8. Cyberlarry says:

    De 10 personas que te vayan a ayudar en tu proyecto al final solo te aportara ayuda de verdad 1 persona, vete haciendote la idea. Estas practicamente solo, pero si la gente ve en el proyecto algo interesante, por ejemplo una demo del motor, un juego que demuestre lo que puedes hacer con tu motor, entonces mucha gente acudira a ayudarte y echarte una mano.

    Mira el maniadrive y su motor radyum.

    http://maniadrive.raydium.org/

  9. Andres says:

    Qué tal, viejo. Soy de Argentina, y me gustaría ver si puedo hacer algo para ayudarte. Veo que no hay muchas personas danto vueltas. Te dejo mi mail: andriu_m@hotmail.com. Saludos.

  10. joseph says:

    el motor lo creastes tu?

  11. Asdrúbal says:

    Veo que ha sido descontinuado… No están ni siquiera los códigos fuentes en el google code. Tengo pensado más adelante empezar a codificar un engine para aventuras gráficas, en python, pero bueno… Ya veremos…

  12. Juan Jose Alonso says:

    Si, el codigo lo sigo teniendo en el repos, (consulta todas las ramas, la trunk) y la demo sigue funcionando, la probe no hace mucho.

    http://code.google.com/p/pyscumm/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Back to Top ↑