Juegos

Los videojuegos han sido para mí un playground de puta madre para iniciarme en el mundillo de la programación. Comencé a darle a python un poco viejuno, allá por 2015-2016, y gracias a su flow estoy totalmente enganchado a programar cosillas. El ecosistema y las apis de los videojuegos me han dado más horas de diversión que los juegos propiamente. En especial World of Warcraft, que cada año, religiosamente, toca jugar la expansión de turno con los amigos, al menos durante 1 o 2 meses.

Comenzamos rescatando un poco de bullshit de eras pasadas, el servidor en el que levanté algunas de estas cositas ya no está funcionando y solamente he recuperado algunas fotitos o screenshots. Espero no ofender a nadie con el nivel del código, francamente lamentable XD pero es lo que hubo al inicio, es mi camino del ninja.

Dofitario

Mi primera aplicación web :3 Hecha con python, flask, mongo y angular. Link a repo.

Utilidad… pues muy poca XD. Permitía a los usuarios guardar su horario semanal de disponibilidad para cruzarlo con los horarios de los demás y tener una vista global.

Vista matcher calendarios

Pescatron

Es un bot pescador jodidamente rudimentario con python, autopy y openCv. Le tengo muchísimo cariño. Hace que el personaje en el juego lance la caña y va analizando lo que se ve en pantalla para determinar si la bolla se mueve (si han picado) para entonces clickar sobre ella y recoger lo pescado, terminando el proceso de pesca. Así de forma iterativa. El bot pesca solo… pero necesita usar tu pantalla y tu ratón mientras lo hace XD.

 

Web

Se creó una web cutrecilla para el clan de Wow, también con python, angular y flask, dónde ir enganchando las aplicaciones y recursos.

Recorte recurso web dofitos

 

Foro Flaskbb

Un foro basado en python y flask, sencillo de instalar y configurar y muy útil para tener unas nociones básicas sobre nginx y wsgi. Ya no está corriendo y lo único que queda es una screenshot de antes de empezar a configurar… Para la siguiente vuelta al juego ya montaremos uno mejor ahora que tengo server para siempre!

Link a FlaskBB

* Nota para el Marcial del futuro: aprender a usar Docker para montar la siguiente tanda de aplicaciones, web, foro y demás.

 

Programas tirando de la API de blizzard

De lo más divertido, sin duda, toquetear la api de blizz, ofrece una forma diferente de ver el juego y es muy fácil empezar: Link a Bnet Developer Portal

Aquí tuve diversión para un puñado de días, algunos programitas fue cuestión de utilizar la API directamente. Por ejemplo, mostrar el nivel de los personajes de los miembros del clan:

Niveles personajes

Algunos programas fueron más interesantes y se necesitó de una base de datos para almacenar información que la API no retiene por más de unas horas/días o un poco de scrapping para extraer la info de logs.

Algo tengo por aquí: Link a dofilock

En este juego hay cierto contenido de grupo que solamente se puede realizar una vez por semana, el dofilock almacenaba el progreso semanal de los compañeros extrayendo alguna información de los logs y servía para saber con quién se podía contar o hacer grupo para ciertos contenidos. Ésta info se mostraba en la web, pero parece que solamente guardo algunas fotos hechas con el móvil durante las pruebas en pycharm 🙁

Pruebas dofilock

Con un poco de lógica se hizo que detectara a los betrayers cabrones que hacían el contenido con otros grupos sin contar con los colegas 😛

Detector de betrayers

 

Telegram Bot

Inicialmente se construyó para notificar a los compañeros por el grupo de telegram para entrar a algún juego. Estas notificaciones se logran mediante las “mentions” de telegram, que suenan aunque el grupo esté silenciado. El bot permite crear “grupos” de usuarios dentro del propio grupo de telegram, donde los miembros se pueden unir/salir cuando deseen ellos mismos, y con un comando cualquiera puede mencionar a todos ellos en el chat con algún mensaje que se haya definido para dicha llamada. Además, tiene algunas polleces para sacar número random por usuario o lanzar moneda (cara/cruz).

 

Se utilizó python y mongo, la librería pythontelegrambot, la API de telegram y madeline-proto (pwr telegram).

Al empezar a trastear con los bots de telegram publiqué una entrada con algunas pautas para comenzar a pegarse con ellos: Entrada bot telegram.

El repo y código, en github: Repo uborzBot.

 

Steam API CSGO

Otra API cremísima, también da bastante juego permitiendo acceder a datos de juegos, usuarios, equipos y mucho más.

Aquí se utilizó en un notebook de jupyter con pandas y numpy para comparar estadísticas de amigos. Pendiente queda subir a github todas las scripts de este tipo tras quitarles mis keys.

Estadísticas CSGO