frameCraft – Extensión educativa para pygame

Extensión educativa para pygame

frameCraft lleva la programación visual al aula

El desarrollo de juegos, las simulaciones y la programación visual resultan especialmente motivadores para el alumnado. Sin embargo, empezar directamente con frameworks tradicionales suele introducir una complejidad técnica innecesaria en el aula.

frameCraft añade una capa didáctica simplificada sobre pygame: el alumnado puede crear proyectos interactivos con mayor rapidez y centrarse en la lógica, los algoritmos, los estados y el modelado en lugar de en los detalles internos del motor.

frameCraft como extensión educativa para pygame

Menos barreras de entrada, resultados visibles y estructuras de juego claras: frameCraft hace que pygame sea más accesible para el uso cotidiano en el aula.

¿Por qué frameCraft?

Menos detalles del motor, más informática

frameCraft no es una extensión tradicional de un motor de juegos, sino una herramienta educativa para la enseñanza moderna de informática. La biblioteca reduce las barreras técnicas sin ocultar los conceptos fundamentales.

1

Inicio rápido

Componentes habituales de pygame, como el bucle principal, la gestión de eventos y el renderizado, quedan integrados en una API pensada para el aprendizaje. Así, el alumnado puede crear antes sus primeros programas funcionales.

2

Estructura clara

Escenas, reglas, objetos, colisiones y estados están claramente separados. Esto facilita una organización del código y un modelado comprensibles.

3

Aprendizaje basado en proyectos

Juegos, simulaciones y modelos visuales crecen paso a paso: desde el primer objeto hasta el HUD, la lógica de niveles y el acabado final.

Concepto de frameCraft con escenas, objetos, reglas y resultados visibles

Valor educativo

Los proyectos visibles crean oportunidades de aprendizaje significativas

Las primeras experiencias de éxito son especialmente importantes en el aula. Cuando un personaje se mueve, dos objetos colisionan o cambia de forma visible el estado de un juego, el alumnado experimenta directamente conceptos abstractos de informática.

Esto permite trabajar de forma práctica conceptos fundamentales como la modularización, la abstracción, el pensamiento algorítmico, las estructuras de datos y el modelado orientado a objetos.

Abierto y portable

Empieza en CodeRoom y continúa con Python y pygame

frameCraft está disponible como proyecto de código abierto en GitHub y como paquete de Python en PyPI. De este modo, los proyectos creados en CodeRoom también pueden continuar fuera de la plataforma educativa utilizando CPython y pygame estándar.

Código abierto en GitHub

El código fuente de frameCraft está disponible públicamente. Las versiones, los ejemplos y la evolución de la biblioteca pueden consultarse directamente en GitHub.

Instalación desde PyPI

Para desarrollar localmente con Python y pygame estándar, frameCraft puede instalarse directamente con pip.

pip install pygame-framecraft

Colección de cursos

Cuatro proyectos de juegos muestran distintas formas de utilizar frameCraft

Frogger ofrece una introducción especialmente accesible al movimiento, los carriles de tráfico, la estructura de niveles y las colisiones. Los demás proyectos amplían el abanico de conceptos: Breakout se centra en los rebotes y las cuadrículas de bloques, Space Invaders introduce grupos de objetos y pools, y Flappy Colors Flight combina entrada, gravedad y dificultad progresiva.

Vista previa del curso de Frogger

Proyecto completo de Frogger

12 módulosNiveles & colisiones

El curso avanza desde la primera escena hasta el movimiento, los botones táctiles, los coches definidos mediante datos, las vidas, las condiciones de victoria, el HUD, la lógica de reinicio y el acabado gráfico.

Ver curso
Vista previa del curso de Breakout

Crear Breakout

6 módulosPelota & rebotes

Breakout concentra el desarrollo del juego en la pala, la pelota, la cuadrícula de bloques, los rebotes, la puntuación, las vidas, la zona de pérdida y la lógica de reinicio.

Ver curso
Vista previa del curso Flappy Colors Flight

Flappy Colors Flight

12 módulosFísica & equilibrio

El proyecto combina un personaje visible, la entrada para aletear, la gravedad, pares de tuberías, un pool de entidades, la puntuación y una dificultad creciente.

Ver curso
Vista previa del curso de Space Invaders

Space Invaders

11 módulosPools & enjambres

El prototipo arcade muestra cómo interactúan proyectiles, grupos de enemigos, bucles anidados, colisiones, puntuación, estados y efectos.

Ver curso

Elegir un proyecto

Cada proyecto pone el foco en conceptos informáticos diferentes

