Freakend 2017

Este fin de semana tuvo lugar el Freakend 2017  de videojuegos y como era de esperar, fue apasionante. Esta vez fuimos 82 personas en el evento y lo organizamos en un hotel de la sierra de Madrid. De hecho, reservamos la totalidad del hotel para nosotros y nos permitió de disponer de varias salas para el evento.

Mientras que otros años había una gran cantidad de charlas e incluso varios tracks distintos, esta vez la organización prefirió tener una sala destinada a las charlas (la mayoría de una hora de duración y un conjunto de charlas mas “ligeras” que comentaré más adelante) y otra sala donde estaban montadas diferentes experiencias de realidad virtual, juegos de mesa, emuladores e incluso algo de retro gracias a Carlos Milán. Las charlas fueron en bloques de dos en dos, lo que permitía no saturarse demasiado y además poder comentar con los asistentes el contenido de la misma sin prisa ni mucho estrés.

Las charlas fueron de diversa índole. Algunas destinadas más al ámbito de la programación, otras de diseño y otras sobre experiencias personales o el estado de la industria.

  • 50 sombras de eSports: Nacho Lasheras nos comenta los orígenes, las causas y el futuro de los eSports. La verdad es que fue bastante interesante, porque desde “fuera” de la industria parece que ha sido una irrupción muy súbita cuando realmente es algo que lleva gestándose desde hace tiempo y que por supuesto, no ha hecho más que empezar.
  • Mesa Redonda de VR: Diego Bezares moderó una mesa sobre el estado de VR. Como comentario personal, mucha gente estaba trabajando con VR. En la sala contigua pude probar algunos cacharros y esta vez sí puedo decir que al menos, en mi opinión personal, hay juegos de verdad para VR en lugar de demos puramente técnicas.
  • Hacking de videojuegos: Carlos nos explicó cómo se puede hackear un videojuego aplicando técnicas de ingeniería inversa usando JS. Pudimos ver cómo volar con el Guild Wars 2, cómo crear un modo espectador e incluso cómo la gente de Blizzard protege Overwatch para evitar hackeos.
  • Técnicas de narrativa ambiental: Juan Fernandez de Simón, de Ninja Theory nos contó algunos de los recursos que se usan en videojuegos para contar historias. Como jugador es un tema que nunca me he planteado, pero me resultó muy curioso las técnicas que usan para meterte en la historia sin que te percates.
  • La startup alrededor del videojuego: Gema Parreño nos cuenta su experiencia creando una startup y un producto. Es una charla que me gustó especialmente, y salvando las diferencias, lo comparo con el reciente asuntillo de GitLab. Creo que hay que ser muy valiente para contar la realidad, la verdad y ser sincero ante una audiencia sobre todo lo acontecido.
  • DIV2js: Salvador de la Puente nos explicó cómo usa DIV a través de un conversor de JS. Fue una charla apasionante en la que explicó cada paso del pipeline para convertirlo, las instrucciones, el modo de programarlo…
  • Charlas ligeras:
    • Multijugador en Dynasty Feud*: Aitor Tejedor nos explicó cómo implementaron el multijugador en Dynasty Feud y cómo resolvieron problemas relativos a la latencia y sincronización de los jugadores en la partida. Realmente interesante
    • Fabric Engine: En este caso Borja Morales nos explicó cómo usan su engine y cubren lo que no pueden hacer con los comerciales.
    • El código de las fuentes: Jaime adora las fuentes y nos contó cómo funcionan y los problemas que tienen a la hora de localizar un videojuego. Como siempre, chapó.
    • Juegos narrativos: Ludipe nos cuenta cómo está haciendo un juego de índole narrativa, qué pasos sigue y cómo va quedando. Todo un currazo. Además por la noche me enseñó unos cuantos juegos indie españoles multijugador que no conocía. Y por supuesto, fue épico.
    • Mixed reality: Mi compañero David Ávila presentó algunos de los trabajos que se han hecho en Plain Concepts sobre realidad mixta.
  • Karisma: Unai Landa -que “sólo” lleva 21 años en la industria- nos explicó cómo han trabajado en Karisma, el motor que usan en Digital Legends y que tiene más de 10 años. Una charla interesantísima.
  • Gráficos vectoriales para videojuegos: Beatriz Alonso expuso, desde el punto de vista del artista, cómo tuvieron que hacer para tener un modelo vectorial en un juego 2D optimizando espacio y rendimiento. Fue muy interesante ver todo el proceso del pipeline y cómo van optimizando e iterando hasta conseguir el menor número de vértices posibles. Además de otras cosas muy interesantes.
  • Zalo Engine: Un freakend no sería lo mismo si no hacemos un juego para GameBoy. Dicho y hecho: Gonzalo nos explicó cómo usar un motor para programar en C (en lugar de ensamblador) un juego. Además, todo el código en riguroso directo.

Como siempre, lo primero de todo es agradecer a @flipper83 por todo el esfuerzo y trabajo que ha dedicado para organizar este evento. Además, hemos tenido la oportunidad de conocer a personas apasionantes. Como les digo en privado siempre, gracias por organizar cosas como estas.

*Editado:

