Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tilengine: Motor 2D con efectos raster

Iniciado por megamarc, 24 de Junio de 2015, 03:43:02 PM

« anterior - próximo »

megamarc

Hola a tod@s,

Recientemente he lanzado un motor gráfico 2D orientado al desarrollo de videojuegos de corte retro/clásico. Se llama Tilengine (por ser un motor de "tiles" entre otras cosas) y la página web está en http://www.tilengine.org.

Ya hay otros motores orientados al manejo de tiles, sprites y paletas, pero lo que diferencia a tilengine de los demás es que es su sistema de render está basado en scanlines, genera la imagen línea a línea, como hacían los chips gráficos de las placas arcade. Al igual que en aquellas, es posible modifiar, antes de cada línea, todos los parámetros de render, dando lugar a los llamados "raster effects", que eran seña de identidad de los juegos más punteros de la era 2D. Ningún otro motor los soporta de forma nativa.

De momento sólo hay un build para Windows, pero al estar escrito en C y no utilizar ninguna librería externa que lo ligue a un SO en particular, es factible generar builds para cualquier sistema de 32 bits con unos pocos megas de RAM y un compilador de C. Dichos builds irán apareciendo de forma progresiva según la demanda u opciones de colaboración por parte de individuos o equipos con kits de desarrollo para consolas.

Su API también está en C, pero la idea es ir liberando wrappers para otros lenguajes de alto nivel. De hecho el de Python está a punto de salir, y permite sesiones interactivas muy interesantes.

Agradecería que alguien se animara a echarle un vistazo en la web y probarlo (se puede descargar junto con la documentación y varios ejemplos) y a partir de aquí ir viendo qué interesa más y trabajar en esa línea.

Un saludo!

[EX3]

Buenas.

Acabo de darme un paseo por la pagina del motor y tiene una pintaza genial :)

Animo con el proyecto!

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

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

XÑA

Uau!!! Desde luego es de lo más original que he visto en muucho tiempo!!! Enhorabuena por el trabajo!!!!

megamarc

Buenas!

Gracias por los ánimos  :) Os informo de que acabo de liberar una nueva versión que incluye el wrapper para usarlo desde python, unos scripts de ejemplo y un breve tutorial dobre cómo usarlo.
http://www.tilengine.org/Tilengine.zip

Saludos!

Calantra

Gran trabajo, está muy bien para los que se quieran animar a hacer remakes de juegos antiguos.
Con unos pocos cambios y configuraciones también se puede compilar con dev-c++.

Saludos.

0 for i=0 to 1000<br>20 print "Ya soy programador"<br>30 next i<br>

megamarc

Cita de: Calantra en 29 de Junio de 2015, 07:57:25 PM
Gran trabajo, está muy bien para los que se quieran animar a hacer remakes de juegos antiguos.
Con unos pocos cambios y configuraciones también se puede compilar con dev-c++.
Gracias Calantra, evidentemente hacer remakes (o más bien "refritos") de juegos clásicos es bastante directo, aunque lo que realmente me gustaría es ver nuevos juegos de estilo retro que usen Tilengine. Al fin y al cabo ya hay una corriente artística que reivindica el pixel, y el uso de efectos raster permite ir un paso más allá.  :)

megamarc

#6
He publicado un nuevo vídeo de un ejemplo que implementa el efecto de distorsión de barril que se veía en uno de los niveles del Super Castlevania IV para Super Nintendo. Se consigue cambiando el factor de escala de cada línea siguiendo una función senoidal en vez de la clásica lineal para la proyección de perspectiva, y se refuerza cambiando ligeramente la paleta de color: de unos tonos claros en los extremos se pasa a otros más oscuros hacia el centro.

Podéis verlo aquí:
https://youtu.be/tqEP5DP8R0c

Gallo

Enhorabuena, tiene muy buena pinta! Por cierto, por lo que veo no es de código abierto no? o al menos yo no he encontrado el código fuente por la web, hay planes de hacerlo open source?

megamarc

Cita de: Gallo en 30 de Junio de 2015, 09:08:32 AM
Enhorabuena, tiene muy buena pinta! Por cierto, por lo que veo no es de código abierto no? o al menos yo no he encontrado el código fuente por la web, hay planes de hacerlo open source?
Hola Gallo! Gracias por el comentario. Pues de momento no es de código abierto, aunque lo estoy publicando gratis y con bastantes ejemplos. Desconozco la gestión de proyectos open source, y con lo poco que sé creo que si lo abriera perdería el control sobre el. Supongo que estoy equivocado puesto que hay muchos proyectos open source con identidad propia y que generan beneficios.

De todas formas si veo que a la gente le gusta y empiezan a salir oportunidades de desarrollar juegos y de colaboración (de momento estoy yo sólo) me lo replantee. Espero que al menos el hecho de ser cerrado no sea un escollo tan grande como para que nadie se anime a darle una oportunidad. Al fin y al cabo productos como el Unreal Engine y el Unity son propietarios y se utilizan.

Gallo

#9
Bueno, unreal engine es open source por ejemplo, propietario pero open source. Yo tengo mac y no puedo probar tu engine, hay otro proyecto por aquí en el foro, la raylib, que justamente pude probar en mac gracias a que era open source. Depende de que proyección tengas a nivel comercial claro, pero hacerlo open source puede ser una buena opción.

