Mulaka: hacen falta más videojuegos así


Mulaka

Hace unos meses me enteré lo que quería hacer este estudio Chihuahuense llamado Lienzo. En un par de ocasiones les pregunté por twitter cuando salía el juego porque los teaser trailers y las fotos que habían subido se veían muy buenas.

Eventualmente llegó el momento, pude comprar y empezar a jugar. Un tiempo despúes ya que terminé el juego me quedé con un muy buen sabor en la boca y con ganas de contar acerca de mi experiencia. Hablemos de lo bueno, lo malo y lo genial.

Lo malo

Hay pocas cosas malas, en realidad no veo esto como cons o razones para no comprar el juego, sino detalles que los desarrolladores van a ir mejorando y que con experiencia seguramente van a corregir en sus futuros proyectos.

Lo bueno

La propuesta, definitivamente encontrar un videojuego diferente es difícil, todos los juegos caen en alguna de las categorías que ya existen. En este caso el juego estilo rol/aventura donde se pueden conseguir “mejoras” para que el juego sea más fácil pero con una propuesta de historia que te introduce en la cultura Tarahumara.

Lo mágico

En resumen, me encantó el juego (osea, escribí este post acerca). Lo que también debería contar es que cuando viajé por 2 años por todo México y me tocó recorrer Chihuahua quedé fascinado. Quedó en la lista de mis top 5 estados del país, osea, tengo tatuados en mi brazo derecho diseños de vasijas de Paquimé ;).

Arareko, Basaseachi, las Barrancas del Cobre y hasta Paquimé mismo me hicieron recordar los verdaderos lugares en sí, y con el estilo que proponen los chicos de Lienzo el juego redondea muy bien–estoy aún en 98% así que tendré que volver a encontrar esos detalles que me faltan, y no dejar de mencionar ese “easter egg” de un “gato guerrero” (? voy a tener que pedir que me expliquen que es eso) que encontré visitando el “techo de un nivel”.

Mulaka

Saludos,
Gorka


Static apps y Google Cloud mas gsutil


Google Cloud

Hay muchas herramientas que se pueden usar para hacer deploy de aplicaciones del tipo front-end o estáticas. Las que yo conocía:

… y el muy conocido y tradicional, copiar y pegar usando ftp o alguna web console.

La última que empecé a usar es gsutil que es parte de las herramientas de cloud de Google (y de gloud).

My cómodo, similar a surge, el usuario hace login local y de ahí define los commandos que se van a ejecutar.

Para hacer deploy en mi caso fue rsync:

gsutil -m rsync -d -r ./PATH_TO_FOLDER gs:://BUCKET_NAME

Boom. Listo. Archivos en el bucket. No olvidar hacer que los archivos sean públicos con gsutil -m acl -r set public-read gs://BUCKET_NAME y todo en orden.

Así de fácil.

Cómo se instala: https://cloud.google.com/storage/docs/gsutil_install

Los pasos son instalar gscloud, inicializarlo (gscloud init) y luego preparar la config del bucket (la herramienta lo preguntará directamente).

Rápido y práctico.

Saludos,
Gorka


Mentor at Thinkful


Thinkful

The modification or control of a process or system by its results or effects.
Define feedback @ Google

Hace 4 meses empecé un proyecto más: ser mentor para los estudiantes de Thinkful. Esta empresa ofrece coding bootcamps online con atención personalizada y trainings 1 a 1.

Hace unos días recibí el email que mi primera “mentoree” había completado satisfactoriamente su curso de introducción–como acabo de empezar tengo que pagar derecho de piso y ser mentor de estudiantes de curso de introducción y después de tres estudiantes que lo cumplan satisfactoriamente ahí puedo pasar a ser mentor de otro de los cursos más avanzados.

La verdad es que ha sido una experiencia muy satisfactoria, y muy instructiva. No recordaba todo lo caminado y por lo mismo, lo que tienen que aprender las personas hoy en día para entrar al mundo de desarrollo web–y encima, esto es lo básico, después faltan todas las apps/frameworks/estructuras modernas. Largo camino, pero bonito camino.

Me voy a tomar una semana o dos de descanso y ahí volveré a buscar alumno. Con muchos ánimos.

Saludos,
Gorka


Apps que uso: Hyper


Hyper

The goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards.
Project Goals @ Hyper

