jueves, 3 de febrero de 2011

Historia


Empiezo con una historia por ahora no demasiado larga pero sí interesante para mi de contarles. Pienso redactar desde donde viene mi interés por los videojuegos y cuales fueron mis pasos, desde chico hasta ahora como programador de juegos.

Dejo todo claro con links (los que recuerdo) y libros que fueron para mi fundamentales en el aprendizaje ya que creo que esto puede ser de gran ayuda para aquellos que se pregunten cómo empezar con el desarrollo de videojuegos, pregunta que alguna vez me hice yo, y que en alguna ocasión recurrí a internet para buscar consejos.

Y así empiezo, a los 13 años o 12 quizá (es una gran duda fue por mitad de primer año cumplo años el 19 de junio es más probable que haya tenido 13 jaja), mi mejor amigo me prestó un cd que mucho no le gustaba, resultó ser el Div Games Studio 2.0 (una amigable y muy bien documentada herramienta como para comenzar con el desarrollo de video games). Otro compañero a quien ya se lo había prestado, me explicó las bases de como empezar con esta herramienta. De ahí en más comencé a aprender, a prueba y error y leyendo una y otra vez la documentación del CD. Sin Internet era todo distinto, había muchas menos alternativas, cuando no entendía algo había que leer de nuevo y volver a probar. Por un lado, eso también estaba bueno.

Aquí surgió DSL Tech y entre los desarrollos se encontraron un juego de naves, el viejo Pong, intentos de juegos de aventura y RPG, y un generador de nombres y sobrenombres asignados aleatoriamente en base a unos vectores largos creados para ese fin y formando nombres muy graciosos jaja :P

En base a todo esto y a mi gusto de la programación como un hobby es que desde chico ya tenía en claro que la computación era lo mío. 

Por estos años continué con el Div, y pasé brevemente por Visual Basic y por algo de Java Mobile.

En 2007 comencé Ingeniería en Sistemas, y en ese mismo año, por mi cuenta me había comprado El lenguaje de programación C de Kernighan y Ritchie (el mejor libro de programación que leí hasta ahora). 

Con la base de ese libro fui realizando los ejercicios que planteaba, y algun que otro proyecto DOS por mi cuenta, de todas formas mi orientación iba hacia otro lado, mi gusto del Software fue siempre a lo gráfico es por eso que pronto pasé a C++, tomando como principal referencia la web C Plus Plus, y leyendo tutoriales de allí, y ya después el libro: The C++ Programming Language de Stroustrup.

En la facultad mientras veíamos C, como principal proyecto para DOS en C está mi calculadora, digna de ver!!



Al conocimiento de C++ agregué SDL, y surgieron juegos como los siguientes:






La última foto es de un juego interesante de ver, el Fuckin' Last Pong, es un excelente y entretenido Pong 2 Players, bastante mejor que los pongs anteriores que había desarrollado en Div.

Como pilar fundamental para aprender SDL tomé los tutoriales de Lazy Foo, son verdaderamente interesantes, muy recomendables!!

También realicé en este tiempo una aplicación explicando de cierta manera recursividad y el algoritmo usado para resolver Torres de Hanoi, en esta aplicación se muestra el recorrido de llamadas que va haciendo para resolver el problema:





A todo esto luego incorporé la librería Box2D y a jugar con las físicas!! Todo este tema me llamó la atención luego de haber conocido juegos indie como Tower of Goo y una demo del Crayon, que de ambos surgieron versiones completas (el primero llamándose World of Goo). El Crayon usó Box2D como librería para la simulación de físicas reales. Estos 2 juegos son excelentes juegos independientes (como también el Braid y el Super Meat Boy).

De Box2D tomé como fuente principal de aprendizaje su User manual, y luego adapté ese código para funcionamiento con SDL, o sea para representar con gráficos las figuras geométricas que calcula Box2D.

Mi incorporación de físicas al desarrollo se puede apreciar en Coding Me!





A todo esto le siguió mi aprendizaje de Base de Datos en la facultad, y de Java e interfaces, conexiones a BD y redes. Lo que despertó mi interés para relacionar todo esto con los juegos. Es por eso que comencé a dejar un poco de lado las aplicaciones de escritorio (más que nada porque no tuve el tiempo para trabajar en ambas cosas). Y continué ampliando el Ahorcado en Java que desarrollé como un ejercicio de la facultad, primero transladándolo a un applet.

