Ivan Shevchnko - https://github.com/ishevche
Yaroslav Klym - https://github.com/KOlegaBB
Viktoria Kocherkevych - https://github.com/ViktoryaK
This project demonstrates and describes the implementation of games with boot-loading capabilities on UEFI. For more theoretical information, visit our Notion documentation
We have implemented 3 different UEFI games:
A simple text game analog to a popular Wordle game. Upon the start of the game, the random 5-letter word is chosen, and the player gets 6 attempts to guess it. After each guess, the game responds
to the player, specifying letters placed in the right and wrong places and letters that are not present in the word at all.
In our implementation, all possible words are read from the configuration file words.txt located in the root directory of the file system. After entering the word, each letter is marked
with a + sign if it is in the right place, with ? if it is in the wrong place, and _ if the letter is not present in the word.
Words list:
resources/words.txt
A simple GUI game where you have to solve a labyrinth to boot the operating system. There are two versions of this game in the project. First, which you can find in the directory Maze, launch hardcoded boot-loader
using UEFIBootManagerLib from EDK2. The second, which you can find in the directory BootManager2D, is updated with textures and gives you an opportunity to boot chosen operating systems from the config file.
Sprite of character for Maze and BootManager2D:
resources/Sprite.txt
Maze map for Maze:
resources/labyrinth.txt
Maze map for BootManager2D:
resources/MazeConfig.conf
Boot entries for BootManager2D:
resources/2DConfig.txt
Textures for BootManager2D:
resources/textures
This game is the 3D representation of the previous 2D labyrinth with the same ability to boot the operating system the user finds in the labyrinth.
Maze map for BootManager3D:
resources/MazeConfig.conf
Boot entries for BootManager3D:
resources/3DConfig.txt
Textures for BootManager3D:
resources/textures
- Install EDK2
- Clone this repository as a subdirectory of EDKII called
Wordle
In order to build the project, the EDKII Workspace should be activated first (edksetup script located at the root directory of EDKII).
After that, the makefile can be called with target build target:
makefile -f ${WORKSPACE}/Wordle/Application/<target-application>/Makefile build
To start the QEMU, the makefile can be called without specifying the target.
In our project, we used textures from Retro Texture Pack by Little Martian. To use the whole texture pack, you can buy it here.



