Manuel Valencia

Después de Scratch (y 4) – Codificando en texto

Introducción

En esta última entrada abordamos la fase más complicada pero a la vez donde podemos encontrar los recursos más creativos y entretenidos, para los alumnos que quieren ir mas allá. A continuación haré un repaso por los lenguajes y entornos de desarrollo que, desde mi punto de vista, se pueden usar en clases de Primaria o Secundaria.

Como hay montones de posibilidades, vamos a considerar solo aquellos que tengan versiones completas gratuitas, y a ser posible de código abierto.

Editores de media

Wick Editor

https://www.wickeditor.com/

Permite crear animaciones usando herramientas de dibujo directamente en la web, a la que es posible añadir código en Javascript pudiendo crear desde simples objetos en movimiento hasta videojuegos completos.


Earsketch

https://earsketch.gatech.edu/

Una forma diferente de aprender Python o Javascript creando música. En un IDE web hecho específicamente para crear canciones puedes programar scripts que mezclan sonidos, samples de canciones o modificar diferentes parámetros de los audios. Proyecto apoyado por varias universidades, Google y Amazon. Buena documentación y muchos ejemplos, con resultados sorprendentes.


Motores de Videojuegos

Roblox

https://www.roblox.com/

Roblox es una plataforma de videojuegos que además dispone de un framework, Roblox Studio, para crear tus propios videojuegos. Usa el lenguaje LUA para crear scripts con los que modificar, complementar y crear nuevos videojuegos.


Defold

https://defold.com/

Se programa en Lua. Está más orientado a videojuegos html5 y móvil.


Cocos Creator

https://www.cocos.com/en/creator

Framework de desarrollo multiplataforma que permite crear videojuegos en 2D y 3D usando Javascript o TypeScript. 


Godot Engine

https://godotengine.org/

Se programa en una GDScript, una versión de Python, y tiene buena implementación para juegos 3D. Aunque se puede usar en todo tipo de juegos, tiene una ventaja superior en los de escritorio.


Unity

https://unity.com/

Sin duda es el motor más usado y el que tiene una comunidad más grande y los desarrollos más conocidos. Se programa en C# y los juegos se pueden publicar en decenas de plataformas.


App Game Kit Classic

https://www.appgamekit.com/

Tiene un entorno de desarrollo integrado que, en la versión gratuita, no incluye el diseño gráfico. Se programa en una versión evolucionada de Basic.


Desarrollo de plataformas y 2D

Phaser

https://phaser.io/

Phaser es un framework para crear videojuegos en HTML5 usando Javascript o TypeScript. El desarrollo es muy rápido y los resultados excelentes. Es posible crear los videojuegos usando cualquier IDE de escritorio aunque para Visual Studio Code existen unas extensiones lo facilitan, además es posible crear con IDE en la nube.


Cs.js

https://ctjs.rocks/

Ct.js es un framework para crear juegos 2D usando Javascript. Tiene una buena documentación y herramientas visuales que hacen que el aprendizaje de la programación sea divertido y el desarrollo de juegos fácil. Genera aplicaciones jugables tanto por web como en escritorio. Dispone de app de escritorio para Windows, Mac y Linux.


Python

https://www.python.org/

En este repaso de lenguajes y entornos de desarrollo no nos podemos olvidar de Python, el lenguaje más versátil y popular a nivel profesional, que también se puede usar en el desarrollo de videojuego y en la enseñanza.

Para la creación de videojuegos existen varias librerías que facilitan el desarrollo, como pygame o arcade. El IDE proporcionado por Visual Studio Code, con las extensiones adecuadas, puede hacer muy entretenido desarrollar con Python, aunque no hay que olvidar que la parte gráfica queda en segundo lugar.

Encuesta

Después de Scratch (3) – Alternativas con bloques

Introducción

Pegar un salto directo desde Scratch a la programación escrita puede ser arriesgado, muchas veces conviene hacer un paso intermedio donde se introduzcan conceptos de programación más avanzados, se trabaje con dispositivos físicos, que hagan más atractivas las clases, e incluso otros lenguajes que, aunque usen bloques, se pueda ver el resultado en texto.

MakeCode Arcade

https://arcade.makecode.com/

MakeCode es el entorno de desarrollo online de Microsoft para acercar a los jóvenes la programación. Dispone de varias versiones adaptadas según la plataforma o el objetivo al que se dirija. La versión arcade permite crear videojuegos que se ejecutan en el propio entorno o en consolas.

MakeCode también se usa para programar Microbit, robots como LEGO Mindstorms  y también para crear scripts que corren en Minecraft.

Además de programar mediante bloques tiene opciones para hacerlo con Javascript y Python.


Code.org AppLab

https://code.org/educate/applab

La popular web de iniciación a la programación code.org ha creado un framework para desarrollar aplicaciones simples con Javascript y poderlas llevar a móviles o a navegadores.

La programación se puede hacer escribiendo el código o mediante bloques, lo que facilita la migración desde Scratch.


AppInventor

https://appinventor.mit.edu/

AppInventor permite desarrollar aplicaciones para Android usando bloques en un entorno gráfico online. El framework aprovecha todas las posibilidades de los móviles android, como los sensores, botones y pantalla, para crear aplicaciones rápidamente que se ejecutan de forma nativa en teléfonos y tablets.


mBlock

https://mblock.makeblock.com/en-us/

mBlock nació como un fork de Scratch para poder programar los mBot, el robot educativo del fabricante Makeblock, y diversas placas de arduino pero con los años ha adquirido su propia identidad especializándose en interconectivad con dispositivos físicos (otros robots) y la Inteligencia Artificial.

mBlock se puede programar usando bloques y Python, tanto en aplicación de escritorio como online.


Snap!

https://snap.berkeley.edu/

En un entorno muy parecido a la versión 2.0 de Scratch, de donde evoluciona, lleva la capacidades de programación a un nivel superior. Snap! está abierto a los desarrolladores y existen implementaciones que permiten, por ejemplo, crear juegos en red, multijugador.

Encuesta

Después de Scratch (2) – Creando apps

Crear apps de tus programas en Scratch

Una de las limitaciones que tiene Scratch es que no es posible desvincularlo completamente del formato que impone el framework, lo que lo hace menos atractivo. Es decir, cuando lo embebemos en una web es fácilmente identificable que está hecho en Scratch y eso no le acaba de gustar a los jóvenes.

A muchos alumnos les gustaría poder jugar a los videojuegos que han creado en el móvil o ejecutándose desde la web, pasárselos a sus amigos, sin la “bandera verde” o los colores clásicos de Scratch.

Existen dos utilidades que hacen exactamente eso, convertir nuestro programa en Scratch en un fichero HTML5 que se puede ejecutar en cualquier navegador. 

Estas utilidades son:

HTMLifier

https://sheeptester.github.io/htmlifier/

Un ejemplo del juego creado por nuestros alumnos y convertido en aplicación jugable desde cualquier navegador usando HTMLifier es:

¡Pulsa para jugar!

El juego original en Scratch puedes encontrarlo en: https://zonadeciencias.com/melvex/Santa2020Ready.html


Forkphorus

https://forkphorus.github.io/packager/

El mismo ejemplo anterior pero convertido en HTML por Forkphorus es:

Para transformar tu programa en Scratch solo tienes que poner el ID (el número que aparece en la URL de tu proyecto) y con eso debe funcionar, aunque para ajustarlo puedes variar la configuración.

Ambas utilidades son parecidas aunque , desde mi punto de vista, HTMLifier tiene más opciones de configuración, lo que le permite un ajuste mucho mejor.

Ir arriba