Pasé por varias apps antes de llegar a esta. Use la terminal nativa de Mac, luego pase por iTerm 2. Ambas las disfruté en su momento-en cada caso estaba aprendiendo diferentes cosas y usos.

Para empezar estuvo muy bien la terminal de Mac, la pude personalizar facilmente, luego con Zsh la cosa fue mucho más “propia”. No podria dar una sola razón por la que cambié a iTerm 2 pero fue por el tiempo que estuve aprendiendo tmux (creo) y me sentí cómodo enseguida (creo que tiene que ver con las personalizaciones de colores pero tampoco lo puedo jurar).

Por el camino ví hyper (es del equipo de Now ya hablaré de ese proyecto tmb) y al principio la usé y la desintalé. Y no recuerdo tampoco por qué, pero decidí darle otra oportunidad.

Bueno, basta de introducciones de ese tipo donde no me acuerdo de nada, pffff. Hyper es una terminal basada en tecnologías web. Es personalizable desde donde uno quiera–desde la configuración general, usando un archivo general, hasta entrando en el código fuente y moviendo la UI (usa React + redux).

En mi caso, lo único que hice fue agregar un par de temas de colores (primero OceanicNext y ahora Nord) y lo demás lo hago por personalización de mis dotfiles. En realidad tmb agregué un font: Inconsolata.

Es gracioso, no es que pueda decir algo como que esta app me cambió el mundo pero es la app que uso diario (seguro que es la app que más uso).

Hay opciones, con esta, yo me siento a gusto, por ahora.

Saludos
Gorka


Extended Reality


Extended Reality

Extended reality (XR) is a term referring to all real-and-virtual combined environments and human-machine interactions generated by computer technology and wearables.
Extended Reality @ Wikipedia

XR = AR + AV + VR

Empecemos por lo básico:

Augmented Reality

De la definición de AR @ Wikipedia:

Augmented Reality is a live direct or indirect view of a physical, real-world environment whose elements are “augmented” by computer-generated perceptual information, ideally across multiple sensory modalities, including visual, auditory, haptic, somatosensory, and olfactory.

Es decir, la Realidad Aumentada tiene que ver con ambientes del mundo físico (difícil usar el término real como lo hacen arriba) que son “aumentados” por información generada por sistemas computacionales. El ejemplo más sencillo que se me viene a la mente es pensar en un celular con la cámara encendida y que sobrepone información de lo que está “viendo”. Por ejemplo, información de los colores que ve, o de los materiales que ve, o el número de objetos, etc.

Tiene que ver con agregar meta-información de lo que se tiene en la cámara y mostrarla al usuario.

Augmented Virtuality

Este término lo descubrí mientras hacía research para este post, la definición de AV @ Wikipedia:

Augmented Virtuality is a subcategory of mixed reality which refers to the merging of real world objects into virtual worlds.

Este es divertido, tiene que ver con sistemas/mundos virtuales donde algo cambia tomando como consideración factores del mundo físico. Como ejemplo se puede imaginar una página web que cambia el color de fondo dependiendo del clima, es edcir, si una página web que muestra información del clima de una ciudad (en tiempo real) decide cambiar detalles como el color de fondo, o hacer efectos de sol o lluvia de manera referente a las condiciones actuales de la ciudad. En Pokémon Go lo hacen, si está lloviendo cambian los bichos que los usuarios que encuentran, dependiendo de lluvia, viento, sol, nubes, etc.

Tiene que ver con agregar condiciones a sistemas computacionales basado en factores del mundo físico.

Virtual Reality

Ya he hablado antes del tema, como referencia agrego la definición de VR @ Wikipedia:

VR is a computer-generated scenario that simulates a realistic experience.

Es decir, tiene que ver con simulaciones virtuales que buscan involucrar al usuario de tal manera que experimenten situaciones realisticas. Medio vaga la definición, porque, hasta una página web puede logar entrar ahí, pero los ejemplos usados hoy en día tienen que ver con sistemas de mundos virtuales que se disfrutan usando headsets envolventes–estilo el Samsung VR Gear que me acabo de conseguir.

Así que bueno, este post es introductorio al tema porque estoy emocionado que las herramientas actuales favorecen y facilitan nuevos desarrollos que participen de estas categorias (what?). Espero que pronto empecemos a ver cosas muy interesantes en estos temas y, yo seguir publicando experimentos que demuestren lo que se puede hacer.

