miércoles, 15 de octubre de 2014

Como recuperé 20 GB de mi disco rígido

Recientemente vi que el juego DC Universe Online se podía jugar gratuitamente, así que decidí darle una oportunidad y bajarlo. Luego de 3 días de descarga (a bajas velocidades mientras jugaba otras cosas, a altas velocidades de noche) lo tuve disponible.

Jugué unas 7 horas. y debo decir que me resultaron bastante entretenidas. El comienzo, el escape de la nave de Brainiac, está muy bien diseñado. Y nos permite sentirnos poderosos desde el principio, con nuestro nivelito 1.

El juego nos permite participar como héroes o como villanos, y debo admitir que me decidí por la villanía desde el primer instante, es fabuloso poder realizar misiones por los motivos incorrectos.  Supongo que el inicio como héroe será similar, pero no lo he experimentado.

El sistema de juego es bastante interesante, cada nivel recibimos un punto que nos permite incrementar poderes o habilidades  La parte de poderes se maneja como es normal, desde una barra de habilidades, pero el combate con armas se maneja por medio de pequeños combos y combo breakers, existiendo combo breakers para cuerpo a cuerpo, ataques a distancia y retenciones.

En mi caso, mis poderes estaban relacionados con la magia y con el fuego, así que tenía dos opciones para conseguir poderes. Mis estilo de combate era armas a dos manos, y podía usarlos allí o en el poder de locomoción, que en mi caso era volar. Es importante el hecho de tener habilidades de combate cuerpo a cuerpo, porque permite recuperar energía para los poderes y para una segunda barra de poderes especiales (en mi caso el poder de curación usaba esa barra especial)

Mientras jugaba iba además mirando las formas en las que el juego intentaba hacerme pagar para jugar. Hay un par que son obvias, como ser el espacio disponible en el inventario y en nuestro baúl, que es ampliable mediante dinero real.  Puedo jugar sin eso, al menos inicialmente cuando estoy probando, así que no me preocupé.

Lo siguiente que encontré fue que existen expansiones pagas, pero eso no es problema. Puedo jugar el juego y evaluarlo hasta decidir si quiero gastar o no dinero en expansiones o en aumentar mi espacio de inventario, así que no había problema con las expansiones.

El gran problema sucedió sobre el final de las 7 horas de juego. En ese momento entendí lo fabuloso que es el sistema de equipamiento y estilos. Cualquier equipamiento que consigas trae asociado un estilo, y al equiparlos ese estilo es memorizado. Entonces es posible formar el equipamiento con la apariencia que deseamos y al mismo tiempo equipar mejor equipo que tiene otro estilo que tal vez no nos gusta.

Eso me llevó a equipar lo mejor y vender el resto, y al hacer eso noté que mi dinero ahora eran 1500 unidades de cash (efectivo) y que el resto de mi dinero estaba ahora retenido en Escrow. Revisé y verifiqué que para liberar el escrow hay que pagar dinero real. O sea que en solo 7 horas llegué a una limitación de efectivo en el mismo instante en que comenzaba a abrir opciones como creación de objetos o guaridas.

Esto me disgustó ampliamente. Ahora no disponía de días para decidir que hacer. En lugar de eso, en el primer día de juego había encontrado una limitación grave, porque hay montones de objetos que superan las 1500 unidades de dinero y que ahora no podía comprar.

Lo pensé 10 minutos y me decidí. Salí del juego y lo desinstalé. Hay distintas formas de implementar F2P y esta no es una que me parezca correcta. Es muy limitante estando ya en el primer día de juego.

Y así fue como recuperé 20 GB de mi disco rígido.

sábado, 9 de noviembre de 2013

30 días de EVE gratis para mi

No es secreto que estoy jugando Eve Online, de hecho creo que es bastante evidente. Steam informa que en estos últimos meses he jugado cerca de 1251 horas, lo que significa que realmente me gusta este juego.

