Archive for November, 2007

Bizarro

Friday, November 30th, 2007

Me acaba de pasar algo muy bizarro.

Estuve intentando llamar desde mi teléfono celular hacia otro teléfono celular, y en uno de los intentos escucho como que alguien me atiende, pero nadie del otro lado. Entonces digo: “Hola”, y luego de uno o dos segundos escucho una voz totalmente desconocida diciendo “hola”.

En ese momento quedé atónito, no esperaba escuchar la voz de un hombre, sino de una mujer.

Le respondí “que tal”, y escucho como respuesta: “que tal”. Digo: “quien habla?” y escucho: “quien habla?”. Me quedé callado, y nadie del otro lado habló, solo se escuchaban ruidos de fondo; gente y autos que pasaban.

Empiezo a hacer ruidos con la boca, los dedos y luego de uno o dos segundos escucho los mismos ruidos.  Empecé a golpear el teléfono con un ritmo, y escucho el mismo ritmo del otro lado.

No tuve dudas, me atendió alguien que me hacía burla.

Lista completa de dependencias de un paquete

Monday, November 26th, 2007

Hice un pequeño script en Python para averiguar la lista completa de dependencias de un paquete:

Ejemplo:

$ ./apt-get-all-deps.py wget
tzdata
libc6
zlib1g
libssl0.9.8
wget

Como dije en la lista de correo de Debian, el programa lo hice hace un rato y seguramente esté lleno de errores. Aún así, a alguien le puede resultar interesante. El programa devuelve la lista en el orden apropiado para instalarlos. Eso es, primero deberán instalar los que aparezcan al comienzo de la lista, y luego seguir instalando hasta el final.

Para descargar la lista completa de paquetes pueden hacer:

aptitude -d download `python apt-get-all-deps.py wget`

Usando Boost.Python en Debian (sin bjam)

Monday, November 26th, 2007

Deberán instalar el paquete libboost-python-dev de Debian. Luego:

#include <boost/python.hpp>
using namespace boost::python;

char const* greet()
{
return “hello, world”;
}

BOOST_PYTHON_MODULE(hello)
{
def(”greet”, greet);
}

Para compilar:

gcc -shared -Wl,-soname,hello -I/usr/include \
`python2.4-config –includes` `python2.4-config –libs` \
-lboost_python -o hello.so hello.cpp

Para ejecutar:

$ python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import hello
>>> hello.greet
<Boost.Python.function object at 0×81a1c98>
>>> hello.greet()
‘hello, world’

Por qué no te callas?

Thursday, November 15th, 2007

Coding Horror

Thursday, November 15th, 2007

Llegaron! Gracias Jeff!

Coding Horror

EVA07

Friday, November 9th, 2007

EVA07

Terminó la EVA07, y estuvo mucho más interesante que otros años. Las charlas fueron de buen contenido, con temas que al menos a mí me interesaron. Como todos los años, la organización del evento pareció ser bastante “de entre amigos” (se notó mucho con el manejo de las diapositivas), pero como la cantidad de personas que vamos no alcanza para llenar el lugar es mucho más cómodo para todos.

Las charlas se centraron en el desarrollo de videojuegos en este lado del planeta (Argentina y Uruguay), dando pequeñas ideas sobre por qué no es tan mala idea hacer juegos, y también demostrando que sí se puede lograr algo mínimamente exitoso.

El principal tema del evento fue, sin ninguna duda, el desarrollo de juegos casuales. La idea básica transmitida fué que quien quiera comenzar con el desarrollo de videojuegos, inicie con esta clase de proyectos. Juegos como Tetris o Bejeweled son algunos de los más populares.

Según la Wikipedia:

El término juego casual se usa para referirse a una categoría de juegos electrónicos o de computadora orientados a un público masivo. Los mismos comúnmente poseen un conjunto muy simple de reglas o técnicas de juego y exigen un bajo nivel de estrategia, logrando que puedan aprenderse a jugar de forma relativamente sencilla y poder jugarse como un pasatiempo.

No requieren habilidades especiales o compromisos a largo plazo, y poseen bajos costos de producción y distribución para la empresa productora, comparado con otras clases de juegos. Los juegos casuales son comúnmente jugados en una computadora personal vía Internet mediante un navegador Web, aunque y de a poco están también comenzando a ser populares en consolas de videojuegos.

La población de jugadores también varía notablemente de aquellos jugadores de videojuegos tradicionales, ya que el clásico jugador casual es de mayor edad y predominantemente mujer.

Los juegos Web también tuvieron su presencia. Ideas simples y diferentes como flOw, Line Rider o Samorost que si bien son extranjeros, marcan otra dirección para videojuegos.

Patricio Jutard dió la que para mí fue la mejor charla. Habló sobre Scrum, la controversial pero a la vez popular metodología de desarrollo de software para la coordinación de proyectos y grupos de trabajo.

La idea de Scrum es darle más flexibilidad a todo ese circo que es programar videojuegos, priorizando las tareas más importantes, no dedicarle más de 15 minutos diarios a las reuniones y delegando todas las responsabilidades posibles en los que, a fin de cuentas, trabajan.

Luego la gente de Sony nos habló sobre su especial interés en comenzar a expandir sus fronteras por este lado del globo. Al día de hoy no hay presencia oficial en lo que es américa latina; se ofrecen a incubar proyectos para la PS2 o PS3 junto con soporte y consolas de desarrollo.

La letra chica dice que a Sony no le interesa a ningun programador de garage con su pequeña idea, sino que buscan a alguna empresa que ya esté trabajando en el área, tenga experiencia en la industria de PC y quieran buscar nuevos rumbos hacia las consolas.

No es demasiado importante la magnitud del proyecto: un equipo de desarrollo promedia son de 40 a 60 personas, mientras que juegos como El Padrino tuvo 300. Lo que importa es que tan buena es la idea, y qué tánto puede llegar a vender.

Quieren empezar a de poco primero incentivando juegos más bien “Casual” en la PS2 (hay millones de consolas vendidas que ahora las están empezando a usar otro tipo de personas, no solo gamers adictos), para luego moverse a la PS3. Eso es lo que busca Sony.

Daniel Benmergui habló de lo que él cree que va a ser el próximo “Nuevo Game Design”. Sugirió romper con los “géneros” de los videojuegos y de una buena vez dedicarse a crear cosas nuevas en vez de clonar ideas de juegos que ya existen o buscar el santo grial del game design (léase Monkey Island).

Patrick Dugan habló, entre otros temas, de por qué él cree que es bueno dedicarse a crear videojuegos en el país. Al menos hasta el 2012.

Gabriel Gambetta de Mystery Studio (Uruguay) habló de su experiencia desde que abrió su propia empresa de desarrollo de videojuegos hasta el día de hoy, en el que actualmente le dedica tiempo completo a su emprendimiento.

Me sentí muy identificado con algunas cosas que dijo. “¿Por qué no ser como una persona normal e ir a trabajar a un banco o alguna empresa en un sistema de control de stock y precios de productos?”, la que según nos contó fué una pregunta bastante común que le hicieron muchas personas a lo largo de su vida.

Por último, Lionel Zajdweber remarcó los beneficios que pueden llegar a dar crear una comunidad de usuarios de un juego. Una comunidad de jugadores no solo puede darle valor al juego sino que la comunidad misma puede llegar a convertirse en algo mucho más valioso que el juego mismo.