Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





IndieLib - Fast Game Development

Iniciado por Loover, 08 de Abril de 2008, 10:24:29 PM

« anterior - próximo »

Loover



De un tiempo a esta parte, y en paralelo con el proyecto del California Office, he estado dedicando parte de mi tiempo libre a mejorar la LooverLib. El resultado es un pequeño pero robusto engine que quiero enseñaros a todos.

IndieLib ha nacido con la intención de convertirse, para aquellos que tengan ciertos conocimientos en c++, en un motor que les permita desarrollar de forma muy rápida juegos 2d. Está orientando a que puedas probar rápidamente la mecánica que tienes en mente de forma que puedas centrarte algo más en el gameplay. La idea está inspirada en el Experimental Gameplay Project, en el que unos estudiantes se pusieron de acuerdo para hacer juegos rápidamente, cada juego hecho por una única persona y en una sola semana. Lo que quiero con IndieLib es facilitar las cosas a los que quieran resultados rápidos y fiables, es decir, quiero ofrecer algo a la comunidad de desarrolladores de juegos que les sea útil.

IndieLib es un engine 2.5d para el desarrollo de videojuegos, que usa internamente Direct3d pero sin hacer uso de DirectDraw o ID3DXSprite: directamente renderiza las imágenes sobre polígonos. Está pensado sobre todo para juegos 2d, pero también permite el uso de modelos tridimensionales. Las principales características de la librería son:

- Interfaz increíblemente sencilla y rápida de usar. Todos los métodos son tan simples como "SetPos", "SetCollisionArea", "SetFade", etc.
- Traslaciones, rotaciones, espejados y escalado de sprites.
- Alpha blending, transparencias, tintes, fades, etc.
- Renderiza imágenes de cualquier tamaño (no solo potencia de dos). IndieLib las cortará internamente en bloques y descartará aquellos que queden fuera del viewport (aunque la cámara o los sprites estén rotados o escalados).
- Aplica "grids" a tus sprites, de forma que puedas deformarlos moviendo sus vértices y hacer efectos como por ejemplo ondas de agua, etc.
- Cámara 2d y 3d, completamente separadas de los objetos gráficos. Traslada, rota y haz zoom a tu cámara de forma fácil.
- Concepto de "viewport", para tener tantas regiones de vista como quieras. Esto es realmente útil para hacer juegos a pantalla partida, etc. Cada viewport puede tener asignada una cámara diferente.
- Scrolls de cualquier tamaño, con descarte automático de los bloques.
- Sistema de animaciones, las cuales son definidas mediante ficheros xml.
- Sistema avanzado de colisiones, en el que puedes especificar para cada entidad una serie de áreas y formar grupos de colisión entre ellas. Las áreas de colisión se ajusta perfectamente al sprite cuando este es rotado o escalado.
- Fuentes tipo bitmap, creadas a partir de una herramienta visual.
- Renderizado de modelos 3d animados, a los que al igual que a los sprites se les pueden aplicar transformaciones (rotaciones, escalados, tintes, etc). Mezcla escenarios 2d con modelos 3d de manera sencilla.
- Manager de luces para iluminar los modelos 3d. Activa / desactiva luces, cambia sus colores, muevelas, etc.
- Timers, para controlar el paso del tiempo
- Clase entidad, tanto para objetos 2d como 3d. De esta manera puedes cargar un recurso gráfico, asignarlo a la entidad, y cambiar los atributos que te interesen de esta.
- Clase imagen para cargar diferentes tipos de imágenes y acceder al bitmap. También puedes aplicar filtros tipo photoshop sobre dichas imágenes (guassial blur, noise, equalization, saturation, etc).
- Renderizado directo de primitivas (rectángulos, círculos, polígonos, líneas, etc).
- Input de teclado y ratón. Combinaciones de teclas, etc.

Y lo mejor de todo es que es COMPLETAMENTE gratuita.

En www.indielib.com (sólo en inglés) encontrareis la Api Reference completa, el FAQ, el wiki con los primeros 9 tutoriales (más están en camino), el foro, etc.

Os animo a todos a visitarla, a bajaros la SDK (que tiene el código fuente para unos 19 tutoriales, de los cuales los 9 primeros ya están explicados en el wiki) y probar las demos (para aquellos que no seáis programadores y simplemente queráis probar la librería todos los tutoriales ya están compilados, con lo que solo es pinchar sobre un .exe).

