Jugando con la ‘no API’ de raptr.com

El portal raptr se está convirtiendo en  una de las comunidades ‘de facto’ sobre el tema de la "reputación" y "logros" de los videojuegos.

Es habitual estar en Twitter y ver constantes tweets que te muestran una "card" con algún logro o evento conseguido en el juego "X".

Intentando automatizar de alguna forma esos logros para meterlos en el catalogador de juegos, me he encontrado que no disponen de una API como puede ser la de Steam y de la que ya hablamos en el anterior post

Sin embargo, alguien dijo: "Si se puede leer, se puede copiar" (anónimo). Por lo tanto, en la propia Web de raptr.com están los datos que necesitaba.

Y para muestra, este vídeo: 

Es interesante ver que ahora también podría incluir "el tiempo jugado" a un determinado juego. Todo ello de forma automágica.  

Por cierto, no estoy recibiedo mucho feedback  sobre el catalogador 🙁

¿No interesa el proyecto?…Lástima.

Bueno, yo sigo abierto a cualquier sugerencia por parte de la comunidad.

Si tenéis alguna, dejad un comentario o enviar un MD a @MeriDeluxe

 

Saludos.
mov eax,ollydbgInt 13h 

 


Ollydbg ProSignature   

Jugando con la API de Steam

Hoy probando cosillas para Gamerz he encontrado una ‘feature’ que podría ser interesante.

Lo primero que hay que hacer es obtener una API Key. La podéis conseguir desde este enlace

Y ya de paso, desde aquí podéis mirar los términos de uso. Os resumo lo ‘interesante’: 100.000 llamadas / día, cosa que no está nada mal 🙂 

Como se puede ver, hay disponibles 4 APIs:

ISteamNews
ISteamUserStats
ISteamUser
ITFItems_440 

La API que me interesa es precisamente la ISteamUserStats y más concretamente la función GetPlayerAchievements.

Con dicha función, podremos ver cuantos logros hemos completado de un determinado juego.

La llamada a la API es simple y solo necesita 3 parámetros:

http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?appid={0}&key={1}&steamid={2}&format=xml 

¿Qué es la appid?
Pues el el id del juego en cuestión. En Steam, cada juego tiene un id, así por ejemplo si en Steam entramos en la página del Skyrim vemos que la dirección es esta:

http://store.steampowered.com/app/72850

Pues en este caso, el id del Skyrim es el 72850. ¿Fácil, no? 

¿Qué es la key?
Pues la API key que hemos conseguido en el primer paso. Creo que no tiene duda. 

¿Qué es el steamid?
Cada usuario en Steam, también tiene un id. Ojo, no confundir el steamid con nuestro nombre dentro de steam (tanto nombre como nombre de la cuenta), ya que no tiene nada que ver.
Para averiguar nuestro steamid, lo más sencillo es dentro de la página de Steam, acceder a nuestro perfil y mirar la dirección en nuestro navegador web, en mi caso es algo como esto: 

http://steamcommunity.com/profiles/7656119xxxxxxxxxxxx

Bien, pues en este caso, el steamid es  7656119xxxxxxxxxxxx 

Con estos tres datos, lo único que tenemos que hacer es una llamada a esta dirección:

http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?appid=72850&key=tu_key_aqui&steamid=tu_steamid_aqui&format=xml  

Esto nos devuelve un XML con el siguiente formato:

 

Si el valor de achieved es 1, es que el logro está completado, si es 0 es que no lo está. 

Bien, pues con está información, me he creado una pequeña clase en C# que precisamente me proporciona la información que busco. El código fuente lo podéis ver aquí. (vía pastebin) 

El uso de la clase es bastante trivial:


(Haz click para agrandar)

Básicamente hay un método GetStats(appid, steamid) y un evento llamado GetStatsCompleted()

Si la descarga / información es correcta, el argumento value del evento será distinto de null y podremos ver lo siguiente:

Como véis , simple, rápido y para todos los públicos.

Ahora queda ver si merece la pena implementar esta "feature" en el catalogador de juegos.

 

Actualización

Al final no he podido "resistirme" y lo he integrado en el programa 🙂  

 

Saludos.
mov eax,ollydbgInt 13h 

 


Ollydbg ProSignature  

Desarrollo de ‘Gamerz’. Semana 7

Semana 7

Primero os dejo este vídeo y luego comentamos un par de cosillas:

En esta semana he estado trabajando en el "treeview" y en el panel de la lista y carátulas.

En la lista se muestra el detalle del "grupo" seleccionado: 


(Haz click para agrandar)

