Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - megamarc

#16
Proyectos / Tilengine: Motor 2D con efectos raster
15 de Enero de 2016, 06:25:48 PM
Hola!

Hacía tiempo que no publicaba aquí y hay bastantes novedades relativas al motor gráfico Tilengine:


  • Nuevas funciones para el control de errores que ayudan en la depuración: TLN_GetLastError()
  • Los sprites ahora pueden detectar colisiones a nivel de píxel, de forma similar a como hacían los chipsets reales, mucho más preciso que la habitual comparación de rectángulos: TLN_EnableSpriteCollision() y TLN_GetSpriteCollision()
  • Versión nativa en 64 bits para Windows
  • Proyecto disponible en GitHub: https://github.com/megamarc/Tilengine
  • Documentación en lína actualizada

Además los chicos de RetroManiac han publicado un interesante artículo acerca de tilengine que podéis leer aquí:
http://retromaniacmagazine.blogspot.com/2016/01/tilengine-una-libreria-para-crear.html

Un saludo
#17
Hola Ray,

Gracias por tu extensa respuesta y por los halagos a Tilengine  :) No somos muchos por aquí haciendo librerías o motores gráficos multiplataforma... Paso a responderte:

Cita de: raysan en 04 de Septiembre de 2015, 07:22:11 PM
los samples al intentar ejecutarlos directamente desde samples/win32 me pedía Tilengine.dll
Los samples de Tilengine no te funcionan tal cual te lo bajas porque hay que hacer una pequeña instalación previa. Como este es tu hilo, te pongo el enlace al mío donde lo explico con más detalle. Espero que ahora puedas probarlo todo!
http://www.stratos-ad.com/forums/index.php?topic=16970.msg163686#msg163686

Cita de: raysan en 04 de Septiembre de 2015, 07:22:11 PM
También he echado de menos el código fuente de la librería...
Este es un tema recurrente, ejm... El caso es que de momento lo tengo cerrado. No me importaría abrirlo si viera que hay interés en colaborar, o por lo menos que alguien se animara a intentar probarla. Pero como nadie tiene interés en usarla pues no veo en qué me puede beneficiar abrirlo ahora, además ya es gratis sin limitaciones. Pero bueno, el tiempo dirá.

Cita de: raysan en 04 de Septiembre de 2015, 07:22:11 PM
...la compilación de raylib para Android, utiliza los mismos src que la versión escritorio...
Como estoy empezando y voy un poco verducho me había encallado. Echaba en falta la capa JNI. Pero después de profundizar un poco más, he visto que en la carpeta que comentas están los makefiles, he ejecutado el ndk-build y se ha generado sin problemas. También he entendido la ausencia del JNI, daba por hecho (porque es la práctica habitual) que en Android la aplicación principal está en Java y raylib en C nativo, en ese caso es necesario el JNI (como en Tilengine, que sí lo tengo hecho). Pero vosotros hacéis la aplicacion en Android también en C nativo, así que no es necesaria la capa JNI.

Qué bien que tengas a tus alumnos trabajando con raylib, testando, aportando ideas y viendo los proyectos que hacen, tiene que ser gratificante. Ahí me llevas mucha ventaja! En cuanto al uso de C, yo me encuentro divido al respecto. Durante muchos años sólo he programado en C, así que como es el lenguaje que más domino siempre es mi primera opción, y de hecho tanto Tilengine como la mayoría de ejemplos acompañados están en C. El típico caso del herrero que lo arregla todo a martillazos, no porque el martillo sea siempre la herramienta más adecuada sino porque es la que más domina y es eficiente usándola. Pero desde que empecé a conocer otros lenguajes con mayor abstracción me di cuenta de la enorme diferencia entra la programación de sistemas y la de aplicaciones. Hace unos cuantos años también fui profesor en una academia privada, y en el C se estrellaba mucha gente. Pese a ser mi "martillo", hoy en día ya no enseñaría C como primer lenguaje. Por lo que dices tus alumnos son artistas sin formación técnica. No dudo de la calidad de vuestro curso (que tampoco sé qué engloba ni cuáles son las expectativas de los alumnos) ni de los resultados finales, que por lo que dices son muy buenos. Pero se me hace extraño que alguien que no es ingeniero ni tiene intención de serlo, que sólo quiere una herramienta para poder expresar unas mecánicas de juego básicas y plasmarlas en un programa, tenga que empezar por el tedio del bajo nivel, punteros huérfanos, fugas de memoria, desbordamientos, una librería estándar críptica y poco intuitiva... Ojo, que esto no es una crítica, tan sólo una reflexión, no sobre la validez del C (que como lenguaje flexible y universal es totalmente incontestable) sino como la idoneidad de que sea el bautismo para un estudiante de aplicaciones de alto nivel, que bastante les cuesta a los pobres asimilar los conceptos básicos. Y que conste que yo soy el primero que me lo hago todo en C!

Me alegro que tengas resuelto el tema de linux, sino le iba a echar un vistazo porque mi librería ya tuve que portarla así que lo tengo fresco.

Y felicidades por tu enorme trabajo en raylib y por los buenos resultados que os está dando, esa es la mejor recompensa!