Y luego conectándolo mediante sockets a otro servidor Java, que a su vez se conecta a la base mysql y así manejando la web app en 3 capas. También le sume un poco de conocimiento de Developers para Facebook para administrar los distintos jugadores del Ahorcado Online que está actualmente funcionando en Fb.

Siguiendo con está línea de Internet, continué con RIAs y desarrollo de Web App con Flex. Orienté hacia esta tecnología ya que Flex usa Actionscript al igual que flash, y este es el lenguaje que mejor se adapta para la programación de juegos online.

La mejor fuente a mi gusto para aprender Flex son una serie de videotutoriales con ejercitación incluída llamados Flex in a Week, el contenido de esa web es realmente excelente!! Me llevo un poco más de 1 week jaja creo q 10 días (por cuestiones de tiempo) pero realmente valió la pena ver cada uno de los tutoriales.

Noté a simple vista que los juegos de Flash en Fb son los mejores, además las librerías de gráficos en Java son bastante pobres. Ya antes me había desilusionado al aprender un poco de Java Fx (Lenguaje Java orientado a RIAs), y es por eso también que decidí orientarme a Adobe Flash. Además le tengo bastante fe al progreso de Flash hacia aplicaciones 3D para la Web.

Linkeo mi anterior entrada para mostrar lo hecho en Flex: RIAs con Flex.

Y mi último paso fue pasar por fin a Flash y Flash Media Server y distintos tipos de conexiones con estos, como Remote Shared Object, y RMTP, y algunos otros protocolos interesantes que aún no implementé.

Actualmente para as3 me baso con la referencia oficial de Actionscript y este libro que tengo desde el año pasado.

Como mi último enlace dejo el de Emanuele Feronato, una página más que recomendable de Flash, en la cual hay excelentes tutoriales. 

Bueno eso es todo por ahora, y ya pronto voy a traer otra nota con un nuevo proyecto Flash.

Saludos,
Daniel SL

miércoles, 12 de enero de 2011

RIAs con Flex - Página de ventas y Administración de Stock



Aquí estoy otra vez, esta vez subiendo una nueva aplicación desarrollada en el segundo semestre de 2010. Esta aplicación, devenida en página Web fue mi primer aproximación a una RIA. Este fue un trabajo en grupo para la materia Seminario de Integración Profesional realizado por Martín Bossero, Juan Gastaldi, y quien les escribe: Daniel Sánchez Leguizamo.

Martín y Juan dieron su aporte en la etapa de análisis, documentación y testing. Yo me encargué de la codificación (implementación de las páginas web y servidor), la coordinación del proyecto, como también di mis aportes en el resto de las áreas.

La elección del tópico fue inicialmente un proyecto de administración de stock, pedidos de productos, ventas en sucursales, y abm's de productos y usuarios, enfocado al análisis de gestión con reportes y gráficos para la toma de decisiones orientados hacia la gerencia. Lamentablemente a nuestro alcance inicial, por orden de los profesores de la materia tuvimos que sumarle el desarrollo también de un sistema de venta online, lo que quizás no nos permitió enfocarnos en la herramienta para la toma de decisiones, y nos amplió el proyecto de sobremanera, para implementar en menos de 6 meses, con una tecnología que prácticamente no conocíamos.

Por eso mismo este proyecto se dividió en dos, el orientado hacia el cliente: 




Y el orientado hacia la administración de la empresa:





En este último se diferencian tres perfiles (dejo datos de usuarios creados):

Perfil: Administrador de Stock | Usuario: administrador | Password: administrador

Perfil: Gerente | Usuario: gerente | Password: gerente

Perfil: Empleado de Ventas | Usuario: ventas | Password: ventas

La actual implementación del sistema es sobre productos de una empresa de electrodomésticos, de todas formas de igual manera podría implementarse para cualquier otra empresa de venta de productos.

Mi idea con esto, más allá del desarrollo de un nuevo proyecto necesario para la aprobación de la materia, era aprender de alguna manera, desarrollando un proyecto básico, as3 (actionscript), y aprender mucho más sobre el desarrollo de aplicaciones Web, y la integración de las aplicaciones cliente con el servidor (usamos php) y con la base de datos mysql. Del lado del cliente usamos Actionscript, como antes mencioné, y Adobe Flex. Para la conexión de Flex a php, usamos objetos remotos, con amfphp.

Hasta el momento mi único precedente, en aplicaciones Web, era el Ahorcado Online, actualmente funcionando en Facebook, y desarrollado en java con conexión a Php y BD mysql.


