Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





LooverLib es ahora IndieLib

Iniciado por Loover, 22 de Diciembre de 2008, 04:42:21 PM

« anterior - próximo »

Loover

    ATENCIÓN

    - LooverLib ha cambiado el nombre por el de IndieLib y  tiene ahora foro propio. La documentación y tutoriales de la librería están en Inglés, pero cualquier duda sobre ella la podeis preguntar en la sección del foro en español.

    Características de IndieLib

    ATENCIÓN

    - LooverLib ha cambiado el nombre por el de IndieLib y  tiene ahora <a href=http://www.indielib.com/forum/viewforum.php?f=14&sid=0ce53aceb6bf2d02052df5e8fb27f4e7]foro propio[/url]. La documentación y tutoriales de la librería están en Inglés, pero cualquier duda sobre ella podeis preguntar <a href=http://www.indielib.com/forum/viewforum.php?f=14&sid=0ce53aceb6bf2d02052df5e8fb27f4e7]en la sección del foro en español[/url].

    Características de IndieLib



    ¿Qué es IndieLib?

    IndieLib es un motor 2.5d en c++ para el desarrollo rápido y prototipado de videojuegos, de forma muy sencilla y pensado tanto para iniciados como para profesionales.

    Usa Direct3d para aprovechar la aceleración por hardware, pero no usa DirectDraw o ID3DXSprite, directamente pinta los sprites sobre polígonos, de forma totalmente transparente para el usuario sin que este tenga que preocuparse de que sus sprites estén en potencia de 2 o sean de tamaño mayor que el ancho de textura máximo permitido por la tarjeta. El motor está pensado para el renderizado rápido 2d, pero también permite el uso de modelos 3d. Las principales características de IndieLib son:



    • - Interfaz extremadamente sencilla: desarrollo rápido de prototipos de juegos mediante el uso de entidades para cada objeto gráfico a las que se les puede cambiar sus atributos (posición, escalado, rotación, entintado, regiones de colisión, transparencia, etc). Todos los métodos son tan sencillos como "SetPos", "SetCollisionArea", "SetFade", "SetTransparency", etc.
    • - Traslaciones, rotaciones, espejados y escalados de sprites.
    • - Alpha blending, transparencias, entintados y fading de sprites.
    • - Renderizado de sprites e imágenes de cualquier tamaño (no sólo potencia de dos). Puedes cargar imágenes tan grandes como 10000x10000 pixels o más, e IndieLib se encargará de cortarlas internamente en bloques de forma totalmente transparente para el usuario. Además, IndieLib descartará automáticamente los bloques que queden fuera de la pantalla, incluso si tus sprites están transformados y la cámara está haciendo un zoom o rotada. Sólamente lo que ves, es lo que se renderiza.
    • - Método SetGrid para crear grids para tus sprites. Tras asignar un grid, puedes mover cada punto del mismo para efectuar distintos efectos de morphing, como efectos de ondas de agua, etc.
    • - Cámaras 2d y 3d, totalmente independientes de los objetos gráficos. Con métodos sencillos para trasladarlas, rotarlas y hacer zoom. Imagina poder colocar tus objetos gráficos (sprites o animaciones) y poder mover la cámara libremente para hacer scroll y zoom sin que esto afecte a dichos objetos.
    • - Creación sencillísima de viewports (regiones de vista). Crea tantos viewpors como quieras usando diferentes cámaras para cada uno. Con esto podrás hacer de forma muy sencilla juegos a pantalla partida, mapas, etc.
    • - Scrolls de cualquier tamaño, con descarte automático de bloques.
    • - Sistema de animaciones por script usando XML, para definir frames y secuencias.
    • - Sistema avanzado de colisiones 2d. Crea un archivo XML definiendo las áreas de colisión por sprite, usando círculos, rectángulos y triángulos. Puedes definir tantos grupos de colisión como quieras agrupando dichas áreas, cada uno con distinto nombre y luego chequear si ocurren colisiones entre los grupos de áreas de dos sprites distintos. No te preocupes por trasladar, rotar o escalar tus entidades, los grupos de colisión siempre se ajustarán a la perfección al sprite. También puedes tener animaciones de sprites, en los que cada frame tiene distintos grupos de colisión (imagina la facilidad de aplicación que tiene esto a la hora de desarrollar un juego tipo "Street Fighter", con este sistema podrías definir áreas para la cabeza, pies, puños de los jugadores, y chequear colisiones entre ellos).
    • - Sistema de fuentes (bitmap), para dibujar textos gráficos creados con MudgeFont. Cambia su alineación, espaciado entre caracteres y entre líneas de forma sencilla.
    • - Renderizado simple de modelos 3d (puedes mezclar elementos 2d y 3d de manera muy sencilla). Puedes así mismo aplicar transformaciones a dichos modelos (rotaciones, escalados, fading, etc). Esto te permitirá hacer videojuegos como "New Super Mario Bros", en los que los protagonistas son modelos 3d y los escenarios 2d.
    • - Manager de luces, para iluminar los modelos 3d. Activa / desactiva luces, cambia sus atributos, etc.
    • - Timers. Para comenzar, parar y pausar el tiempo fácilmente.
    • - Clase entidad, tanto para objetos 2d como 3d, para manejar los objetos gráficos de una manera muy sencilla. Simplemente crea un entidad, asignale un objeto gráfico (como un sprite o una animación) y cambia sus atributos (rotaciones, escalados, entintados, etc). Increíblemente útil para prototipar un juego en cuestión de minutos.
    • - Clase Imagen, para cargar / grabar diferentes tipos archivos de imagen y acceder a los bitmaps. Puedes aplicar filtros tipo photoshop como difuminados, ruido, ecualización, saturación, etc.
    • - Dibujo de primitivas (rectángulos, círculos, polígonos, líneas, etc.
    • - Input de ratón y teclado. Chequea si un botón ha sino presionado más de n milisegundos. Chequea combinaciones de botones presionados al mismo tiempo.

    ¿Cuál es la licencia de IndieLib?

    IndieLib es un proyecto open source, bajo la licencia LGPL. Puedes acceder al repositorio desde aquí.

    ¿Está IndieLib documentada? ¿Existe un foro donde postear mis dudas?

    ¡Definitivamente sí, y me ha llevado muchísimo tiempo! Toda la documentación está en inglés, en un intento de hacer llegar la librería a una mayor audiencia. Consulta estos links:


    ¿Qué necesito para desarrollar una aplicación hecha en IndieLib?

    Lo primero que necesitas es un entorno de programación. IndieLib está compilada en Visual C++2008 Express Edition (un entorno gratuito). También necesitarás la SDK de DirectX, que IndieLib usa para renderizar los objetos gráficos usando aceleración hardware. Lo último que necesitas es, por supuesto, el SDK de IndieLib. Puedes consultar el primer tutorial del wiki para tener un paso a paso de la instalación.

    ¿Es IndieLib portable?

    IndieLib utiliza Direct3d para el renderizado. Por lo tanto, desafortunadamente, no es portable a Mac o Linux. Separar el render en un plugin es algo que se está planteando para el futuro, con lo que se podría comenzar la portabilidad.

    ¿Tiene IndieLib un engine de sonido?

    No, ya existen librerías excelentes para eso. Por ejemplo OpeanAl o SDL_Mixer. En el foro hay algunos ejemplos de integración de dichas librerías.

    ¿Quién es el desarrollador de IndieLib?

    Javier López López (Loover), un desarrollador de juegos independiente / programador / infografista / diseñador de productos, que le apasionan todos los temas relacionados con el arte digital, el desarrollo y diseño de juegos y la web 2.0.

    Puedes leer más sobre IndieLib en su web oficial y en este blog.


    IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
    Indie Rover The monkeys are reading!

    [EX3]

    Cita de: Loover en 22 de Diciembre de 2008, 04:42:21 PM
    Por si alguien aún no se había enterado:

    http://indielib.com

    A estos foros podría echarseles el candado.
    O cambiarle el nombre, como al de "Motor C#"  ::)

    Salu2...
    José Miguel Sánchez Fernández
    .NET Developer | Game Programmer | Unity Developer

    Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

    Vicente

    Bueno, dado nuestro estado de letargo la verdad que tampoco se va a notar mucho la diferencia entre Motor C# y Jade :p

    [EX3]

    Si el problema esta en la asociacion de nombres, que la gente se hace la picha un lio o no identifica el foro con el proyecto que corresponde. La verdad, vosotros sabreis que son vuestro proyectos pero si fuera el mio seria una de las primeras cosas que hubiera hecho :P

    Salu2...
    José Miguel Sánchez Fernández
    .NET Developer | Game Programmer | Unity Developer

    Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

    Loover

    #4
    Semoh unoh dejaoh :D

    ¿Cómo le cambio el nombre al foro?
    IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
    Indie Rover The monkeys are reading!


    tewe76

    Una solución casera es usando tippex y un bolígrafo que te permita escribir en vertical (o un lapiz en su defecto). Lo malo de esta solución es que sólo funciona en local. Si quieres que funcione en todos los ordenadores habría que aplicar el tippex en el monitor del host de los foros. Puedes enviarle un PM a Sync y preguntarle la dirección física de la empresa de hosting que usa Stratos. Entonces les envías a dicha dirección una carta explicándoles tu problema y adjuntando un bote de tippex y un bolígrafo que te permita escribir en vertical (o un lapiz en su defecto) (porque una cosa es que te hagan un favor y otra que encima tengan que comprar ellos el material).
    Tewe
    www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
    www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

    Loover

    IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
    Indie Rover The monkeys are reading!

    tewe76

    Tewe
    www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
    www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

    synchrnzr

    Ya está cambiado el nombre, voy a seguir con los turrones ^_^

    sync

    Loover

    Gracias tio! féliz Navidad! Y prospero Año Nuevo!
    IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
    Indie Rover The monkeys are reading!

    [EX3]

    Cita de: synchrnzr en 27 de Diciembre de 2008, 12:55:51 PM
    Ya está cambiado el nombre, voy a seguir con los turrones ^_^
    Ahora solo faltaria el de "Motor C#" por "JadEngine" :D aunque no me ha quedado claro que quiere hacer exactamente el interesado  :..

    Salu2...
    José Miguel Sánchez Fernández
    .NET Developer | Game Programmer | Unity Developer

    Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

    Vicente

    Cita de: [EX3] en 27 de Diciembre de 2008, 07:03:04 PM
    Cita de: synchrnzr en 27 de Diciembre de 2008, 12:55:51 PM
    Ya está cambiado el nombre, voy a seguir con los turrones ^_^
    Ahora solo faltaria el de "Motor C#" por "JadEngine" :D aunque no me ha quedado claro que quiere hacer exactamente el interesado  :..

    Salu2...

    Sí sí, si puedes cambiar Motor C# por Jad Engine se agradece Sync :)

    synchrnzr








    Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
    Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
    Muchísimas gracias.