Los cursos son más que simples variantes de una misma idea de juego. Permiten trabajar distintos objetivos de aprendizaje y pueden elegirse según el grupo, el tiempo disponible y el tema que se quiera abordar.

Frogger: estados en el tablero

Adecuado para trabajar carriles de tráfico, movimiento en direcciones discretas, límites de nivel, vidas y condiciones de victoria.

Breakout: las colisiones como regla central

Adecuado para unidades sobre rebotes, detección de impactos, cuadrículas de bloques, contadores, zonas de pérdida y mecanismos claros de fin de partida.

Flappy: movimiento y dificultad

Un ejemplo claro para trabajar velocidad, gravedad, actualizaciones basadas en el tiempo, reutilización de obstáculos, puntuación única y equilibrio del juego.

Space Invaders: organizar grupos de objetos

Útil para bucles, bucles anidados, entidades numeradas, pools de proyectiles, grupos de enemigos, gestión de colisiones y pools de efectos.

Código legible

Las reglas del juego ocupan el centro

Con frameCraft, el alumnado no necesita empezar por los detalles internos del motor. Las ideas principales se ven directamente en el código: los objetos utilizan etiquetas, los estados del juego se almacenan en la escena y las reglas y colisiones modifican el juego.

  • Las etiquetas conectan lógicamente objetos relacionados.
  • ctx.vars almacena estados del juego como vidas, puntuación o fin de partida.
  • Los manejadores de colisiones hacen explícita y legible la lógica basada en eventos.
import frameCraft as fc
RANA_INICIO_X = 160
RANA_INICIO_Y = 180
ANCHO_COCHE = 46
ALTO_COCHE = 20
JUEGO(
    "Frogger - Colisiones",
    ventana=(320, 200),
    fps=30,
    fondo=(30, 120, 40)
)
ESCENA("principal", vidas=5, muerto=False)
@CONSTRUIR_ESCENA("principal")
def construir(ctx):
    OBJETO("rana", pos=(RANA_INICIO_X, RANA_INICIO_Y), tag="rana")
    RECTANGULO("rana", 24, 24, disparador=True)
    OBJETO("coche_0", pos=(40, 100), tag="coche")
    RECTANGULO("coche_0", ANCHO_COCHE, ALTO_COCHE, disparador=True)
    VELOCIDAD("coche_0", 90, 0)
    def colision_coche(ctx, rana_e, coche_e):
        if ctx.vars.get("muerto"):
            return
        ctx.vars["vidas"] -= 1
        rana_ent = ctx.E("rana")
        if ctx.vars["vidas"] <= 0:
            ctx.vars["muerto"] = True
            if rana_ent is not None:
                rana_ent.alive = False
        else:
            if rana_ent is not None:
                rana_ent.x = RANA_INICIO_X
                rana_ent.y = RANA_INICIO_Y
    AL_COLISIONAR("rana", "coche", colision_coche)
fc.START_STANDALONE("principal")

Proyectos habituales para el aula

frameCraft no se limita a los juegos arcade

La misma estructura puede utilizarse para juegos clásicos, simulaciones, visualizaciones matemáticas y experimentos creativos. Esto hace que frameCraft sea adecuado tanto para las clases de informática como para proyectos STEM interdisciplinarios.

Juegos clásicos

Snake, Breakout, Tetris, Pong, Frogger y otros pequeños juegos arcade son ideales para modelar movimiento, colisiones y estados del juego.

Simulaciones

El movimiento, la velocidad, el momento, las colisiones, las ondas, las oscilaciones y los modelos basados en agentes pueden explorarse como sistemas dinámicos.

Visualizaciones creativas

La simetría, los patrones, los espacios de color, las imágenes generativas y las visualizaciones de datos conectan la programación con el diseño creativo.

Proyecto de Space Invaders con colisiones, puntuación y respuesta visual del juego

Diseñado para centros educativos

En el navegador, estructurado y flexible

Al combinar un enfoque basado en pygame, la ejecución en el navegador mediante CodeRoom y una API didáctica simplificada, frameCraft se convierte en una herramienta práctica para clases, proyectos, aprendizaje diferenciado y actividades breves.

El profesorado se beneficia de componentes claros y de una preparación más rápida de los proyectos. El alumnado obtiene resultados visibles, tareas creativas y un enfoque que sigue conectado con los conceptos fundamentales de informática.

Siguiente paso

frameCraft convierte pygame en una herramienta para aprender informática de forma activa

Accesible, estructurado y basado en proyectos: el alumnado crea sus propios programas interactivos mientras aprende conceptos fundamentales como condiciones, bucles, funciones, estados, colisiones, estructuras de datos y modelado.