A cualquier programador que lea ese título seguramente le parezca redundante. Programar es en el 99% de los casos un juego, es divertido, es un desafío y una satisfacción constante. Comenzar un programa desde cero es todavía más divertido porque tenés todo por hacer y ver cómo se va formando un programa o un script, o lo que fuere, es fantástico. Uno cambia la forma de pensar, se abstrae totalmente. A muchos programadores nos pasa que debemos parar un desarrollo para salir, por ejemplo, a comprar algo, pero nunca paramos de programar. Caminando o manejando vamos pensando el código, y si hay algo que no sabemos cómo resolver ni te cuento.
Yo aprendí a programar jugando, borrando y modificando partes del código y viendo qué pasaba. Claro, mejor es estudiar, porque uno hace un software de mayor calidad en menos tiempo y con menos esfuerzo, pero yo no quería ser programador, así que estudiar no tenía sentido. Pero programar me llevó a entender muchas cosas y a aprender muchas otras. Como que la programación, la filosofía y el derecho positivo tienen muchísimos puntos en común, tantas que sabiendo programar es mucho más fácil aprender derecho (al menos así me pasó a mí).
Nessbots te invita a aprender a programar jugando una aventura gráfica
Al estilo de lo que sucedía cuando aparecieron las primeras computadoras personales, Nessbots te invita a aprender a programar jugando, y para colmo en uno de los tipos de juegos más divertidos del universo: en una aventura gráfica. Por si no sabés de qué se tratan estas aventuras te cuento que tienen una lógica algo simple pero riquísima: encarnás un personaje (en ese sentido es un juego de rol) que debe cumplir un determinado objetivo. Para avanzar en ese sentido tenés que resolver distintos rompecabezas, acertijos y desafíos varios, que te van a aportar pistas sobre cómo avanzar. Pero en realidad, no sabés nada, sólo cuál es el objetivo final. Son juegos que explotan la creatividad y la potencian enormemente.
Volviendo al mundo de la programación, te cuento que muchos teóricos en educación y muchos educadores muy respetados coinciden en que debería incluirse programación como una materia desde la primaria, para fomentar las habilidades que va generando. Realmente es una práctica de lo más desafiante, y la verdad, no es para nada difícil.
Para programar hay que tener en claro que uno le está hablando a un programa o a un sistema operativo para que haga determinadas cosas, nada más.
Sólo basta aprender a hablar el idioma que habla ése sistema (supongo que por eso se llaman lenguajes), y la gran mayoría de los lenguajes son muy fáciles de leer, si no me equivoco el término es «humano-legible». Es cierto que lo que más vas a leer está en inglés (yo aprendí inglés tratando de entender el HTML, por ejemplo) pero tampoco es necesario aprender inglés para programar, sólo tenés que prestar atención a qué estás haciendo y nunca olvidarte que le estás hablando a la computadora.
Nessbots es un juego multiplayer en el que tenés que diseñar y programar un robot para competir con los otros jugadores. El primer paso para entrar en esta competencia es crearte un usuario en el sitio de NessBots y leer el tutorial que está en la página. Ahí te vas a encontrar con que está dividido en varias partes que, como debe ser, inician en una introducción compuesta por capítulos de «movimientos básicos», «mirando y girando» y otros conceptos básicos del juego.
Luego seguirán las próximas páginas donde vas a aprender a programar tu propio robot para poder competir en este fantástico juego. Una de las cosas más lindas que pueden leerse dentro de la introducción es la que sigue: «si te gusta programar y pensar, éste es un juego para vos! Requiere más planeamiento y estrategia que conocimientos de programación actuales, por lo que aunque no seas un/a desarrollador/a de software con experiencia, podés igualmente progresar en este juego!».
El desafío que te propone NessBots es escribir una inteligencia artificial, lo suficientemente inteligente y eficiente como para ganar competiciones derrotando a los robots de los otros jugadores.
Programar bots para jugar requiere de planificación, de trabajar en equipo, de cooperar con otros robots para ir aprendiendo cómo están hechos y al mismo tiempo mejorando su código, y varias otras tareas. Algunas de las variables a controlar en tu robot serán la dirección en la que va, el lugar al que apuntan, la velocidad de movimiento, disparo, cómo esquivará objetivos y demás. El concepto del desafío es llegar a un nivel en que puedas enfrentarte con otro robot y ganar la contienda siendo más efectivo/a que lo que hay previsto el otro programador.
Dale una probadita.
¡Happy Hacking!