Gracias a Nacho, que me indicó que no apunté la charla de Dynasty Feud de Kaia Studios. Y mis disculpas a Kaia Studios por no haberos incluido en un primer momento!

 

[Evento] DotNetConference 2016: Un breve y personal resumen

Siguiendo la estela del año pasado, este año hemos tenido una nueva edición de la DotNetConference. Es un evento organizado por Microsoft y orientado para todas las comunidades técnicas y desarrolladores que trabajamos con tecnologías Microsoft. Se volvió a batir la afluencia: 1700 personas asistieron de forma presencial y otras 5000 de forma online siguiendo la retransmisión vía streaming.

Tal vez la primera gran diferencia respecto al año pasado es que sólo ha durado un día. En la pasada edición la duración se extendió a dos días, por lo que hubo más espacio y más tiempo entre las charlas. Este año todas las charlas han estado comprimidas en el mismo día, lo cual ha sido un poco caótico porque había que elegir entre ir a la charla o hacer algo de networking. Sin embargo, hay otra pequeña diferencia que sí hemos tenido este año:

Sí señor, Satya Nadella (CEO de Microsoft) pudo asistir al evento e impartir una keynote. Un gran salto de calidad y potencia al evento, porque no todos pueden presumir de tener como ponentes al CEO de una de las mayores empresas de software del mundo. Aquí se ha demostrado el gran trabajo de organización efectuado por el DX Team de Microsoft Ibérica. Supongo que esta noche podrán dormir tranquilos y descansar, porque desde luego se lo tienen merecido después de todo el esfuerzo que han hecho.

Respecto al contenido del evento, otro año más no he asistido a la primera keynote. Tampoco he podido asistir a todas las charlas que me gustaría. Desgraciadamente muchas coincidían en la misma hora pero en distinta sala, así que la elección no fue fácil.

  • Some dirty, quick and well-known tricks to hack your bad .NET WebApps: Chema Alonso impartió esta divertida y práctica charla sobre pequeñas cosas a tener en cuenta a la hora de desarrollar una aplicación web. Nos demostró, con ejemplos reales y en directo que una mala configuración de servidor (tan simple como dejar los valores por defecto) puede suponer que un atacante que tenga el suficiente tiempo libre nos dé alguna sorpresa. Chema terminó la charla con una frase lapidaria: “Si no revisas los detalles de tu aplicación web no te preocupes, alguien lo hará”
  • Entity Framework Core 1.0: Unai Zorilla nos vuelve a hacer una demostración que es posible hacer una charla picando código y sin necesidad de IntelliSense. Explicó la motivación que hay detrás de Entity Framework 7 Entity Framework Core 1.0, tanto para aplicaciones Full .NET como para DotNet Core. Hizo hincapié en algunas de las nuevas características que incluye EF 1.0 (que ahora mismo está en RC1) muy interesantes y potentes. Aunque en mi opinión, una gran potencia conlleva una gran responsabilidad. Como último apunte, EF Core 1.0 ha sido reescrito desde cero y no soporta todavía toda la funcionalidad que tiene EF6. Así que entre esos motivos y que todavía está en RC1, no se recomienda su uso en sistemas de producción.

  • El arte del logging en el Cloud: Luis Guerrero vuelve a marcar una charla espectacular. Contenido y explicación directa. A través de una aplicación que analiza los problemas que puedan aparecer en diversos sitios webs, emplea AppInsights para analizar y obtener la información de lo que va ocurriendo. Porque como él mismo dijo, está muy bien tener un sistema de logging. Pero es mucho más importante tener la capacidad de explotarlo para poder analizar y saber lo que ocurre. Tener un sistema de logging y no poder leerlo o directamente no leerlo, es lo mismo que no tenerlo.
  • Wearables con C# y .NET: Microsoft Band 2, Apple Watch y Google Wear. Josué Yerai nos explica las diferencias entre Microsoft Band, el Apple Watch y cualquier Android Wear. Algo muy curioso porque todas tienen su propio SDK y aunque parezca sorprendente, la única que dispone de SDK para todas las plataformas es Microsoft Band. A través de un ejemplo mostró cómo funciona realmente las aplicaciones de los wearables y qué podemos hacer con cada uno de ellos.

Mención especial (y no por temas corporativos) me gustaría hacer a mis compañeros de Plain Concepts. Organizaron un concurso a través de un cuestionario de cinco “simples” preguntas de programación en C# que causó furor. No creo que sea por el premio (una Microsoft Band 2 al que acertase las cinco preguntas) sino por el hecho de que es algo que motiva y “pica” para poder investigar y obtener la respuesta correcta. La afluencia al stand de gente rellenando el cuestionario y entregándolo fue constante a lo largo del día, por lo cual considero que fue todo un éxito por la iniciativa de todos los implicados.

Por último me gustaría volver a agradecer a todos la organización, ponentes y patrocinadores la realización del evento. No es sencillo montar un evento de este tipo ni para tanta gente. Y en el fondo, lo importante es que es un evento de comunidad. Una comunidad que está viva y muy activa. Y es algo que en mi opinión, motiva bastante para poder seguir investigando y aprendiendo nuevas tecnologías. Así que: ¡enhorabuena!