Un saludo y ánimo,
Marc
#18
Proyectos / Instalación tras la descarga
04 de Septiembre de 2015, 11:11:33 PM
Parece que ha habido un poco de confusión a la hora de probar los ejemplos. El proceso está explicado en el PDF adjunto, pero supongo que es fácil pasarlo por alto e ir directamente a ejecutarlos.

Es necesario ejecutar un script tras la descarga antes de poder probar los ejemplos

Tras descargar y descomprimir, tanto en Windows como en Linux hay que ponerse en la carpeta raíz donde se ha descomprimido. Dependiendo del S.O. hay que realizar un paso u otro:

Windows:
  install.bat

Linux:
  sudo ./install.sh

Ambos scripts copian los ejecutables y librerías compartidas correspondientes dentro del directorio /samples, que es donde deben ejecutarse

Un saludo,
Marc




#19
Buenas!

Impresionante trabajo el de tu librería, muy completa y de uso directo. Como autor de otra librería gráfica, aunque muy diferente a la tuya en enfoque (http://www.stratos-ad.com/forums/index.php?topic=16970.0), sé lo difícil que es llevar un proyecto personal adelante. Aparte de la librería en sí están los ports, los ejemplos, la documentación en línea... mucho trabajo! Así que te felicito. Además comparto tu interés por la programación "espartana", me crié con el BASIC de Spectrum y luego el Turbo C (no C++) de Borland. Ahora tiro mucho de notepad++ y mingw/gcc. Me parece muy bien que lo defiendas, cada vez más gente piensa que crear un videojuego consiste en utilizar algún tipo de entorno "point and click" lleno de asistentes sin escribir una línea de código (tipo GameMaker). Estas herramientas están muy bien como punto de entrada, pero nunca sustituirán a la flexibilidad ni la eficiencia de un buen programador.

Quería comentarte algunas cosas:

Me he bajado el proyecto master de github para compilarlo en Android (precisamente ahora estoy en la labor de portar el mío a Android y ya tengo JDK, SDK, NDK, Ant...) pero la carpeta raylib/template_android donde supuestamente está el proyecto no existe, ni he encontrado rastro de los fuentes del wrapper JNI. No sé si se trata de un error o lo has dejado fuera expresamente por algún motivo. No obstante sí que he encontrado los binarios precompilados.

Conoces Python? A pesar de que yo soy sobretodo programador de C, Python me parece muy adecuado para la programación de juegos, más incluso que C. C es sistemas: punteros, acceso directo a los datos en memoria, y máximo rendimiento. Imprescindible para crear librerías de bajo nivel. Pero no es interactivo y el proceso compilación/depuración a veces es tedioso, sobretodo sin un buen debugger. Python en cambio es abstracción, sintaxis limpia, y el modo inmediato desde consola es genial para probar cosas de forma interactiva (al estilo BASIC). Por ello escribí un wrapper para utilizar mi motor en C desde Python. Abrir una consola, escribir una orden y ver el resultado inmediatamente en la ventana gráfica asociada no tiene precio. Tu raylib, orientada a la enseñanza, es carne de cañón de la interactividad que ofrece python. Te has planteado lanzar un wrapper? Podría echarte una mano, si tuviera más tiempo te lo haría yo mismo pero eso es algo que no puedo prometer...

Nadie ha comprobado si compila en linux o si hay que tocar el makefile? O ya lo tienes resuelto pero no está en el proyecto master todavía?

Un saludo,
Marc
#20
Proyectos / Soporte Java
26 de Agosto de 2015, 11:23:44 AM
He añadido soporte para usar Tilengine desde aplicaciones en Java, mediante un wrapper JNI tanto para windows como para linux. También he reestructurado el pack descargable, ahora más ordenado en carpetas y he ampliado el documento PDF con las nuevas características.

Más información en http://www.tilengine.org/index_es.htm
#21
Proyectos / Nueva versión 1.4.0
16 de Agosto de 2015, 04:20:01 PM
He publicado una nueva versión del motor, está sobretodo centrada en un nuevo motor de animación por ciclo de colores mucho más potente, aunque también trae otras novedades. Aquí está la lista de cambios:

  • Añadidas funciones para manipulación directa de recursos, para soportar rutinas procedurales y cargadores propios
  • Añadida capa de bitmap de fondo opcional en vez de color sólido (TLN_SetBGBitmap y TLN_SetBGPalette)
  • Hecha pública la interfaz TLN_Bitmap para soportar las características anteriores
  • Nuevo motor de animaciones por ciclo de color, con varias zonas y blending
  • Añadidas funciones TLN_SetPaletteAnimationSource y TLN_MixPalettes para interpolar paletas
  • Host: Añadida difuminado horizontal (TLN_EnableBlur)
  • Host: Función TLN_GetTicks para control de tiempo
  • Corregidas situaciones en las que acceder a un recurso no válido generaba excepción de acceso
  • Modificados algunos ejemplos con gradientes en el cielo y el nuevo motor de ciclo de color
http://www.tilengine.org/index_es.htm
#22
Proyectos / Tilengine - Web en castellano
27 de Julio de 2015, 05:50:40 PM
Buenas,

He puesto la web de Tilengine en castellano además de inglés. La versión en castellano muestra además el histórico de cambios en la página principal y algunas capturas más de los ejemplos incluidos, que al clicarlos lleva a la página de youtube con el vídeo correspondiente -si está disponible-.
http://www.tilengine.org/index_es.htm

Un saludo
#23
Proyectos / Re:Tilengine: Motor 2D con efectos raster
22 de Julio de 2015, 01:22:54 PM
Cita de: Kel en 22 de Julio de 2015, 12:11:04 PM
Lastima que en C no recuerdo nada.
Hola Kel, gracias por los ánimos! También me gustaría ver nuevos juegos arcades estilo clásico, por eso he hecho Tilengine  :) Por cierto no es necesario C, también se puede utilizar desde Python, hay un wrapper para este lenguaje. Qué herramienta usas para crear tus juegos?
#24
Proyectos / Re:Tilengine: Motor 2D con efectos raster
22 de Julio de 2015, 01:15:33 PM
He juntado la distribución Windows y Linux en un solo "bundle", ya que la mayoría es común, y lo he reorganizado un poco internamente, con menos carpetas. El contenido es el mismo: fuentes en C de los ejemplos, makefiles para Windows Y linux, archivos de proyecto Visual C y Dev-CPP, binarios precompilados listos para probar, ejemplos python, documentación... la descarga es http://www.tilengine.org/Tilengine.zip. El pack de sólo linux con la documetación en castellano que publiqué ayer sigue estando disponible.