Hoy estaba revisando la página web y miré dentro del apartado del Buddy Program, un programa por el cual una persona puede invitar a otra (directamente o mediante un enlace) y si la segunda persona prueba el juego y además luego se subscribe, la primer persona, o sea la que invitó a la otra, recibe una recompensa.

Recibí una gran sorpresa al ver que alguien se había anotado mediante un enlace en este blog y además luego había comenzado a pagar por el juego. Entonces me vi en la situación de elegir una recompensa, que puede tomar más de una forma, puede ser una colección de todos los Catalyst en el juego, 30 días de juego o un PLEX.

Primera opción. Todos los Catalyst significa todas las versiones existente (6) de un destructor (el segundo escalón desde abajo) que originalmente es de procedencia Galente (una de las 4 grandes naciones).Cuando digo todos, quiere decir que es un catalyst común y los 5 catalyst que fueron adaptados por diversas corporaciones.

La segunda opción es la más sencilla de explicar: un mes gratis en Eve Online. Este mes se suma al tiempo que ya teníamos en la cuenta, prolongando así el tiempo la fecha en la que deberemos pagar para seguir jugando.

La tercer opción es quizás la más compleja de explicar. Un PLEX es, un un principio, una licencia para pilotos de 30 días de duración. Esto significa que cumple con la misma función que la segunda opción. Sin embargo el PLEX es también un objeto dentro del juego, que puede comprarse y venderse, usarse (y al usarlo se consume) e incluso puede ser perdido si destruyen la nave en la que lo llevamos.

Pero además un PLEX puede usarse para muchas cosas más, como por ejemplo habilitar por 30 días la lista de entrenamiento para un personaje secundario en la misma cuenta, e incluso para uno terciario. Sirve también para pagar por servicios como cambio de nombre, o movimiento de personaje entre distintas cunetas.

De las tres opciones, la segunda es la más estable. 30 días de juego son 30 días de juego y ya. Las otras dos requieren evaluar si es rentable vender los objetos por ISK (la moneda interna del juego) o si los queremos para nosotros.

Evaluando mi situación actual, en estos momentos en que mi corporación está en guerra con otra corporación, para mi lo más rentable es conseguir algo que nadie me pueda quitar o destruir. Es por eso que luego de pensarlo un poco, me decidí por una extensión de 30 días gratuita.

De esa forma conseguí que mi cuenta que estaba habilitada hasta dentro de 19 días pase a estar habilitada hasta dentro de 49 días. Si a alguien le interesa este juego, puede usar este enlace para conseguir 15 días de tiempo gratis, y si luego se suscriben volveré a tener una opción de recompensa. Por supuesto, si tienen una cuenta paga, nadie les impide hacer lo mismo.

domingo, 13 de octubre de 2013

Ejemplo de diccionario en python con las regiones del Eve Online

No puedo ocultar lo mucho que me gusta Eve Online, y creo que no es secreto que me fascina  programar. Uniendo ambas cosas, ultimamente estoy desarrollando en python pequeñas herramientas de asistencia al juego. Pequeñas herramientas que solo tienen sentido para la forma en que yo juego el juego, entonces no puedo pretender que otro las programe.

En medio de estas pequeñas cosas, a medida que comienzo a unificar algunas y testeo otras para ver si sirven, tuve que interpretar una serie de códigos de región a partir de datos provistos por Eve Online, ya que dentro de las herramientas disponibles para desarrolladores encontraremos volcados de la base de datos que contienen dentro información muy variada.

Así que recurriendo al Python creé una estructura de datos de tipo diccionario, que está formado por una serie de pares de datos, siendo el primero de ellos la clave y el segundo el dato asociado a esa clave. El funcionamiento es muy sencillo, referenciamos al diccionario y una clave y nos devuelve el dato asociado.

Como dato interesante, los diccionarios están ordenados por su clave, y poseen algoritmos de búsqueda por clave muy eficientes. Si bien eso no es necesario para mi desarrollo, lo he usado otras veces con gran volumen de datos y es realmente impresionante la velocidad con la que localizan claves.

