Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: ishevche
  • Language: C
  • Default Branch: main
  • Size: 740 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

UEFI-games with boot-loader functionality

Authors:

Ivan Shevchnko - https://github.com/ishevche

Yaroslav Klym - https://github.com/KOlegaBB

Viktoria Kocherkevych - https://github.com/ViktoryaK

Introduction

This project demonstrates and describes the implementation of games with boot-loading capabilities on UEFI. For more theoretical information, visit our Notion documentation

Games

We have implemented 3 different UEFI games:

Wordle

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.

wordle

Configurations

Words list: resources/words.txt

2D maze

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.

maze v1

maze v2

Configurations

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

3D maze

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.

3D maze

Configurations

Maze map for BootManager3D: resources/MazeConfig.conf Boot entries for BootManager3D: resources/3DConfig.txt Textures for BootManager3D: resources/textures

Installation

  1. Install EDK2
  2. Clone this repository as a subdirectory of EDKII called Wordle

Compilation

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.

Credits

In our project, we used textures from Retro Texture Pack by Little Martian. To use the whole texture pack, you can buy it here.

Owner

  • Name: Ivan
  • Login: ishevche
  • Kind: user
  • Location: Lviv, Ukraine
  • Company: UCU APPS CS

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Klym
    given-names: Yaroslav
  - family-names: Kocherkevych
    given-names: Viktoria
  - family-names: Shevchenko
    given-names: Ivan
title: "UEFI-game with bootloader functions"
version: 1.0.0
date-released: 2024-01-10

GitHub Events

Total
Last Year