Ver la versión completa : portamos esto?
es un lenguaje de script y tiene el codigo fuente. el lenguaje este va to follao
de rapido y parece robusto. Por que no lo portamos?
http://www.somedude.net/gamemonkey/
bulbastre
24/12/2004, 17:42
Lenguaje de script es algo así como fenix, C, C++, Java etc?
si, mas o menos, es un lenguaje interpretado solo que se compila y ejecuta"al vuelo"
creo q ya hay suficientes lenguajes para programar para nuestra gp32. No veo esto util, pero weno... si alguien quisiera siempre se podria mirar... :S
ademas, si es parecido al C++ pos pq no programas directamente en c?
lo intersante de lenguajes nuevos es que automaticamente funcionan los juegos que ya existan para ese lenguage, y los que hagan futuros sin tener que hacer nada para que funcionene en la gepe ;)
Aiken
bulbastre
24/12/2004, 23:54
Compila y ejecuta al vuelo. ok, captado
*
*
*
*
*
*
*
Qué es compilar?
Compilar es, de una forma sintetica y generica, convertir el codigo fuente (escrito por el programador) en un ejecutable.
lo portare yo venga... lo unico dije era que parecia que era un lenguaje bueno y no veia por que no portarlo :)
suerte! :) hay muchos juegos ya echos en ese lenguaje?
Y que mas da! a mi me parece un buen lenguaje, puede ir incluso mas rapido que fenix.
El codigo compilado solo consume 50kb de ram, que es eso comparado con la memoria que tiene la gp32?
Siento no podertte ser de gran ayuda aun esoty empezando en esto de la programacion, pero mucho ANIMO!!!
bulbastre
26/12/2004, 22:38
lo intersante de lenguajes nuevos es que automaticamente funcionan los juegos que ya existan para ese lenguage, y los que hagan futuros sin tener que hacer nada para que funcionene en la gepe ;)
Aiken
Oye, eso es cojonudo!! A portarlo se ha dicho!!
:arriba:
boubou, ya te había dicho, que al menos en la versión de GameMonkey que yo probé, tuve que hacer mil cambios para conseguir compilar GameMonkey en Windows en un compilador que no fuera Visual C++ (en este caso estaba compilando en Dev-C++). Al final lo conseguí, pero teniendo en cuenta que Windows es la plataforma para la que se pensó GameMonkey... no sé cómo será compilarlo en otra paltaforma.
Yo lo que sí que he conseguido portar a la GP32 es Lua. Modificar el source para q tirara en GP m llevó poco más de media hora, y aunque aún no he hecho un stress test para probar su rendimiento, pero me juego algo a que Lua es el lenguaje de script más eficiente. Digamos que Lua y GameMonkey tienen una estructura muy similar, pero GameMonkey tira hacia la sintaxis de C, mientras que Lua tira hacia la de Basic. Lua se ha utilizado en innumerables juegos, por ejemplo Grim Fandango, La Fuga de Monkey Island, Baldur's Gate, Far Cry, Painkiller, y un montón más, y cada día está más extendido como lenguaje para hacer mods de los nuevos engines.
Un lenguaje de script era, en sus orígenes, un fichero de texto que contenía una secuencia de órdenes para el sistema operativo. Por ejemplo, la ficheros .bat de MS-DOS / Windows son modelos muy primitivos de scripts, al igual que los scripts de la shell "sh" de Unix. Básicamente se trataba de agrupar una secuencia de órdenes completa y que con una sola llamada al script el ordenador ejecutara de forma secuencial todos los comandos contenidos en el script.
El lenguaje Basic nació con es filosofía. Las primeras versiones del Basic pretendían permitir al usuario de ordenadores sin experiencia en programación resolver los problemas sencillos con los que se pudiera encontrar con su ordenador. Por ejemplo, en unas pocas líneas de código podías hacer un programa en el que metías tu salario, los gastos que habías tenido ese mes, y te decía tus ahorros. Basic permitía hacer cosas más avanzadas de lo que permitían un script .bat o .sh, que básicamente como dje ejecutaban una secuencia de comandos del sistema operativo.
A medida que fueron pasando los años, los lenguajes de script fueron evolucionando hasta hacerse increíblemente complejos y potentes(basta con echar un ojo a Java o Python), y suelen cumplir una función en básicamente cualquier tipo de software que queramos desarrollar. Hoy en día, podemos por ejemplo programar el "esqueleto" de una aplicación en C/C++ e integrar en el programar una máquina virtual capaz de ejecutar scripts. Entonces los distintos "componentes" del programa los desarrollamos en scripts.
La ventana de utilizar scripts es que nos proporcionan un entorno "seguro" en el que programar. Teniendo en cuenta que desde un script sólo podemos acceder a las funciones del programa que el autor del mismo quiere, es posible reducir al mínimo las posibilidades de que alguien pueda mediante un script perjudicar el programa. Cuando utilizas C, tienes acceso a todas las librerías de ese lenguaje, lo cual es muy peligroso si vas a dejar que otros modifiquen tu programa.
Y hablando de videojuegos, hoy en día está muy de moda programar en C++ los servicios de bajo nivel y que requieren una gran velocidad de ejecución (ya que la ejecución de un script es más lenta que ejecutar código máquina), como por ejemplo la comunicación entre el servidor de juego y el cliente en multiplayer, la gestión de recursos del sistema operativo (entrada de datos desde el teclado, dibujo de gráficos en pantalla, manejo de ventanas y gestión del hardware), y programar en scripts la lógica del juego (IA de los enemigos, control del personaje en función de una información que el "motor" del juego nos envía sobre las teclas pulsadas, etc).
En fin, si algún día GameMonkey se hace más estándar, estoy seguro de que comenzará a ser muy extendido como lenguaje de script para juegos, pero hoy por hoy, los desarrolladores profesionales siguen implementando Lua, ya que su robustez y eficacia están más que demostradas.
Y toma cacho post que me he montado xD
Interesante lo del Lua, yo estube mirando los sources tambien, para hacer que funcionase solo con enteros, pero la solucion no me acababa de convencer...
El lua de manera "nativa" guarda todos los numeros como floats o doubles(no me acuredo) por tanto solo tiene un tipo de dato "numero", lo malo de esto es que para el bucle de un for usa un float, y en la gp32 no tenemos coma fflotante, es emulaciión, por tanto inquietud era compilarlo usando comotipo de dato "ints" y se dejaba, la duda es si sera suficientemente "generico" o habira que "ampliar" lua con una libreria de punto fijo.
Unai.
la nueva version s¡ que se puede compilar con dev-cpp.
ya no hay excusa :)
Esta version del game monkey es compatible con gcc, asi que lo dicho, ya no hay excusa ;).
Sigue estando el problema de que GameMonkey se hizo en C++. Aunque no lo he probado yo mismo, alguien me dijo que GP32 pierde mucho rendimiento al programar en C++ y no en C (vamos, lo que ocurre con muchas consolas).
Bueno todo es cuestión de ponerse, portarlo y ver como va, y no basarse en conjeturas. Pero vamos, que una librería pensada para compilarse en cualquier sistema habido y por haber, es mucho mejor que esté programa en ANSI C, que es lo más estándar que hay. Compilar Lua en GP32 no costó mucho, incluso aunque GP32 no soporta toda la librería estándar de C.
Pero vamos, mira a ver que pasa al compilar GameMonkey con el GCC de GP32, mira los fallos que da, a ver si los puedes solucionar, etc.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.