Saludos,
Gorka


Internet distribuido


Internet of Things

…demonstrating that decentralization is about much more than just controlling our own data. It is a fundamental rethinking of the relation between data and applications, which—if done right—will accelerate creativity and innovation for the years to come.
Paradigm shifts for the decentralized Web

¿Qué es el Internet Distribuido?

El concepto viene recuperando fuerza desde hace tiempo ya. Cuando las redes sociales actuales se convirtieron en lo que son–hay que recordar épocas donde los anuncios que veíamos en redes sociales no tenían que ver con conversaciones que habíamos tenidos en voz alta–y nos dimos cuenta que somos el producto y no los usuarios. De repente, nos fuimos dando cuenta que las compañías son dueñas de nuestros contenidos, que compartimos libremente toda nuestra vida online y que esa información se la envíamos a una compañía sin ningún problema, y esa compañía monetiza nuestra data.

Un Internet distribuido significa que cada persona se responsabiliza por sus datos. Que cada persona es un nodo que se conecta al resto de nodos, en lugar de todos conectarnos a un nodo central–el cual dice qué, cómo, dónde, quién si, quién no, por qué y más, es decir, define las reglas del juego.

El Internet distribuido tiene que ver con recuperar el poder o, “empoderizar” (empower) de vuelta al usuario.

¿Cómo hacemos eso?

Hay muchos proyectos que ya lo están trabajando. Como parte de un proyecto interno en Citrusbyte he tenido la oportunidad de investigar las plataformas actuales con sus protocolos/herramientas. Entre las plataformas que investigamos están:

Cada uno con un acercamiento diferente. Nosotros nos decidimos en este proyecto por IPFS. Ellos ofrecen toda la suite de herramientas para trabajar con sus protocolos (en estado alpha con alto potencial de bugs y errores, algunos de los cuales describí aquí).

¿Qué implica esto para los usuarios?

No mucho, aunque todo. Desde el lado de desarrollo hay que entender la manera en la que las nuevas estructuras se utilizan y como encuadran dentro de la arquitectura de una aplicación, y lo que se busca es que la UI no tenga cambios, es decir, que se pueda usar la Dapp (aplicación distribuida) sin ningún cambio, sin tener que aprender nada nuevo–con la diferencia que hay por atrás.

Lo que sí hay que entender es que los datos son del usuario, y que se necesita una computadora prendida y online para transmitir esos datos. De ahi que es importante para los desarrolladores ofrecer estrategias de redistribución de contenidos eficiente y sustentable (dependiendo de cada Dapp).

¿Cómo seguimos?

Sigan atentos, cuando el proyecto esté listo ya avisaré por aquí. Así podrán tener una primera interacción con estas tecnologías. Y luego, ya iré escribiendo posts de las nuevas herramientas que acompañan este tipo de proyectos.

Saludos,
Gorka

Más información:


¿Qué es AquiGorka.net?


AquiGorka.net

There is no passion to be found playing small, in settling for a life that is less than the one you are capable of living.

AquiGorka.net es mi proyecto personal. Es mi búsqueda de hacer lo que yo quiero hacer.

El proyecto tiene como meta desarrollar “software de entretenimiento” para múltiples jugadores y que se pueda “jugar/usar” en tiempo real.

Software de Entretenimiento

Aka: videojuegos. Pero quiero usar este término porque creo hay una sombra aún sobre la palabra videojuegos. No son solo juegos, tiene que ver con entretenimiento, a veces es dinámico y otras pasivo.

Múltiples jugadores

Porque es más divertido, porque el “engagement” es mayor, porque somos seres sociales.

Tiempo real

Con un catch: que se pueda definir un etilo automático para cuando no esté el jugador y que así, pueda unirse/salir de la “partida” en cualquier momento.

He definido en otros posts conceptos como MORTE (Massive Online Real-Time Experiences) y también he hablado de la importancia que eSports va a tener en el futuro.

Como parte de este proyecto personal ya he trabajado en algunos juegos (Sliding Puzzle, Multiplayer Tetris, Puppets, Let there be light, Kickoff y Kuhhandel) y la capa que los une Game Night Experiments.

Lo divertido es que hay muchas cosas por hacer aún, y que la puerta está abierta a los que se quieran sumar–quiero ir creando un equipo para sacar adelante estas ideas.

Saludos,
Gorka


Pagination