Inspiration
Games, application software and operating systems are tending towards the larger size; 4GB of RAM is no longer the norm, and no longer acceptable for playing video games, which demand 8, 16, or even more. Removing EVERYTHING, from weird background services that rely on Chromium, such as Electron and Google Chrome; annoyances in the operating system such as automatic updates and telemetry; and even the entire operating system, we're left with the purest form of programming - programming games for the UEFI environment.
What it does
Newer computers boot their operating systems by first loading an .efi program, which then loads the operating system. This project turns this pattern on it's head by making the .efi program the actual useful piece of software, free from the shackles of an operating system.
How we built it
With the EDK2 development kit and a little bit of C programming, an entire game was created, void of any useless bits and bobs that make this software work on virtually all AMD64 UEFI systems.
Challenges we ran into
As a non-C programmer, I was confused on how to set up the SDK properly; taking up 3/4 hours of my hacking time to even land on a usable "Hello World!" program. Furthermore, the lack of knowledge of how an event loop can be created in C meant that I was nearly throwing in the towel, weren't it not for a helping hand from one of my competitors.
Accomplishments that we're proud of
- Colour! Colour helps liven up the program instead of looking like a shoddy shell script.
- Moving the cursor! The internet has next to no documentation on how to move the cursor, as little is done in the world of fun and UEFI - UEFI programs are usually written by hardware manufacturers like Apple and Intel to make booting happen, not students in a Hackathon.
- I know how to use C! As long as I keep everything in a single file, everything is fine.
What we learned
- A timer is on a separate thread, so global variables do not transfer between threads. Makes it a pain for tracking the number of cookies a user has.
- Never use Microsoft Windows 10 for hardcore C development - Use Arch Linux because yogurt makes all the pain go away
- Do not draw tapirs on glass walls.
What's next for EFI Clicker
Unfortunately, I've ran out of physical screen space to add more power-ups - In the future, scrolling the list of power-ups can help me shove more content into the game.
Built With
- c
- edk2
- efi
- uefi
Log in or sign up for Devpost to join the conversation.