User Tag List

Resultados 1 al 15 de 15

Tema: generador de codigo para sprites multiplataforma

  1. #1

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    generador de codigo para sprites multiplataforma

    Bueno, sinceramente no sabia como llamar el titulo, ya que la idea es que no sea solo para la pandora.


    Expongo la idea, para que me si es mala idea, y para que en caso de que sea buena idea, por si alguien se quiere apuntar(sin prisas de nada, que esto es por amor al arte). Contrastar opiniones para el diseño de algo siempre viene bien.

    El caso:

    He programado juguecitos con sdl en c y c++, pero siempre me encuentro con la misma barrera, hacer que las animaciones de los sprites queden bonitas es una tarea pesada, si se programa a mano.

    Hice un motor de sprites, que simplificaban las cosas para mi ultimo proyecto, pero cuando me toca codificar maquinas de estado que indican como funcionara la física y el cambio de una animación a otra, se vuelve todo muyyyyy pesado. (de hacer)

    Idea:

    Programar un programa en C modo consola, o java, creo que C seria mejor para este propósito, al que se le pase un documento XML donde se especifican:

    los archivos a cargar con las imágenes, tamaño de sprites, orden de animaciones (saltos de sprite a sprite y veces que se repite cada uno en una animación) etc.. y se representen las maquinas de estado, ejemplo, si estoy corriendo, y se pulsa saltar, pasar a estado saltando.
    La idea seria que de ese documento, el programa escribiera el código C o C++ que realizara todo esto de la forma mas ordenada posible, dejando hueco para añadir físicas y demás.

    Opiniones? Me he vuelto loco? Ya existe?

    La idea me pareció buena, desde el punto de vista de que seria independiente de la plataforma, se podría usar en wiz, pandora (si, pueden convivir en este mundo) y donde sea, buen rendimiento desde el punto de vista de que no seria interpretado(aunque hoy en dia vamos sobrados de potencia) y se podría diseñar pensando en cambiar la librería de entrada y salida para cuando las soluciones que vienen con intención de sustituir SDL funcionen en nuestras pequeñas.

    A parte de, y lo mas importante, que permitirá definir elementos que saldrán en pantalla animados, fácilmente.

  2. #2

    Fecha de ingreso
    Sep 2008
    Ubicación
    WORLD 9 - WARP ZONE!
    Mensajes
    14,749
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    193
    Agradecer Thanks Received 
    1,623
    Thanked in
    Agradecido 652 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    285
    no te has vuelto loco (creo.) Lo primero que necesitas si vas a trabajar con XML sea Java o C++ es definir totalmente el fichero XML que vas a utilizar , y como lo que propones no es moco de pabo, creo que te quedara un XML-TOCHO. Una vez que tengas eso te recomiendo que para el parsing uses la libreria XERCES, que esta tanto en Java como en C++ (como ves al final te va a dar igual un lenguaje u otro a no ser que quieras portar la herramienta para poder usarla en la consola).

    la verdad no se si existe algo parecido para juegos. Si alguien ha usado lex y jacc lo comprendera. lex es una herramienta que permite definir una sintiaxis especifica, es decir permite definir unas reglas y jacc es el compilador por el cual se pasan esas reglas y da como resultado una maquina de estado en un fichero .C que se comporta de acuerdo a las normas de definidas en lex.

    Creo que tu buscas algo parecido pero para un juego, y no se yo si existe algo asi.

  3. #3

    Fecha de ingreso
    Aug 2003
    Ubicación
    Madrid (Getafe)
    Mensajes
    13,901
    Mencionado
    48 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    221
    Thanked in
    Agradecido 164 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    2
    Cita Iniciado por jduranmaster Ver mensaje
    Creo que tu buscas algo parecido pero para un juego, y no se yo si existe algo asi.
    la idea no es mala, basicamente es un lenguaje (xml) que permita programar sprites (solo las animaciones en principio) a alguien que no sepa programar.



    algunos juegos comerciales utilizan un lenguaje de "programacion" script que permite algo parecido, suele usarse para la IA pero supongo que la idea seria para usarlo para definir las animaciones.


    Aiken

  4. #4

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    ummm use lex y jacc hace un par de años para la practica de compiladores, creo que lex reconocia tocks, y jacc aplicaba las reglas, y despues tenias que hacer funciones que generaban el codigo y que se llamaban desde jacc.

    no seria mala idea, ademas, en algún lado debo tener la practica y tengo bastantes herramientas echas que simplificaba el reconocedor del lenguaje...



    le tengo que dar vueltas sobre el papel gracias por refrescar memoria

  5. #5

    Fecha de ingreso
    Aug 2005
    Mensajes
    9,467
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Pero no entiendo, ¿porqué crear un generador de código c/c++? ¿porqué no escribir código c/c++ en forma de librería que interprete el XML y ya está?

  6. #6

    Fecha de ingreso
    Sep 2008
    Ubicación
    WORLD 9 - WARP ZONE!
    Mensajes
    14,749
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    193
    Agradecer Thanks Received 
    1,623
    Thanked in
    Agradecido 652 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    285
    Cita Iniciado por ZarkGhost Ver mensaje
    le tengo que dar vueltas sobre el papel gracias por refrescar memoria

    de todas formas creo que seria mas simple trabajar usando Xerces para manejar XML.

  7. #7

    Fecha de ingreso
    Apr 2007
    Ubicación
    Rostovillar
    Mensajes
    3,783
    Mencionado
    11 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,016
    Agradecer Thanks Received 
    407
    Thanked in
    Agradecido 256 veces en [ARG:2 UNDEFINED] posts
    Si lo vais a portar a consolas portátiles estaría bien que mirarais tinyXML, es bastante más ligera que Xerces.
    Buy this car to drive to work. Drive to work to pay for this car.

  8. #8

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    por que no interpretar, umm la respuesta que me doy es que al generar el código se te permite la libertad de editarlo y añadir características que tu quieras. Al solamente interpretar, limitas los posibles resultados a no ser que tu interprete sea muy elaborado, niveles a los que creo que es mas sencillo generar el código, que después de todo, sera muy repetitivo... quizás me haya encabezonado con la idea nu se.., y si genera codigo, seria valido para todas las plataformas, hoy y mañana, sin recompilar ningún interprete

  9. #9

    Fecha de ingreso
    Sep 2008
    Ubicación
    WORLD 9 - WARP ZONE!
    Mensajes
    14,749
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    193
    Agradecer Thanks Received 
    1,623
    Thanked in
    Agradecido 652 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    285

  10. #10

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    bueno, decir que estoy en ello.
    Efegea te doy la razón :P en parte interpretara un bin, el cual es generado, y también generara un poco de código, a modo de constantes para que sea mas simple manejarlo.
    Primero voy a hacer un ejemplo simple a mano, de lo que debería dar el generador, esto ya lo tengo sobre papel en plan clases y demas, y mas o menos la mitad implementado y funcionando.
    Al final la idea final es esta:
    Generador en java, ya que es multiplataforma y me permite gestionar facilmente parses.
    El generador creara una librería(basicamente añadir a la libreria las contantes) y un fichero bin con los datos para cada animación.

    El cuando lo acabare, sera inversamente proporcional al tiempo que le dedique al StarCraft2 :P y en breves Gran Turimo 4...

  11. #11

    Fecha de ingreso
    Sep 2008
    Ubicación
    WORLD 9 - WARP ZONE!
    Mensajes
    14,749
    Mencionado
    30 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    193
    Agradecer Thanks Received 
    1,623
    Thanked in
    Agradecido 652 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    285

  12. #12

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Bueno. Ya tengo una primera versión

    Reconozco que esta lleno de bugs, seguro :P Aunque parece que funciona ya aparecerán.
    Por hacer:

    Limpiar código.
    Comentarlo! :P
    Me acabo de dar cuenta que no cuento bien cuando debo dejar de pintar el sprite :P ajustarlo!
    De momento... generar transiciones de animación a animación, es mas sencillo que hacerlo codeando o escribiendo cadenas con los fotogramas, pero aun es muy limitado, ya que funciona como una maquina automata finita, permitiendo poca cosa... Ademas, es difícil añadir animaciones como que al correr, derrape al cambiar de sentido, por ello habria que implementar un sistema mejor, con una pila, o algo

    No es gran cosa, si a alguien le interesa seguiré publicando mejoras, si no, ahorro el tiempo :P Y si a alguien le gusta la idea y quisiera colaborar, siempre se podría abrir el código

    Link: benja.lolam.es/generadorBSS.7z

    Incluyo un .exe con un ejemplo compilado, también incluyo el .bss del ejemplo (son los archivos salvados del editor de sprites)

    Un saludo

  13. #13

    Fecha de ingreso
    Apr 2010
    Ubicación
    JULY CITY
    Mensajes
    1,525
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    342
    Agradecer Thanks Received 
    99
    Thanked in
    Agradecido 63 veces en [ARG:2 UNDEFINED] posts
    gracias, probare el .exe puesto que no tengo pandora.

  14. #14

    Fecha de ingreso
    Oct 2008
    Mensajes
    198
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    en teoría esto no es para la pandora, pero lo puse aqui porque no tengo ni wiz ni na... :P y si espero una pandora.

    Intento que sea una forma de generar sprites fácilmente, utiliza sdl, aunque todo seria portarlo a opengl u otras librerías. por lo que se podría compilar para cualquier plataforma que acepte sdl.

  15. #15

    Fecha de ingreso
    Apr 2010
    Ubicación
    JULY CITY
    Mensajes
    1,525
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    342
    Agradecer Thanks Received 
    99
    Thanked in
    Agradecido 63 veces en [ARG:2 UNDEFINED] posts
    Yo pensaba que ya habias recibido tu Pandora. Cuando la tengas ya tienes trabajo hecho para tu primer porgrama para la consola.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •