A Goblin's Tale
An action game built in Godot: a goblin journeys through forests, ruins, and forbidden frontiers to discover what happened to his village, facing hordes of knights.
IF687 · Undergraduate, CIn/UFPE · 2015.1 – 2025.2
A project-based course. Students survey inspiring systems and tools, form groups, define a multimedia product, and build it through two submissions — technical and final — with peer assessment.

01 · Teaching
Introdução à Multimídia (IF687) is a 45-hour undergraduate course at CIn/UFPE, open to Computer Science, Computer Engineering, and Information Systems, taught by Giordano Cabral from 2015.1 to 2025.2, except in 2023.2 and 2024.1. The course has no lectures: students present examples of multimedia systems of interest to them, the examples are grouped into zones of interest, the class splits by theme, and each group teaches a seminar to the others. In 2026, in the new curriculum, it was replaced by Tendências em Mídia e Interação (CIN0055), with the same structure.
02 · Teaching
Twenty-one editions between 2015.1 and 2025.2. In 2020.1 the class was interrupted in March by the pandemic and resumed in 2021; in 2020.3 there were two parallel classes, Computer Science (IF687) and Computer Engineering (IF849), the latter with Filipe Calegário.
03 · Teaching
They bring inspirations; survey the development tools in their area; form groups by theme, and each group gives a seminar to the others (one simple tool, one advanced, one different) and assigns an activity with a script that everyone carries out the following week. Then come ideation, the project plan, a partial delivery in which the scope can be renegotiated, the technical presentation (code, architecture, difficulties, division of labor), and the final demonstration; the project grade is distributed within the team by 360 evaluation. In recent classes, test drives with the class and a vibe coding prototype were added. This page gathers about 125 team projects.
04 · Teaching

An action game built in Godot: a goblin journeys through forests, ruins, and forbidden frontiers to discover what happened to his village, facing hordes of knights.

An application in which users record their day in audio — accounts, meetings, moments — and AI automatically generates a summary in the form of insights.

Breno Silva, Murilo Barbosa, Tiago Menezes, Victoria Luquet
A grid-based music sequencer with 64 steps across four bars, in which multiple users compose simultaneously in the same room, switching between piano, synthesizer, and guitar; synchronized via WebSockets.
An AI fashion consultant: analyzes a photo of an outfit, accepts questions via audio or text, and returns critiques and suggestions from multiple models, with an audio response.

Allan Soares Vasconcelos, Álvaro Gabriel C. Lima, Peterson Jesus Feitosa de Melo, Vinicius Sales Oliveira
A game inspired by Flappy Bird, controlled entirely by voice: sound frequency makes the bird rise or fall, and volume speeds up its flight; built in JavaScript and Python with librosa.

Artur Luis Vieira de Melo Boa Viagem, Caio Vinicius de Meneses Fernandes Coelho, Hugo de Almeida Medeiros, Otavio Henrique Baudel Francisco, Paulo Rogerio Oliveira Filho, Pedro Basilio Gomes de Sa
A domino game for friends built in the Godot engine, with three modes: classic, drawing from the boneyard, and a third custom mode.

Allyson Ryan Emiliano da Silva, Esdras Henrique Albino da Silva, Gabriel Marques de Albuquerque, Lucas Gabriel da Rocha Nascimento, Lucas Gabriel de Oliveira Silva, Matheus Borges Figueiroa, Miguel Gomes de Oliveira, Rafaela Araujo de Azevedo Pitanga
A gesture-controlled memory and motor coordination game: the webcam acts as a sensor (OpenCV and MediaPipe), and the player memorizes a sequence of colors and reproduces it by touching circles on the screen with the indicated hand, against the clock.
Filipe Moreira, Pedro Henrique Dantas, Pedro Bezerra, João Teles, Jônatas Ferreira, Gabriel Albertin, Vinicius Rodrigues, Carlos Henrique Gonçalves
A web application for interactive question, answer, and voting sessions, designed for icebreaker activities and simple quizzes, with a FastAPI server and a React interface.

Lucas da Silva Carvalho, Marcus Vinicius Silva Lima, Matheus Álefe Bezerra da Silva, Pedro Vasconcelos de Menezes Case, Ryei Estevan da Silva Moraes, Samuell Henrique Carvalho Paes Costa, Walfrido Saturno do Nascimento, Tulio Oliveira de Araujo
A 2D RPG with procedural map generation: each playthrough changes the paths, resources, and creature behavior in a labyrinth spanning different biomes, with exploration, real-time combat, and character progression.