También agradecería que en la medida de lo posible, le hicierais un poquito de publicidad y la promocionarais aquí y allí por medio de vuestros blogs, comentándoselo a vuestros colegas, etc. Si he hecho todo este esfuerzo es con la ilusión de que la usen, y me gustaría ver mucha gente haciéndolo. Os doy las gracias por adelantado.

También me gustaría agradecer al canal de stratos al completo, del que formo miembro ya muchos años, y que fueron resolviendo muchas de las dudas que fui posteando estos años que ha durado el desarrollo. Gracias a todos.

Esto es solo el principio :)

Un saludo.
Javier López

PD: El Dragoncito, para quien no lo sepa aún, es obra de Zwitter :)



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

yens

Muchas felicidad es tio... tiene muy buena pinta por los ejemplos.. voy a seguir probándolos. Disfruta del haber terminado y subido este trasto... aunque ahora empiecen los dolores de cabeza :P

Vicente

Joer, entre la dx_lib32, CRM32Pro y ahora IndieLib tenemos en stratos unas librerías de 2D que impresionan :)

Enhorabuena por la currada, voy a probar los ejemplos. Un saludo!

Vicente

ethernet

Molaría una fast-compo usando estas librerías, que no se diga de la comunidad de stratos!! :D

zwiTTeR

Tiene buena pinta... sobre todo el dragon del logo jijiji.

[EX3]

Looverlib digievoluciona a IndieLib!

Enhorabuena, despues de lo visto y hablado no me esperaba menos, Loover :D Ahora a crear adeptos a la libreria ;)

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

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

Loover

CitarLooverlib digievoluciona a IndieLib!
Jajajajaja.

[EX3] => b_01_IND_Surface_Grids, el que querías ver de los grids ;). En "sources" tienes el for anidado que mueve los vértices. Y en "exe" lo tienes ya compilado. Dale al "espacio" durante la ejecución para ver el grid. Ya sabes, si quieres el código fuente de taselación, todo tuyo ;)

Para los que probeis los .exe directamente sin mirar los tutoriales o el código fuente... con algunos se puede interactuar con el teclado (flechas) o el ratón (rosca para zoom, botones para rotar, ect). Por ejemplo en los los de las cámaras, on el benchmark de los ovnis se pueden hacer estas cosas que comento.

Un saludo y gracias a todos por los ánimos.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

josepzin

Impresionante! (demasiado por ser de Murcia, pero nadie es perfecto ;))

Alexpi

Yeah, eres el puto amo ya te lo dije ^^

Por ciero, no deberian cambiar el nombre del foro "Looverlib" por "Indielib" ?
Juego web www.goldpiece.net


LC0

Independientemente de que la biblioteca esté muy bien o no, el nombre pesa mucho. Vamos, que "indielib" vende tela, por lo que eso lo publicitas en dos o tres sitios angloparlantes y el servidor se te va a colapsar con 500·10^30 intentos de conexión :lol:.

Aparte de eso, mucha suerte, que parece que no te va a hacer falta.

l_draven

Genial tio, como te dije en Art Futura, el **** amo jeje, yo voy a descargarla para echarle un ojo que me ha gustado mucho todo lo que has comentado de la lib.

Enhorabuena tio.

Un abrazo.

Prompt

:) Magnifico! enhorabuena tio, sigué así crack!

PD: ese dinosaurio es en 3D no? como cuanto pinta ahí? me he quedado un poco extrañado :P

[EX3]

Cita de: "Prompt"PD: ese dinosaurio es en 3D no? como cuanto pinta ahí? me he quedado un poco extrañado :P
Cita de: "Loover"- Renderizado de modelos 3d animados, a los que al igual que a los sprites se les pueden aplicar transformaciones (rotaciones, escalados, tintes, etc). Mezcla escenarios 2d con modelos 3d de manera sencilla.
Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

tewe76

Es una pena que yo no tenga ni papa de C++ :roll: , porque tu lib tiene muy buena pinta. Enhorabuena y gracias, de todas formas :)

Comentarios:
- ¡IndieLib! ¡Menudo nombre! Y con .com propio y todo. Un acierto, chaval.
- No me ha parecido ver nada sobre sonido :( . ¿No soporta nada de nada?
- He visto que el archivo se llama "IndieLib_LastVersion_SDK.rar". Debería se "IndieLib_LatestVersion_SDK.rar". Es un error común. Last y latest se traducen a español como "último", pero con dos sentidos distintos: last es "último y ya yo hay más", latest es "último por ahora, el más reciente"
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






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.