Generate visual representations of the networks underlying video-gamebooks on YouTube https://youtube-maze.delab.re/
Go to file
Mattéo Delabre 24b41da6d1
Add logo
2020-11-28 23:52:13 +01:00
bin Turn into an Express server 2020-11-28 18:07:04 +01:00
files Add logo 2020-11-28 23:52:13 +01:00
lib Send SVG to clients, add simple caching 2020-11-28 20:48:19 +01:00
public Turn into an Express server 2020-11-28 18:07:04 +01:00
routes Send SVG to clients, add simple caching 2020-11-28 20:48:19 +01:00
.eslintrc Commit initial 2017-04-02 02:54:46 +02:00
.gitignore Mise à jour API et nettoyage 2019-07-07 20:49:11 +02:00
LICENSE License under MIT 2020-11-28 15:16:09 +01:00
README.md Add logo 2020-11-28 23:52:13 +01:00
app.mjs Turn into an Express server 2020-11-28 18:07:04 +01:00
package-lock.json Send SVG to clients, add simple caching 2020-11-28 20:48:19 +01:00
package.json Send SVG to clients, add simple caching 2020-11-28 20:48:19 +01:00

README.md

YouTube Maze

Some YouTube creators have made video “gamebooks” by creating videos in which viewers can make choices that influence the course of the narration. This is generally implemented by breaking up the video into short interlinked segments. This project aims at automatically exploring those video mazes and creating a visual representation of the underlying network.

See it live →

How Does it Work?

The algorithm starts at the first video and explores the links recursively using a breadth-first search approach, keeping track of the links as it goes. The Graphviz library is used to automatically lay out the graph so that as few edges cross as possible.

Running Locally

You can also run the server locally, provided you have a working installation of Node.JS and Graphviz.

git clone https://forge.delab.re/matteo/youtube-maze.git
cd youtube-maze
npm install
npm start

If everything goes as planned, you should be able to access the server by opening http://localhost:3000 in your browser.

License

This software is made available under the MIT license. See the full license text →