Vitor Gabriel Gomes Dias
A tool that uses AI to adapt song lyrics into another language without literal translation: it analyzes the original song's melody, rhythm, and emotional weight and recreates the lyrics to preserve the same feeling.

Angel Willyan R. de Lima, Dayvid Willams da S. Alexandrino, Fabrício Aranha Ferreira, Gabriel Lopes de Souza, Kauã Richard da Silva, Maria Clara Acruchi, Marina Arruda
A web application that transforms feelings and abstract ideas into visual travel inspiration: based on the user's description, it suggests destinations and generates personalized artistic images with AI.

Arthur Bezerra Calado, Danilo José Coutinho de Oliveira, Fabriely Luana Pinheiro dos Santos, Flávio Roberto Tavares Bezerra, Pedro Campelo Lins, Yuumi Kunii
A platform for tabletop RPG players and game masters (Dungeons & Dragons) that brings together a character sheet, rulebooks, a notebook, and dice rolling in one place, with a chatbot that answers questions about the game world and generates images of monsters and settings.

Ellian, Italo, João Pedro, Aline Marianna, Lucas Vidal, Maria Eduarda
A computer vision system that recognizes hand gestures through the camera and maps them to Spotify playback commands — volume, track changes, play, and pause — with support for registering custom gestures.

Online version of the card game Coup: each player starts with two cards and two coins and takes actions to be the last survivor; real-time multiplayer matches with Socket.io and integrated chat.

2D puzzle platformer in which the player switches between dimensions to solve challenges; written in C++ with SDL 3, with an integrated level editor, grid-based physics, and controller and keyboard support.

Game combining a memory game with a race against time: the player reveals colored squares on a board, avoids bomb squares and, when the target color is announced, must remember the path to it with everything hidden again.

Vinicius Cardoso Novaes
Command-line music visualizer that uses pygame to draw shapes following the spectrogram of each segment of the track being played, calculated using a Fourier transform with pydub.

Vinicius Seabra, Guilherme Siqueira, Ivo Neto, Gustavo Santiago, Rodrigo Sales
Interactive visualizer that transforms music (from an MP3 file or microphone) into three-dimensional cubes that react to sound in real time, with adjustable cube count, size, and color; built with p5.js and p5.sound.

2D platformer built in Unity that spans different historical periods through levels with obstacles and enemies.
Dance game inspired by Just Dance with brega funk choreography: a pose detector extracts 33 body landmarks from dance videos, a character in Unity reproduces the choreography, and the webcam compares the player's pose in real time to award points.

Igor Rafael, João Victor, Jorge Francisco, Raquel Rocha, Tales Vinicius, Tiago Victor
Chess in which the lighting and background music change according to the state of the match — imminent danger or calm — so that players feel the tension of the game.
Service that uses the Spotify API to generate a playlist matching the feeling the user chooses — what they feel or what they want to feel.
Pomodoro timer guided by eye tracking: computer vision tracks blinking and provides feedback based on the duration of the session.

Flutter app that generates an image from the user's description and turns it into a puzzle: the pieces rotate until the image is complete.

Filipe Eduardo Ferreira da Silva, Gabriel Monteiro Silva, Lucas Dantas de Moura Carvalho, Lucas Lins de Lemos, Luiza Diniz Mendes Monteiro Luna, Maria Clara Alencastro Braner Kenderessy
From image to music: the user uploads a photo and the system searches Spotify for related tracks using literal, emotional, or combined searches.

Guessing game: each player generates an image with three keywords, and their opponent tries to guess them within one minute.
Lucas Gabriel Rodrigues de Melo
Prompt and image game across three repositories (frontend, API, and prompt and image generator).
João Victor de Barros Felix, Mikael Vidal da Silva
Geolocation-based treasure hunt: clue points and interactive artifacts marked by latitude and longitude, with images generated to match the location's theme (parks, zoos).
Snake game in which desktop shortcuts serve as obstacles: before playing, the player arranges the icons to create their own map.
Musical Stop (adedonha): create a room, invite friends, and find out who knows the most songs.
Jonathan Kilner dos Santos Silva
Game in which the player helps a character reach a bus stop on a rainy day in Recife, amid flying cockroaches and other creatures.
Platformer built in Unity: a diver descends through the depths of a submerged city, walking and jumping to the bottom of the sea.

Automatic video editor synchronized with audio: it takes multiple videos and a music track and assembles a new video with transitions on the beat.
Almir Menezes, Daniel Henrique, Matheus Marques, Murilo Ventura, Pedro Henrique
Visual novel built in Ren'Py about the story of Kaguya Hime, in which the player identifies the hiragana for objects in the scene to earn credits and unlock chapters.
Recreation of the board game War as a digital board, with custom rules to make matches more dynamic.
Web app that takes a song from YouTube and returns a complete karaoke video: it separates the vocals from the instrumental backing (Spleeter), synchronizes the lyrics, and generates animations that react to the music.

Igor Domingos da Rocha e Silva, José Henrique Fernandes Silva, Matheus Correia da Rocha, Matheus Epitacio Barros de Lucena
Game combining air hockey with cars, with physics simulation of vehicle movement and two modes: standard and with obstacles.

Gustavo Chaves Galdino de Moraes, Gabriel Albuquerque de Souza Meireles, Heitor da Rocha Coimbra, Nilo Bemfica Mineiro Campos Drumond
Multiplayer browser game in which players type words to attack and defend against opponents in the same room, with no registration required; the last survivor wins.

Alexandra Viana Zarzar, Bruno de Melo Costa, João Pedro Henrique Santos Duarte, Thayná Santos, José Antônio Maciel
Introductory music game for children, with modes for recognizing instruments, styles, notes, and sequences.

Charles Gabriel Carvalho Cristovão, Paulo Henrique Leite Tavares Correia, Pedro Didier Maranhão, Pedro Tenório Lemos
Pokémon sprite generator using generative adversarial networks trained on around 6,000 images, with a browser interface to inspire artists to design new creatures.

Arthur Cassimiro, Issac Ferreira, Michael Felipe, Renato Alpes, Victor Guimarães
Monster generator for tabletop RPGs (Dungeons & Dragons): given a name, type, and challenge rating, it produces a stat block, a description, and an image of the character to save the game master time.
Anthonny, Henrique de Oliveira Braga Sakane, Matheus Amorim
Software built with p5.js that recreates a user-uploaded image using geometric shapes (circles, squares, lines) that appear randomly until they form the image, with size and animation controls.
Adriano Nascimento de Santana, Bruno Mesquita, Jefferson Carlos Lima da Costa, Matheus Barbosa
Natural language processing of tweets posted about candidates for mayor of Recife in 2020.
Andreza Dantas Layme Pifano de Moura, Ismael Rufino Alves Júnior, José Raphael Danillo dos Santos, Wellisson Franklin Cordeiro Pereira
Game by the Jogos Vermelho group.
Unity game with rounds, enemies, and scoring, by the Jogos Amarelo group.
Elaine Cruz, Guilherme Xavier, Leonardo dos Anjos, Matheus Felipe
Virtual reality experience with a car, prototyped in Figma and implemented in Unity.
Matheus Branco de Siqueira, André Luis Peixoto e Vasconcelos Junior, Antônio Barros da Silva Netto, Adrion Cavalcanti de Albuquerque Filho, Lucas Gabriel dos Santos Araújo, Pedro Kempter Brant
Game by Grupo 08.
Game made in Unity.
Mikahel Leal Dias, Pedro Eugenio, Roger Luiz, Vinicius Thiago
Game by the Jogos Azul group.
Ailson Cruz, Avner Anjos, Hugo Santos
Platform that matches music to user-uploaded images so that people with visual impairments can "feel" their surroundings through music.
Alvaro Gabriel, Daniel Victor
Educational math game for children.
Maria Eduarda Senna, Robson Oliveira, Samuel Brasileiro, Samuel Souza
Project by the AR/VR 01 group.
Augusto Terra, Daniel Pacheco, Gabriel Vaz, Ícaro Guerra, Pedro Machado, Alexandre Vieira
Bot by the Tecnologias de IA 2 group.
Aline Gouveia, Bruno Martins, Eduardo Conti
Interactive multimedia web platform.
Anderson César, Eidson Sá, José Bezerra, Maria Clara, Mateus Felipe, Tiago de Barros
Productivity tool that translates podcasts.
Reinforcement learning applied to Tetr.io, a browser-based Tetris game.
Summarizes long audio messages from messaging apps for people who cannot listen to them.
Gabriela Correia Holanda Freitas, Matheus Alves Almeida, Paula Carollina Oliveira dos Santos, Bianca Carneiro da Cunha Nunes Ferreira, Matheus Marinho de Morais Leça, Gabriel Nogueira Leite
Tower defense game by the Jogos Roxo group.
Gabriel Luna, Jéssica Amaral, Lucas Morais, Manoel Neto
Bot that recommends music and images based on the user's emotional state.
André Valença, Daniel de Azevedo Pacheco, Gustavo Gonçalves Borges, João Vitor Marquim, Matheus Oliveira, Thiago Pinheiro Lima
Multiplayer racing game in which the computer keyboard becomes a piano: playing the correct notes in the sequence moves the character forward, while mistakes move the character backward, to the sound of movie and video game themes.