La declaración de un diccionario se ve así:

region = {'10000001': 'Derelik',
'10000002': 'The Forge',
'10000003': 'Vale of the Silent',
'10000004': 'UUA-F4',
'10000005': 'Detorid',
'10000006': 'Wicked Creek',
'10000007': 'Cache',
'10000008': 'Scalding Pass',
'10000009': 'Insmother',
'10000010': 'Tribute',
'10000011': 'Great Wildlands',
'10000012': 'Curse',
'10000013': 'Malpais',
'10000014': 'Catch',
'10000015': 'Venal',
'10000016': 'Lonetrek',
'10000017': 'J7HZ-F',
'10000018': 'The Spire',
'10000019': 'A821-A',
'10000020': 'Tash-Murkon',
'10000021': 'Outer Passage',
'10000022': 'Stain',
'10000023': 'Pure Blind',
'10000025': 'Immensea',
'10000027': 'Etherium Reach',
'10000028': 'Molden Heath',
'10000029': 'Geminate',
'10000030': 'Heimatar',
'10000031': 'Impass',
'10000032': 'Sinq Laison',
'10000033': 'The Citadel',
'10000034': 'The Kalevala Expanse',
'10000035': 'Deklein',
'10000036': 'Devoid',
'10000037': 'Everyshore',
'10000038': 'The Bleak Lands',
'10000039': 'Esoteria',
'10000040': 'Oasa',
'10000041': 'Syndicate',
'10000042': 'Metropolis',
'10000043': 'Domain',
'10000044': 'Solitude',
'10000045': 'Tenal',
'10000046': 'Fade',
'10000047': 'Providence',
'10000048': 'Placid',
'10000049': 'Khanid',
'10000050': 'Querious',
'10000051': 'Cloud Ring',
'10000052': 'Kador',
'10000053': 'Cobalt Edge',
'10000054': 'Aridia',
'10000055': 'Branch',
'10000056': 'Feythabolis',
'10000057': 'Outer Ring',
'10000058': 'Fountain',
'10000059': 'Paragon Soul',
'10000060': 'Delve',
'10000061': 'Tenerifis',
'10000062': 'Omist',
'10000063': 'Period Basis',
'10000064': 'Essence',
'10000065': 'Kor-Azor',
'10000066': 'Perrigen Falls',
'10000067': 'Genesis',
'10000068': 'Verge Vendor',
'10000069': 'Black Rise'}

Como verán tenemos un código de región proveniente del juego y el nombre de esa región, proveniente del mismo sitio.

Para usarlo simplemente invocamos el nombre del diccionario[la clave], como en el ejemplo siguiente, basado en Python 3.3

print(region['10000051'])

Al usar esta instrucción, en conjunto con el diccionario declarado, Python muestra 'Cloud Ring'. Tan sencillo como eso, tan potente como eso.



sábado, 14 de septiembre de 2013

Eve Online: Ayudas externas

Una de las particularidades del Eve Online es el grado de respeto que tiene CCP, la compañía, con sus usuarios. A la vez, el juego pose estructura y reglas, pero además de eso es un gran sandbox (arenenro) donde cada cual inveta su juego. Esto se traduce en una base de usuarios tremendamente fiel que además de generar eventos dentro del juego, construye cosas alrededor del juego, afuera del juego.

Para poder construir cosas fuera del juego se necesitan datos del juego, y es allí donde CCP demostró lo que puede generar una muestra de confianza. Lo que hizo la compañía fue liberar una API con acceso a los datos del personaje dentro de la base de datos del juego.

Tal como he explicado en otras ocasiones, una API es una interfase para programación (Aplication Programming inteface), o sea que es un set de funciones, objetos o llamadas a páginas web (mediante webservices) que permiten realizar consultas y devolver respuestas.