Y en las carátulas, pues eso, las carátulas del "grupo" seleccionado:


(Haz click para agrandar)

Aquí podéis ver que al seleccionar un juego dentro del grupo "FPS", se muestran las carátulas de dicho grupo. Además de "selecciona" la carátula del juego seleccionado:


(Haz click para agrandar)

 

EL cuadro de búsqueda 

La búsqueda es bastante "peculiar", me explico:

Si tenemos por ejemplo, seleccionado el grupo "Generos", y buscamos "FNAC", el programa nos muestra todos los juegos, agrupados por generos,  donde alguno de sus campos contenga el texto "FNAC" (presumiblemente, solo en el campo "tienda", en este caso): 

De esta forma, podremos ver rápidamente que "tipo de juegos" hemos comprado en el FNAC.

(Sí, ya sé que el ejemplo es un poco absurdo, pero bueno, es lo que hay xD)

Otro ejemplo.

Si tenemos activo el grupo "Idioma", y buscamos "FNAC" veremos todos los juegos, agrupados por idiomas, donde cualquier campo de los juegos sea "FNAC": 

 

Con este sistema de "búsqueda" podremos sacar estadísticas interesantes.

 

Splash Screen

Durante esta semana también se ha trabajado en la "Splash Screen" (pantalla de carga) del programa:


(Haz click para agrandar)

Teniendo en cuenta mi nulo manejo con programas de dibujo, el resultado es bastante digno, en mi humilde opinión.  

Tenía claro que quería hacer algo "irregular".

Como segundo paso se ha conseguido aplicar un efecto de "blending" que da un aspecto bastante chulo.

Al final he incluido una animación del "disco de tron" que proporciona "movimiento" al Splash Screen.

He podído comprobar una cosa:

Las comprobaciones en el Splash Screen se realizan en un hilo independiente. Si se usa Control.CheckForIllegalCrossThreadCalls = false; el refresco de los datos es muchisimo más lento (pero por mucho) que si se usan delegados e invokes.

Por lo tanto, consejo de amigo, pasa olímpicamente del CheckForIllegalCrossThreadCalls y usa delegates e invokes 🙂

 

Objetivos para las próximas semanas

Empezar a dar "forma" a la ficha del juego seleccionado en la pantalla principal del  programa. 

 

PD: Se buscan colaboradores con el proyecto. Interesandos enviar un MP o dejar un comentario. 

 

Saludos.
mov eax,ollydbgInt 13h 

 


Ollydbg ProSignature 

 

MeriStats 2014 – Enero

Resumen 2013. Off Topic: Link
Resumen 2013. MeriConsolas: Link 

Off Topic 2014. Enero:

Total Hilos nuevos —> http://i.imgur.com/EO3A7lt.png 
Temas —> http://i.imgur.com/CSp4lIb.jpg
Hilos/Hora —> http://i.imgur.com/AmCDMg5.png
Hilos/Día —> http://i.imgur.com/et51s6g.png
Foreros —> http://i.imgur.com/DLWQu3I.png

MeriConsolas 2014. Enero:

Total Hilos nuevos —> http://i.imgur.com/d6BpjcK.jpg
Temas —> http://i.imgur.com/zNvhgJ8.png
Foreros —> http://i.imgur.com/GIN86oS.png

Meristation. Usuarios Online 2014. Enero:

Registrados —> http://i.imgur.com/vmC2Xlr.png
Ocultos —> http://i.imgur.com/uDqfbhA.png
Invitados —> http://i.imgur.com/sBehsO9.png
Total —> http://i.imgur.com/yVIZPhb.png 

Saludos.
mov eax,ollydbgInt 13h 

 


Ollydbg ProSignature  

Desarrollo de ‘Gamerz’. Semana 4 y 5

En estas dos últimas semanas he podido darle un poco más de brío al proyecto.

La vista para la gestión de un juego está practicamente operativa al 100%. Solo falta una cosa: Que el botón "Aceptar" haga lo que se supone que tiene que hacer.

Esta vista se encargará de dar da alta un juego de forma "manual" o editar un juego que ya existía en nuestra base de datos. 

Solo son obligatorios dos campos: El título del juego y la plataforma.

Nota: El diseño de la vista es completamente ‘temporal’ y puede sufrir cambios a lo largo del desarrollo. Si tenéis alguna sugerencia, sera bienvenida.

Esta vista se compone de 3 pestañas:

– Juego
– Personal
– Carátulas y links

Pestaña Juego.

Aquí básicamente se podrá establecer la información del juego: 


(haz click para agrandar)

Pestaña Personal.