Fue un gran proyecto, y por sobre todas las cosas me dejó una gran experiencia para un gran proyecto que estaré desarrollando durante este año...


danii!

lunes, 10 de enero de 2011

Simulando un Parque de Diversiones!!!



Después de un tiempo vuelvo a postear y espero este año tener un poco más de tiempo y poder dejar nuevas cosas para compartir. Esta vez subo a mi blog algunos nuevos proyectos del 2010. 


Primero un trabajo práctico interesante que realicé con Martín Bossero, él se encargo de gran parte del código en Visual Logic y de buena parte del diseño de la simulación. Lo subo porque este puede ser útil para alguno de los lectores del blog, este fue el desarrollo de un modelo de simulación de un parque de diversiones en Simul8 con algunas condiciones específicas, mencionadas en la documentación (que también subo).

Para todos los interesados en simular algun modelo con Simul8, programa usado en materia de Modelos y Simulación en muchas universidades, quizás les pueda servir como referencia este modelo realizado con una buena cantidad de código en Visual Logic que puede ser accedido y modificado. Pueden bajar los archivos accediendo al siguiente link:





Además destaco mi trabajo reciente en un proyecto freelance de simulación de cajas de un supermercado, particularmente de las colas, teniendo en cuenta, cajas prioritarias y clientes prioritarios. Fue un proyecto en Java de desarrollo rápido debido a la urgencia del mismo. Por lo que me parece que para todo aquel interesado en el área, la Simulación es bastante entretenida y se ubica entre un videojuego y un proyecto de negocios. Ya que seguramente a muchas otras personas que les gusta programar, les gusta ver su desarrollo funcionando y si es posible desde lo gráfico.



Hasta dentro de unos diasssss!!!

dani :)

martes, 16 de marzo de 2010

Y se hizo Online...

Bueno como ya venia siendo hora, las tecnologias avanzan... Años de Internet, y con la disponibilidad de una red social ENORME como es Facebook, con mas de 350 millones de usuarios. Es asi como decidi adaptar mi simple ahorcado hecho en Java para la plataforma de FB!!!

Como siempre, primer proyecto usando nuevas tecnologias, hasta lo mas simple me ofrecio resistencia y costo mucho avanzar cada paso. Pero al fin puedo publicarlo, y espero q ahora q me saque mi primer peso de encima, poder estar ligero para alguna q otra aplicación simple de Facebook. Para mejoras y correcion de errores del Ahorcado... Y desde ya, para continuar cn el proximo capitulo del Coding Me! Q esta EXCELENTE!!! Jaja :D

Muchas gracias a todos los q me ayudaron cn el Ahorcado Online!!

Espero que les guste y gracias a todos x leerme :)




Saludos,
Daniel SL

martes, 20 de octubre de 2009

Ahorcado Java Applet

Bueno, esta es una version desmejorada del juego del ahorcado ;)

Hecha como un lindo programa y traida a la web un poco simplificada como applet.



Debería verse el ahorcado en la página Web, es probable que no tengas instalado Java en tu pc, para eso podés descargarlo de: www.java.com. Además si tu navegador Web no tiene habilitado el uso de Scripts se te avisará con un mensaje y tendrás que activarlo.


Dani Returns :D

miércoles, 1 de abril de 2009

Coding Me! - Primer Capítulo...

Inauguro blog con mi primer proyecto de 2009, Coding Me! Este juego surgió a mediados de enero y paso por 2 compiladores, uso de unas cuantas librerías nuevas, y dio lugar a la creación de este blog... No es que el juego esté terminado, esto es sólo el primer capítulo, ni tampoco que sea maravilloso... pero de todas formas es mi mejor proyecto por el momento, así que quiero compartirlo =) todos los interesados pueden ir viendolo, y yo veo lo que cada uno de ustedes opina sobre este juego, y eso sinceramente es lo que más me ayuda a seguir... Saber que voy x el buen camino jaj :) Así que bueno sin más que decir dejo el link de Coding Me! Click aquí para descargar.


Dejo alguna foto del juego:







Espero que les guste,
y agradecería q me dejen sus comentarios =)

What's next?

Sólo para osados: Coding Me (Alpha). (Versión en pleno desarrollo, en que la primer etapa se saltea con sólo 3 líneas agarradas, esto es para pasar rapidamente al segundo capítulo. Además en esta versión no se pueden ver los créditos que sí vemos en el link anterior)


Un saludo a todos,
Daniel SL!