GNUstep

30 agosto 2014

Algunos comentarios sobre OpenGL

Filed under: Uncategorized — Etiquetas: , , , — Germán Arias @ 6:42 pm

Bueno, hace unas semanas publique un artículo sobre el uso de OpenGL con GNUstep. En las últimas semanas he aprendido, entre otras cosas, a cargas texturas basadas en imágenes PNG. Sin embargo, después de leer más sobre OpenGL me di cuenta de muchas de las funciones que yo había utilizado, ya no están disponibles en versiones recientes de OpenGL. Lo que significa que en algún momento mi app iba a quedar obsoleta. Por esta razón, voy a aprender OpenGL moderno antes de ponerme a hacer algún juego. Por supuesto, tratando que este sea compatible con versiones anteriores de OpenGL, para no tener que vérmelas con adaptar el juego para diferentes versiones. Aunque en algunos aspectos eso pueda ser inevitable. Así que voy a trabajar en una nueva versión de mi artículo anterior sobre OpenGL, para mostrarlo en una forma moderna.

12 agosto 2014

Correcciones en el manual de GNUstep

Filed under: Uncategorized — Etiquetas: , , , , , , — Germán Arias @ 12:11 pm

He actualizado el manual de GNUstep. La mayoría de los cambios son en el primer capítulo, donde hago una mejor explicación de la apariencia y comportamiento de las aplicaciones hechas con GNUstep en diferentes escritorios y sistemas operativos. Luego solo hay unas aclaraciones menores en otros capítulos y la corrección de un error en el último capítulo. Pueden descargar esta nueva versión en la sección de Documentos.

24 julio 2014

Juegos con GNUstep

Filed under: Uncategorized — Etiquetas: , , , , , — Germán Arias @ 7:42 pm

Ahora que me ha dado la manía de desarrollar juegos para PC, me he puesto a aprender OpenGL. Por supuesto, esto no es cosa de un día, pero ya aprendí como iniciar OpenGL en una app de GNUstep. Aunque también me queda la duda de si es posible desarrollar un juego utilizando completamente el framework GUI. Actualmente existen juegos desarrollados con GNUstep como Oolite y CoreBreach, pero hacen uso de SDL y OpenGL. Por supuesto existen otros juegos sencillos desarrollados completamente con el framework GUI, como los del proyecto GAP. Pero en este artículo voy a explicar lo básico para iniciar OpenGL en una app de GNUstep.

Primero debe crearse una app ya sea con ProjectCenter, Gemas o Emacs (o escribiendo todo a mano). Seguidamente debe agregarse un outlet, en mi caso lo llamo glView, en la clase que hace de controlador. Este outlet debe conectar con el CustomView de la interfaz gráfica, el cual debe ser una instancia de una subclase de la clase NSOpenGLView, en este ejemplo llamo a esta clase GameGLView. Entonces en la clase que hace de controlador, y que es el delegate de la aplicación, en el método -applicationDidFinishLaunching: escribimos:

opengl1

El método -refresh, implementado en GameGLView, es obviamente el encargado de actualizar el escenario. El código de esta última clase es el siguiente:

opengl2

El método -prepareOpenGL es el encargado de preparar OpenGL y es llamado únicamente una vez al crearse la instancia. El método -drawRect: es el método encargado de actualizar el contenido del escenario. Por supuesto, este método no debe llamarse nunca directamente, de allí el método -refresh. El método -reshape es encargado de actualizar la escena cuando la ventana es redimensionada, aunque en este ejemplo no hace mayor cosa. Para el que conozca de OpenGL notara que lo único que hace esta app es dibujar un rectángulo de color blanco. Esto se muestra en la siguiente imagen:

opengl3

Todo esto es muy básico, pero iré compartiendo mis avances en este campo. Por lo demás, haré un pequeño experimento para ver la factibilidad de crear un juego 2D utilizando únicamente el  framework GUI. Por supuesto, me refiero a un juego mas complejo que los disponibles en GAP.

23 junio 2014

CoreObject y otras noticias

Filed under: Uncategorized — Etiquetas: , , , , , , — Germán Arias @ 11:27 pm