Los datos personales serán los siguientes: 


(Haz click para agrandar)

Carátulas y links

Carátulas:

Desde aquí se podrá establecer o cambiar la carátula del juego 


(Haz click para agrandar)

Trailer:

Se podrá establecer un trailer para verlo desde la ficha principal del programa. Actualmente se admiten trailers de Youtube y Vimeo. 


(Haz click para agrandar)

Links:

Se puede establecer un número ilimitado de enlaces para verlos desde la ficha principal del programa. 


(Haz click para agrandar)

 

Otros aspectos ‘técnicos’

Si establecemos la opción de "Logros" y tenemos completos todos los logros del juego, se mostrará este trofeo en la ficha del juego: 

Todas las entradas de datos se realizan con desplegables con "auto-completado". Esto facilita muchísimo la entrada de datos.

Por ejemplo si queremos establecer la saga "The Elder Scrolls". Tenemos dos opciones.

Podemos desplegar la lista y buscar y seleccionar "The Elder Scrolls": 

… o bien, escribir una t

… luego una h

y listo.

Si queremos dar de alta "un nuevo concepto", simplemente lo escribiremos y al completar la edición de la ficha el programa creará el registro correspondiente. Fácil, rápido y para todos los públicos. 

La vista no permitirá modificar los datos si falta algún campo obligatorio (siempre marcado en ‘rosa’): 

