My Writings. My Thoughts.
Quiero un mundo de micheladas
// Enero 18th, 2010 // No Comments » // ocio, videos
Ahora que estuve en Hermosillo, mis sobrinitas me introdujeron al mundo de Atrévete a soñar, a la rola de Mundo de caramelo y eventualmente a…
Artículos relacionados:
Rob Dougan — Clubbed to death
// Diciembre 19th, 2009 // No Comments » // videos
Una de mis rolas favoritas. Me trae muchos recuerdos de otra época y algo de melancolía…
El video es muy bueno. ¿Quién dice que no se puede?
Artículos relacionados:
Pink Glove Dance — Tomando conciencia acerca del cancer de mama
// Diciembre 4th, 2009 // No Comments » // salud, videos
Son estas formas de manifestar algo lo que pone una sonrisa en mi rostro.
Un video para que tomemos conciencia acerca del cáncer de mama.
Artículos relacionados:
Ninite — El mejor software gratuito reunido en un sólo lugar
// Noviembre 18th, 2009 // 3 Comments » // recomendaciones, software
Si, uso Ubuntu, pero a veces no falta el amigo o familiar que te pide le formatees la máquina, le pongas Windows y le instales el software básico para funcionar.
Para esos casos existe una solución muy buena, se llama Ninite.
Lo único que debes hacer es ir al sitio de Ninite, seleccionar de la lista el software que desees y se te generará un instalador que podrás usar en tu máquina con Windows. No más vueltas por toda la red para conseguir lo mejor de lo mejor.
Todo en un mismo lugar.
Artículos relacionados:
Desde la cima del mundo
// Noviembre 18th, 2009 // 2 Comments » // ocio, videos
…civilizado, en Dubai, Emiratos Árabes para ser exactos.
Así es, aquí se encuentra la torre más alta construida por el hombre, la Burj Dubai Spire con 818 metros de altura. El proyecto ha tenido un costo de 4.100 millones de dólares. El arquitecto a cargo es Adrian Smith.
Artículos relacionados:
Cómo mostrar las sentencias SQL en la consola de Rails
// Noviembre 17th, 2009 // No Comments » // programación, tips
Al operar la consola de Rails, muchas veces quisieramos que al usar nuestros modelos se nos mostrara el SQL que se está generando.
Sólo agrega las siguientes líneas a tu archivo ~/.irbrc
1 2 3 4 5 6 7 8 | if ENV['RAILS_ENV'] # Called after the irb session is initialized and Rails has been loaded IRB.conf[:IRB_RC] = Proc.new do logger = Logger.new(STDOUT) ActiveRecord::Base.logger = logger ActiveResource::Base.logger = logger end end |
Ahora, cuando interactúes con la base de datos verás algo como esto:
1 2 3 | >> Oficina.find 1 Oficina Load (1.2ms) SELECT * FROM "oficinas" WHERE ("oficinas"."id" = 1) => #<Oficina id: 1, nombre: "CAMPECHE BCMR", organizacion_id: 2, activa: true> |
Referencia
Showing SQL statements in the Rails console
Artículos relacionados:
Programando un PBBG en Ruby & Rails
// Noviembre 17th, 2009 // 3 Comments » // game development, programación
Después de mi corto regreso a la programación de videojuegos, y de haber visto por ahí y leído acerca de algunos PBBGs, finalmente he decido darme a la tarea de desarrollar uno.
PBBGs
Seguramente se preguntarán ¿qué es y cómo se juega un PBBG?
PBBG == Persistent Browser Based Game
Eso básicamente quiere decir: juego persistente para navegador.
La infraestructura y herramientas necesarias para desarrollar videojuegos en el ámbito del desarrollo web no son ni remotamente cercanas a las que existen para el desarrollo de escritorio.
Así, esto se convierte básicamente en un arte, hay que diseñar y desarrollar un videojuego alrededor de una estructura de operación ya establecida como lo es el protocolo HTTP, el modelo cliente-servidor y los tiempos de respuesta acostumbrados de una página web.
Por esta razón, la gran mayoría de los PBBGs se inclinan por uno de estos dos géneros:
- Juegos de rol
- Juegos de estrategia
O alguna mezcla rara entre ellos.
El modelo de participación preferido y más fácil de implementar es por turnos, aunque algunos de los PBBGs más modernos están incorporando un modelo de participación en tiempo real.
Si no conoces aún algún PBBG, aquí te dejo unos enlaces para que te des una idea de cómo son y cómo se juegan:
Los juegos de estrategia tradicionalmente se dividen en: por turno (TBS) [turn based strategy] y en tiempo real (RTS) [real time strategy]. En los PBBG he visto mucho el uso de tiempo instantáneo (ITS) [instant time strategy].
Instant Time Strategy (ITS)
Por lo que he visto la estrategia en tiempo instantáneo es muy popular entre los desarrolladores de PBBGs.
Modelan combates enteros con ecuaciones y obtienen de manera inmediata el resultado de las peleas.
Aunque adecuado a la situación, este nivel de abstracción se me antoja demasiado alto para mi proyecto. Me llama la atención el implementar algo más cercano al tiempo real (o una mezcla de tiempo real y turnos).
Ahora con tecnologías como Ajax, lenguajes como Ruby y frameworks como Rails, no es tan complicado hacer un PBBG.
Ya que andamos hablando de tecnologías, les presento mi stack de desarrollo.
Mi development stack
Aquí pongo la lista de las herramientas que estoy utilizando para llevar a cabo este proyecto:
- Linux (nada mejor para el desarrollo en general)
- PostgreSQL (una robusta base de datos)
- Ruby (sigo enamorado de este lenguaje)
- Rails (web development framework)
- jQuery (javascript framework)
- Formtastic (excelente para lidiar con formas)
- Authlogic (para implementar la autenticación de usuarios)
- Haml (lenguaje para escribir las vistas HTML de la aplicación)
- Sass (lenguaje para escribir el CSS de la aplicación)
- Compass (framework CSS para hacer el layout de la aplicación)
- git (version control system)
- emacs (editor de código)
Tengo grandes planes para este PBBG: misiones, peleas entre clanes, clases variadas, habilidades especiales, mercado, subastas y una vibrante comunidad a su alrededor.
Pero como todo: debe empezar por algún lado.
Modelando los combates
Veamos un elemento que considero fundamental para este PBBG: El sistema de batallas.
En mi caso particular, si algo deseo ver funcionando primero son los combates.
Había comentado antes que quiero mis batallas en tiempo real (o algo que se le acerque). El tiempo real que puedes conseguir en una aplicación web no es el común de 60 fps de los videojuegos tradicionales.
Aquí tienes que pensar en término de peticiones por segundo a tu servidor web. GET, POST, params, sesiones, etc.
A continuación pongo una lista con algunas de las características que me gustaría ver en el sistema de batallas:
Representar y llevar a cabo un combate entre varios participantes
- Duelos entre jugadores
- Duelos entre NPC y jugadores
- Duelos entre grupos de jugadores
Durante el combate los personajes podrán hacer uso de habilidades especiales, objetos y armas
- Un guerrero puede dar un golpe especial con su arma
- Un brujo puede hacer uso de alguna magia
- Un guerrero puede hacer uso de una poción para curarse
En la pelea, los jugadores podrán seleccionar un objetivo para atacar
- Un guerrero puede seleccionar al enemigo de su preferencia para recibir sus ataques
En el próximo artículo pondré algo de código del sistema de batallas, las decisiones de diseño que se tomaron y una breve explicación de cómo funciona.
Suena bien para comenzar, ¿no?
Artículos relacionados:
Cómo cambiar el editor por defecto que usa git
// Noviembre 17th, 2009 // No Comments » // linux, tutoriales
Si usas git en Ubuntu te habrás dado cuenta que al hacer un commit, éste invoca al poderoso editor vi para introducir el texto del mensaje (si es que no lo haces en la misma línea de comandos con -m).
Si no estás acostumbrado a usar vi, puede ser frustrante.
El editor usado para editar el mensaje del commit será elegido de la variable de ambiente GIT_EDITOR, de la variable de configuración core.editor, de la variable de ambiente VISUAL o de la variable de ambiente EDITOR (en ese orden).
Así que si quieres por ejemplo que mejor se dispare el nano, necesitas definir la variable de ambiente en tu ~/.bashrc de la siguiente manera:
1 | export EDITOR=nano |
Referencias
replace vim with mate as default text editor
Artículos relacionados:
La Tierra y las estrellas
// Noviembre 16th, 2009 // No Comments » // videos
¿Quieres ver cómo se ve la Tierra al lado de la estrella más grande conocida hasta el momento?
Artículos relacionados:
Eufloria trailer
// Octubre 25th, 2009 // 2 Comments » // juegos, videos
Esta es la clase de juegos que llaman poderosamente mi atención: Videojuego + Arte.