Lo interesante es que además de exponer esta API, la están mejorando constantemente. En la actualidad permite generar credenciales de acceso que exponen distintos datos, configurable mediante una página web, que permite el acceso a los datos de nuestro personaje. O sea que podemos siempre decidir cuanto exponer y ante quien. incluso por cuanto tiempo.

No contentos con eso, están ahora probando un segundo tipo de API que permitirá acceso a datos más estadísticos, como por ejemplo cantidad de naves de jugadores destruidas en una determinada zona en las últimas 24 horas, o a eventos, como el torneo de alianzas, donde se podía ver la el equipamiento de las naves usadas.

Ahora bien, ¿que sucede cuando una comunidad que sabe que seguirá jugando por mucho tiempo se encuentra con este tipo de accesos? Se comienzan a desarrollar herramientas externas, que toman datos de las APIs y generan información útil.

Comencemos por lo básico: una de las ayudas necesarias para este tipo de juegos tan complicados es la capacidad de probar conceptos antes de arriesgar las naves. Es allí donde entran programas dedicados a equipar naves fuera del juego y ver como varían los parámetros. Los dos programas más famosos que realizan esto son Eve Fitting Tool (EFI) y Python Fitting Assistant (PyFA) . EFI es el más tradicional de los dos, pero PyFA está consiguiendo cada vez más adeptos, y tiene la ventaja de ser multiplataforma.

Por supuesto, lo interesante de esos dos programas es que nos permiten ver que cosas podemos equipar en nuestras naves y que tan eficaces son con nuestras habilidades, o con las habilidades a grado 5 (V). Esto nos puede ayudar a planificar nuestro entrenamiento, pero si realmente queremos ponernos serios con el entrenamiento, tienen que usar Evemon, el planificador de habilidades que permite planificar meses de habilidades y ponernos nivel por nivel que debemos entrenar para un objetivo determinado.

Vayamos ahora a una de mis favoritas. A mi me encanta trabajar con el mercado y construir items, así que busqué una herramienta que uso a modo de sugerencia y evaluación de ideas, pero no a modo de director de juego. La moneda interna del juego es el Isk, es por eso que este gran programa se llama Isk Per Hour (Isk por hora). Este programa permite, entre varias otras cosas, descargar precios de varias regiones del juego, y evalúa cuanto cuesta construir un ítem basándose en esos precios.

Pero para explicar como Isk Per Hour funciona debo ingresar en otra área. Hasta ahora han visto varias herramientas individuales, pero hay también herramientas comunales. Existe un sitio web llamado Eve-Central, y es un sitio actualizado muy frecuentemente con precios de varias zonas de juego.

Como prueba de la amplitud, vean la búsqueda de datos por el precio del Tritanium, el mineral más básico del juego. Como verán, hay montones de usuarios ofreciendo vender y comprar este mineral, pero cada cual lo hace en una estación espacial en particular, dentro de un sistema estelar, que está dentro de una constelación, que está a su vez dentro de una región.

Ahora bien, mencioné dos cosas: que necesitaba explicar este sitio para mostrar como trabajaba Isk Per Hour, y que este era una herramienta comunal. La primera de las dos cosas es sencilla de explicar, Isk Per Hour se comunica con la página Eve-Central para averiguar los precios en las distintas regiones que le hayamos pedido. En cuanto a la segunda explicación , Eve-Central es un sitio comunal debido a que montones y montones de usuarios han contribuido un acceso API limitado a la página, y cada vez que realizan una consulta al mercado, los dato recibidos son enviado a la página. Esto significa que miles de usuarios contribuyen datos a un sitio que miles de usuarios usan directa o indirectamente.

Este ha sido un recorrido por algunas de las herramientas externas más populares del juego. No puedo dejar de comentar que debido a que la API es una herramienta de programación, ustedes mismos pueden programar un programa que realize algún tipo de operación que ustedes precisen. Por ejemplo, yo estoy comenzando a pensar en desarrollar una herramienta que me envíe un email cada vez que realizo una compra o venta dentro del juego, que tal vez evolucione en un histórico de precios con el tiempo.