pobreotaku

genial y mas que esta en c, bajo que licencia esta GPL, MIT, Apache ..., y donde anda el codigo para echarle un vistaso en GNU/linux

megamarc

Cita de: Gallo en 30 de Junio de 2015, 08:28:57 PM
Bueno, unreal engine es open source por ejemplo, propietario pero open source. Yo tengo mac y no puedo probar tu engine, hay otro proyecto por aquí en el foro, la raylib, que justamente pude probar en mac gracias a que era open source. Depende de que proyección tengas a nivel comercial claro, pero hacerlo open source puede ser una buena opción.
Pues proyección comercial no tengo en este momento, en principio mi idea es liberar gratis todo lo que pueda, desde builds para varias plataformas a warppers para diversos lenguajes (el de python ya está publicado), e intentar conseguir donaciones y patronaje por parte de particulares, o colaboración económica si aparece la oportunidad de utilizarse en un producto comercial (sea un juego, integrarse en un framework propietario, etc). Hago esto por amor al arte y porque me haría ilusión que se utilizara para hacer juegos estilo retro, no para cobrar por su uso. Y menos aún a la comunidad indie, a la que me gustaría que este proyecto le aportara algo. Aunque si me ayuda a conseguir algo de dinero pues mejor que mejor :)
En este momento lo que más me interesa es ver qué interés despierta, si habría personas interesadas en colaborar y hacerlo llegar más lejos de lo que yo sólo podría, o sólo es un expermiento que no tiene futuro... ya se irá viendo! Y lo del open source no lo descarto, sólo que aún es pronto para eso.

megamarc

Cita de: pobreotaku en 01 de Julio de 2015, 03:25:30 PM
genial y mas que esta en c, bajo que licencia esta GPL, MIT, Apache ..., y donde anda el codigo para echarle un vistaso en GNU/linux
Hola pobreotaku, de momento no lo tengo bajo ninguna licencia y el código fuente está cerrado. Mi idea es que lo utilice todo el mundo que quiera sin restricciones, y aunque mantenga el código cerrado no está capado ni voy a sacar una versión "premium" de pago (ni contiene ningún tipo de malware!). Y como le comentaba a Gallo, si voy viendo que tiene futuro y el liberarlo como open source ayudaría a convertirlo en algo más grande, pues es algo que no descarto. Tengo que aprender cómo se gestionan este tipo de proyectos abiertos.

pobreotaku

pues liberalo como software libre y si gusta, la gente cooperara sin mas, en un repo git, mercurial, svn o el que quieras, sin compartir veo dificil que prospere, mas cuando proyectos similares y motores de software libre hay a montones, lo que si podria interesar a un gran nicho con poca atencion, seria mantener  documentacion de calidad en español, con  ejemplos y todo bien hecho y sobre todo multiplataforma, el ingles se ve bonito y llama mucho pero es un fastidio si solo sabes español he intentas aprender programacion en un lenguaje bonito como c.
en mi caso no me meteria al uso de ningun motor que no fuese software libre, multiplataforma, sin documentacion en el idioma que se, y al que tenga que acceder utilizando una herramienta en particular; si un #include no basta no tiene espacio en mis *.h, que no me interesa utilizar un ide de ningun tipo, menos el de visual estudio. en fin que un proyecto como el tuyo lo tomaria para aprender como hacer mi propio motor y si el modelo que maneja me gusta pues me unire a tu causa.
En cuanto a obrener dinero del proyecto solo por el lado del desarrollo y documentacion, algo como "como contruir un motor de videojuegos super chulo y en c" o "como hacer varios grandes titulos 2d con el motor super chulo del libro anterior". son libros con los que gustosamente me aria una cuenta de paypal para mandarte unos 20 pavos

megamarc

Hola otaku,

Agradezco tu extenso comentario y lo tendré en consideración. Entiendo que haya muchos desarrolladores que por principios sólo quieren usar herramientas de código abierto y que quizás por mantenerlo cerrado me estoy cerrando algunas puertas. Lo acepto, pues cada cual es libre de utilizar las herramientas que prefiera. Por mi parte seguiré esforzándome en que sea lo más accesible posible, aunque de momento mantenga el motor cerrado (los programas de ejemplo son públicos).

Quiero insistir en que el que sólo haya build y ejemplos para MS Visual C es provisional, pues construí el motor para que fuera independiente del SO para y poderlo portar a cualqueir sitio. Pero el Visual C es el IDE con el que tengo más experiencia, y de ahí que haya sido la primera plataforma en salir. No tengo ninguna intención de que sea la única y de hecho ya estoy trabajando en la de Linux. Pero un proyecto así tiene mucho curro:

* El motor en si: añadir características, corregir bugs...
* Hacer los ejemplos
* Wrappers para otros lenguajes: Python, Lua, C#, Java...
* Builds: Windows, Linux, Android...
* Mantener la Web (blog, documentación...)
* Promoción en redes sociales: Facebook, youtube, foros de desarrolladores como Stratos...

En algún sitio tenía que cortar, si espero a terminarlo todo no lo lanzo nunca  :)

En cuanto al idioma, lo puse en inglés por tener una mayor audiencia, aunque siendo un producto patrio tampoco estaría de más poner la web y la documentación en castellano también.

Un saludo!






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.