También he retocado un poco la web para reflejar la versión Linux y ajustar algunas cosas que no me gustaban.

A partir de aquí me centraré en tener una web en castellano con más relevancia en las novedades que vaya sacando. Como siempre, cualquier duda, sugerencia, etc, será bienvenida.

A ver si alguien se anima a probarlo!  ;)

Un saludo
#25
Proyectos / Versión Linux publicada
21 de Julio de 2015, 11:07:48 PM
Ya está colgado el pack para linux, lo podéis bajar en http://www.tilengine.org/tilengine.tar.gz

Al descomprimirlo hay un documento pdf en castellano en el que explica brevemente cómo instalarlo y probarlo. El conetnido es el mismo que en la versión Windows (fuentes de los ejemplos, scrips python, recursos gráficos, etc) pero la distribución es algo diferente.

Como soy nuevo en linux quizás haya cosas en el Makefile que puedan hacerse mejor, o que esté mejor estructurado... si los que tenéis más experiencia en este sistema tenéis alguna sugerencia después de ver cómo está montado, será bienvenida.

Un saludo
#26
Proyectos / Versión Linux completada
21 de Julio de 2015, 09:09:29 AM
Avance preliminar: ya tengo lista la versión de Tilengine para Linux  =D> . Funcionan tanto los ejemplos en C como los de python, igual que en la versión Windows. Requiere tener instaladas las librerías zlib y SDL2.
Sólo me queda hacer un pequeño makefile para que instale la librería (shared object y cabecera) y compile los ejemplos, y en cuanto lo tenga pondré un enlace para descargar. Adjunto una captura de pantalla de muestra, la distribución que veis es Lubuntu (una versión reducida de Ubuntu), y se puede ver uno de los ejemplos de python funcionando desde la consola.
#27
Proyectos / Nueva versión
09 de Julio de 2015, 12:37:38 AM
Buenas!

He actualizado el pack de descarga en la web. Los cambios más destacables son:

  • Actualizado el código fuente y recursos del ejemplo "Barrel" tal como se ve en youtube
  • Ampliada la función TLN_GetLayerTile para que devuelva el punto exacto dentro del tile, útil para detectar colisiones entre sprites y tiles. El ejemplo Barrel utiliza esta función
  • Añadidos los archivos de proyecto y makefiles para Dev-CPP y MinGW aportados por Calantra
En otro orden de cosas, ya compilo Tilengine con un makefile y mingw32 sin usar Visual Studio, por lo que la versión para Linux no debería tardar

Un saludo
#28
Proyectos / Re:Tilengine: Motor 2D con efectos raster
06 de Julio de 2015, 01:54:54 PM
Cita de: Calantra en 06 de Julio de 2015, 08:51:24 AM
Hola Marc, yo tengo los primeros ejemplos (todos) adaptados para el IDE dev c++, si te parece bien los puedo colgar en un enlace de MEGA para aquel que que quiera probarlos desde un entorno libre.

Un saludo.
Hola Calantra, me parece genial tu aportación. Por supuesto puedes subirlo, pero te propongo algo mejor: colgarlo directamente en el sitio oficial (tengo espacio), y en la web pongo una reseña a que esta versión la has contribuido tu, junto con los datos que quieras que ponga (tu alias, sitio web, etc). Qué me dices?
Un saludo!
#29
Proyectos / Re:Tilengine: Motor 2D con efectos raster
05 de Julio de 2015, 03:30:25 PM
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!
#30
Proyectos / Re:Tilengine: Motor 2D con efectos raster
01 de Julio de 2015, 08:12:27 PM
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.





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.