Por último indicar que el programa tiene una serie de datos "pre-cargados", que son los siguientes: 

  1. Developers:
  2. Activision
  3. Ascaron
  4. Asylum
  5. Atari
  6. Atlus
  7. Bethesda Softworks
  8. Bioware
  9. Blizzard Entertainment
  10. Capcom
  11. Codemasters
  12. Crystal Dynamics
  13. Disney Interactive
  14. EA DICE
  15. EA Games
  16. EA Sports
  17. Electronic Arts
  18. Gameloft
  19. Heavy Iron Studios
  20. Hudson Soft
  21. id Software
  22. Konami
  23. LucasArts
  24. Maxis
  25. Midway
  26. Milestone
  27. Namco Bandai
  28. Nintendo
  29. Psygnosis
  30. Pyro Studios
  31. Radical Entertainment
  32. Rare
  33. Raven Software
  34. Rockstar New England
  35. Rockstar North
  36. Rockstar San Diego
  37. Rockstar Vancouver
  38. SEGA
  39. Sega of Japan
  40. Square Enix
  41. Taito Corporation
  42. Team 17
  43. THQ
  44. Travellers Tales
  45. Ubisoft
  46. Valve Software
  47. Visual Concepts
  48. Westwood Studios
  49. Extras:
  50. Alfombrilla ratón
  51. Banda sonora
  52. Caja Ed. Coleccionista
  53. Camiseta
  54. CD/DVD contenido extra
  55. Cómic
  56. Figura plomo/cerámica
  57. Gorra
  58. Hechizo exclusivo
  59. Libro/Artbook
  60. Mapa
  61. Mascota exclusiva
  62. Montura exclusiva
  63. Póster
  64. Skin exclusivo
  65. Vale descuento
  66. Formatos:
  67. Blu-ray Disc
  68. Cartridge
  69. Cassette
  70. CD-ROM
  71. Download
  72. DVD
  73. Floppy
  74. GC Disc
  75. GD-ROM
  76. Playstation Network
  77. Vita Card
  78. Xbox Live Arcade
  79. Generos:
  80. Action
  81. Arcade
  82. Battle
  83. Board
  84. Cards
  85. Casino
  86. Driving
  87. Educational
  88. Fighting
  89. FPS
  90. Hentai
  91. MMOFPS
  92. MMORPG
  93. Music
  94. Party
  95. Pinball
  96. Platformer
  97. Puzzle
  98. Racing
  99. Retro
  100. RPG
  101. Sandbox
  102. Shoot ‘Em Up
  103. Shooter
  104. Simulation
  105. Simulator
  106. Sports
  107. Strategy
  108. Survival Horror
  109. Tactical
  110. Tower Defense
  111. Trivia
  112. Virtual Pet
  113. Idiomas:
  114. Alemán
  115. Chino
  116. Coreano
  117. Español
  118. Francés
  119. Inglés
  120. Italiano
  121. Japonés
  122. Portugués
  123. Ruso
  124. Plataformas:
  125. 3DO
  126. Amiga
  127. Amiga CD32
  128. Amstrad CPC
  129. Arcadia 2001
  130. Atari 2600/VCS
  131. Atari 400/800
  132. Atari 5200
  133. Atari 7800
  134. CD-I
  135. ColecoVision
  136. Commodore 64
  137. Dreamcast
  138. Game Boy
  139. Game Boy Advance
  140. Game Boy Color
  141. Game Gear
  142. GameCube
  143. GamePark 32
  144. Intellivision
  145. Jaguar
  146. LaserActive
  147. Lynx
  148. Magnavox Osyssey 2
  149. Mega Drive
  150. Microvision
  151. N-Gage
  152. Neo Geo AES
  153. Neo Geo CD
  154. Neo Geo Pocket
  155. Neo Geo Pocket Color
  156. NES
  157. Nintendo 3DS
  158. Nintendo 64
  159. Nintendo DS
  160. Palm
  161. PC
  162. PC Engine
  163. Playdia
  164. PlayStation
  165. PlayStation 2
  166. PlayStation 3
  167. PlayStation 4
  168. PlayStation Vita
  169. PSP
  170. Saturn
  171. Sega 32X
  172. Sega CD
  173. Sega Master System
  174. SNES
  175. TI-99/4A
  176. TurboDuo
  177. TurboGrafx 16
  178. TurboGrafx 16 CD
  179. Vectrex
  180. Wii
  181. Wii U
  182. WonderSwan
  183. WonderSwan Color
  184. Xbox
  185. Xbox 360
  186. Xbox One
  187. ZX Spectrum
  188. Regiones:
  189. NTSC-J [Japan]
  190. NTSC-K [S. Korea]
  191. NTSC-U/C [Malaysia]
  192. NTSC [North America]
  193. PAL-A [UK-Italy]
  194. PAL-B [Europe]
  195. PAL-M [Brazil]
  196. PAL [Europe-Oceania]
  197. Region #FREE#
  198. SECAM
  199. Sagas:
  200. 2K Sports NBA
  201. Assassin’s Creed
  202. Battlefield
  203. Call of Duty
  204. Castlevania
  205. Civilization
  206. Dead or Alive
  207. Devil May Cry
  208. Doom
  209. Dragon Ball Z
  210. Dragon Quest
  211. Dungeons & Dragons
  212. Fallout
  213. FIFA Soccer
  214. Final Fantasy
  215. Gran Turismo
  216. Grand Theft Auto
  217. Guitar Hero
  218. Half-Life
  219. Halo
  220. Harry Potter
  221. LEGO
  222. Leisure Suit Larry
  223. Madden
  224. Mario Party
  225. Medal of Honor
  226. Mega Man
  227. Metal Gear
  228. Monkey Island
  229. Mortal Kombat
  230. Need for Speed
  231. Ninja Gaiden
  232. Pokemon
  233. Pro Evolution Soccer
  234. Quake
  235. Rayman
  236. Resident Evil
  237. Serious Sam
  238. SimCity
  239. Sonic
  240. Splinter Cell
  241. Star Trek
  242. Star Wars
  243. Street Fighter
  244. Super Mario
  245. Tekken
  246. The Elder Scrolls
  247. The Sims
  248. Tomb Raider
  249. Tony Hawks Pro Skater
  250. Unreal
  251. Warcraft
  252. Warhammer
  253. Zelda
  254. Tiendas:
  255. Alcampo
  256. Amazon
  257. Amazon.co.uk
  258. American’s Game Ocio
  259. App Store
  260. Carrefour
  261. eBay
  262. El Corte Inglés
  263. Fnac
  264. GAME
  265. GameFly
  266. GameStop
  267. Google Play
  268. Hipercor
  269. Media Markt
  270. OJGames
  271. OverGame
  272. Steam
  273. Worten
  274. Zavvi

 

Bien, como véis, la cosa avanza despacio pero con paso firme.

La vista en la que he estado trabajando estas dos semanas es la base del programa.

Internamente hay aspectos más técnicos en los que también se ha trabajado, como son el motor de datos, que es capaz, con solo cambiar 1 línea de código, trabajar con SQL CE, SQL Server, Access, MySQL, Oracle, etc…pero vamos, no me extenderé nada en ese aspecto 🙂

 

Objetivos para la semana 5, 6 y 7

Para las tres siguientes semanas los objetivos son dos:

1) Coger el código de "test" de la semana 3 e integrarlo en el programa.
2) Completar lo realizado hasta ahora y guardar en base de datos un juego (tanto nuevo, como editado) 

 

Repito y no me cansaré que si tenéis alguna duda o mejor aún, alguna sugerencia, me la indiquéis en los comentarios. 

 

Saludos.
mov eax,ollydbgInt 13h 

 


Ollydbg ProSignature