Adaptation of the game Genius for ear training: colors are replaced with notes that the player must identify and memorize, in sequences that grow with each correct response.

Application that detects mood in a photo and recommends songs on the user's Spotify that suit their taste and match the detected emotion.

2D game in Unity with a top-down RPG-style view, featuring a cook-knight who fights enemies with health and defense attributes.
05 · Teaching
From September to December 2025, with the semester organized into topics that reflect the method: inspiration, exploration of tools and an individual project, group ideation with a video presenting the three ideas, a project plan, identification and analysis of critical points, a prototype built through vibe coding, three test drives with the class in November and December, technical submission, final demonstration on December 16, and 360-degree evaluation.





Class of 46 students, with a Gamma page (https://introducao-a-multimidia-m8bc1bq.gamma.site/) and a tracking spreadsheet.
https://pedrocase.github.io/Multimidia-projeto/ (repository github.com/pedrocase/Multimidia-projeto).






A class of 48 students, from November 12, 2024, to April 8, 2025, with an academic break and Carnival in between.




https://rodisales87.github.io/Multimidia-Visualizador-de-Som/ (repository github.com/RodiSales87/Multimidia-Visualizador-de-Som). 


https://github.com/John-Cavalcanti/ChessGame (release v0.9.1). 






From November 2022 to April 2023.
From June to October 2022, with a class Discord server.
https://multimap.netlify.app/ (repository github.com/jvbfelix/Multimidea).From February to May 2022, online until the end of March and in person afterward.
https://github.com/DanielHCorreia/VisualNovel--Kaguya-Hime.





https://www.youtube.com/watch?v=x_fmCbcdn_I). 


An online class, from September to December 2021, using Meet and Discord.






Remote class, with the full calendar published from the start: inspirations and tools on video and in Notion, seminars of up to ten people assessed by form, exercises, ideation, specification, prototype, partial delivery, user feedback, technical delivery, demonstration and final delivery on 09/02.

https://github.com/Gaudiot/EmotionsAndSpotify. 


Two classes.


https://youtu.be/DHj0WZFYeLAAn online semester from August to December 2020, with two parallel classes: IF687, for Computer Science, and IF849, for Computer Engineering, the latter with Filipe Calegário.
IF687 class (Computer Science):






IF849 class (EC, with Filipe Calegário):




From August to December 2019, with teaching assistant Luiz Henrique "Tato" Caúla, who ran seminars in the professor's absences and taught the React workshop.
https://github.com/zegabr/ObstacleSwap.https://github.com/rodrigoap2/Mapsify and https://github.com/danbsts/mapsify-server.
From February to July 2019, with teaching assistants, in four phases.
abre.ai/mmbot): Lucas Barros, Lucas Cardoso, Luan Brito, Éden Santana, Rafael Mota, Saulo Guilhermino, Penélope Araújo, Pedro Veríssimo, Gabriel Pessoa, Matheus Lima, André Luna.
https://dinosaulo.github.io/From August to December 2018, with teaching assistants.
https://github.com/jvcoutinho/Timber-. 

https://heitorado.github.io/EkansEmag/The class collected inspiring systems, went through "Challenge 1: choosing the idea", reported each team's theoretical and technical difficulties and carried out the 360 assessment by group.
https://lams3.github.io/three-js-examples/Music/index.html. 
From August to December 2017.


From March to July 2017.
https://github.com/msb55/projeto-multimidia.https://github.com/rslgp/multimidia.From August to December 2016, with João Tragtenberg completing a teaching internship.


https://www.youtube.com/watch?v=gjbza6S3tu0From March to July 2016.
From August 2015 to January 2016.






From March to July 2015, with the same sequence as the following editions: ten multimedia applications tested per student, then one alternative application, then the definition of the projects.
Frequently asked questions
A project-based course. Students survey inspiring systems and tools, form groups, define a multimedia product, and build it through two submissions — technical and final — with peer assessment.
19 classes, from 2015.1 to 2025.2.