Hace unas semanas Quentin Mathé libero una versión beta de CoreObject, un framework para el control de versiones de objetos. De acuerdo a la página oficial: “La idea es ir mas allá de los tradicionales sistemas de archivos y bases de datos, soportando la organización de documentos, estructuración de documentos, control de versiones, riqueza en Hacer/Deshacer y edición colaborativa en un solo framework”. Este paquete requiere características del compilador CLANG, por lo que no puede utilizarse con GCC :(. Es software libre liberado bajo la licencia MIT.

Por otra parte, hace algunas semanas escribía que no encontraba como resolver el problema de ProjectCenter (el IDE de GNUstep) en Windows. Si recuerdan, este problema era debido a las limitaciones en ese sistema operativo para ejecutar comandos en otro hilo. Bueno, pues siguiendo el viejo dicho “Divide y vencerás”, encontré la solución. Si Windows no permite ejecutar toda la tanda de comandos, ¿por que la necedad en hacerlo de un solo?. El interprete de comandos nos permite ejecutar las instrucciones por lotes, asegurando que cada lote no sobrepasa las limitaciones de Windows, Ya tengo escrita la solución, solo falta afinar algunas cosas y probarlo en una maquina Windows, que no tengo. Pero espero que estas mejoras estén ya en el repositorio la próxima semana.

6 mayo 2014

gs-emacs 0.1

Filed under: Uncategorized — Etiquetas: , , — Germán Arias @ 11:24 pm

Bueno, pues dando rienda suelta a mis incipientes conocimientos de elisp he escrito este sencillo paquete que agrega una entrada llamada GNUstep al menú de Emacs. Esta tiene tres opciones, las dos primeras son para crear sencillos proyectos de una App o Tool (para principiantes). Y la tercera opción sustituye caracteres, que no pertenecen al lenguaje Inglés, con su respectivo código. Esto es útil para archivos de strings y para archivos plist. Estas tres opciones pueden ejecutarse, respectivamente, mediante los comandos: M-x make-app, M-x make-tool y M-x replace-foreign-characters. La siguiente imagen muestra como queda el menú de Emacs:

gnustep-emacs

La siguiente imagen muestra un proyecto de herramienta:

gnustep-tool

Este paquete también ofrece auto-completado para GNUstep y la posibilidad de abrir los archivos gorm desde dired (load).

gnustep-completion

Compilando y probando una herramienta:

gnustep-compilation

Este paquete se puede descargar en este enlace. Simplemente se descomprime en algún lugar y luego en nuestro archivo .emacs se carga el archivo gnustep.el. Algo como:

(load-file “/home/user/gs-emacs/gnustep.el”)

Léase el archivo README si GNUstep no esta instalado con el layout por defecto. Es decir, si se tiene la necesidad de ejecutar el script de GNUstep.

Mi intención con este paquete, es entusiasmar a los usuarios de Emacs a experimentar con este magnifico entorno de desarrollo. Así como facilitarles el aprendizaje. Por lo que espero sea de utilidad.

10 abril 2014

Mejoras en ProjectCenter para Windows

Filed under: Uncategorized — Etiquetas: , , , — Germán Arias @ 12:15 am

En las últimas semanas he trabajado en algunas mejoras en ProjectCenter y el tema WinUXTheme, con el fin de que ProjectCenter pueda utilizar los paneles nativos. Todo esto funciona muy bien, y no requirió mucho trabajo. Sin embargo, hay otros aspectos que parecen casi insolubles. Como lo relativo al panel de construcción (BuildPanel). El problema es que la herramienta gnustep-make lleva a cabo una gran cantidad de instrucciones antes de ejecutar la herramienta make. Esto no es ningún problema en los sistemas tipo Unix donde no hay un limite a la cantidad de parámetros a pasar a una herramienta cuando se ejecuta en otro hilo. Sin embargo, en Windows existe un limite, y la herramienta gnustep-make se queda atorada a medio camino. La solución fácil, abrir un shell y ejecutar make a mano. Pero sería genial que ProjectCenter funcionara igual en cualquier plataforma. Voy a ver si consigo una solución en los próximos días. Tampoco quiero matarme en resolver esto, cuando lo más fácil es usar el shell. Los que deseen probar estas mejoras, pueden obtener copias de ProjectCenter y WinUXTheme usando SVN:

svn co http://svn.gna.org/svn/gnustep/plugins/themes/WinUXTheme/

svn co http://svn.gna.org/svn/gnustep/apps/projectcenter/trunk/

23 marzo 2014

GNU FísicaLab 0.3.4

Filed under: Uncategorized — Etiquetas: , , , , , — Germán Arias @ 12:42 pm

He liberado la versión 0.3.4 de FísicaLab, la cual es una corrección de errores. Bueno, en realidad solamente un error en la interfaz gráfica que no permite seleccionar el sistema Inglés. Esta disponible como binario para sistemas GNU/Linux de 32 bits y para MS Windows.

4 marzo 2014

Campaña de financiación para GNU FísicaLab

Filed under: Uncategorized — Etiquetas: , , , , , — Germán Arias @ 12:13 am

banner

He comenzado una campaña de recolección de fondos para el desarrollo de GNU FísicaLab- Esta es una aplicación educativa para la física que vengo desarrollando desde finales del 2008, y que es paquete GNU desde el 24 de diciembre pasado. Como ya sabrán, el software libre es importante en la educación, con el fin de no encadenar a los estudiantes (y volverlos dependientes) a paquetes de software privativos. FísicaLab esta disponible tanto en inglés como en español, incluyendo una extensa documentación con una gran cantidad de ejemplos. Un vistazo a esta puede darles una idea de las capacidades de esta aplicación. Aquí hay un vídeo demostrativo (en Youtube por qué ni a patadas puedo subir algo a gobblin.se):

fisicalab-video

Nunca antes he llevado a cabo una campaña de este tipo, así que esta es mi primera vez. Por lo que les agradecería correr la voz. A ver que tal me va.

9 febrero 2014

Nueva versión de Gemas

Filed under: Uncategorized — Etiquetas: , , , , — Germán Arias @ 7:25 pm

Ya esta disponible la nueva versión del editor Gemas. Las características mas notables en esta nueva versión son el auto-completado y el plugin pata usar este editor en ProjectCenter. Todavía no hay disponible un instalador para Windows, debido que hay algunos problemas con las ultimas versiones de estos. Lo cuales espero sean resueltos pronto.

8 febrero 2014

GNUstep team para Ubuntu

Filed under: Uncategorized — Etiquetas: , , , , — Germán Arias @ 11:53 pm

Hace algunas semanas se conformo el equipo GNUstep para Ubuntu, cuyo objetivo es proveer paquetes oficiales y recientes de GNUstep para Ubuntu. Los que también podrán ser utilizados en otras distros que utilicen paquetes deb. Pueden consultar la página de información del equipo aquí.

Older Posts »

El tema Silver is the New Black. Crea un blog o un sitio web gratuitos con WordPress.com.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.