Diseño de Paginas Web en Marbella

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

9 Responses a “PySCUMM, un motor de aventuras gráficas”

  1. KarlsBerg Dice:

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

  2. Cyberlarry Dice:

    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 Dice:

    Ese poder hispano! que se note! ;-)

    Enhorabuena y mucho ánimo que te va a hacer falta

  4. KarlsBerg Dice:

    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 Dice:

    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] Dice:

    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 Dice:

    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 Dice:

    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 Dice:

    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.

Responder