Hey everyone! It’s been a little while since an update, and I know people are wondering what’s going on with the badge. As it was a couple months ago, we are still developing and working on the badge and game. We’re sorry this process has been slower than expected, but working on a community-based and community-developed badge during a pandemic has had its own development pace that hasn’t reflected what we have hoped for. However, the badge development team has made and continues to make some amazing improvements and progress with this badge. We are so excited to show you all what we have built!
There are two efforts that we are managing to bring you this badge; the first is the game, which exceeds far beyond anything we have ever done for a badge before. This is a fully fledged RPG game with lots of fantastic elements, characters, and mechanics we think you will really enjoy. The second, is the development of the actual physical badge, which has progressed well. We are in the process of ordering the final production run of badges to be cut and assembled. The hardware development is done and we are doing our final testing from our devboards and generating final production files. Once we have these badges in hand, it will be incredibly quick to assemble, flash, and ship them to you.
Below is several minutes of in-engine gameplay, showing off some of the great features of the game, such as our dialog and scripting system, entity pathing system, and core gameplay like the Hex Editor.
Game features and updates
Here's where we're at on the software and desktop build of the game:
- There is data! It is binary! Our engine supports the ability to play completely different scenarios, if you just swap out the data file on the SD card or desktop build! Our current binary asset file has grown to a whopping 6MB of maps, tilesets, animations, entityTypes, entities, geometry, scripts, dialogs, strings, and mostly uncompressed image data!
- An absolutely massive cast of 28 unique characters(and more in progress), many of which are HIGHLY DERIVATIVE and are TOTALLY SPOILERS!
- Entities can walk along vector paths at variable speeds, perform an action, or just chill (with different animations for each).
- A custom scripting engine has been invented to support "On Interact" and "On Tick" scripts for entities, and "On Load" and "On Tick" scripts for Maps, to check in-memory states and trigger a rich and complex series of in-game events.
- Breaking news! There is a dialog system so the player can speak with in-world entities!
Hardware features and updates
Here's where we're at on the hardware front:
- There are lights. They light up. Not just that, they NOW only light up or turn off when we tell them to!
- There are buttons and the badge can tell when they’ve been pushed (believe us, we’ve been pushing all sorts of buttons).
- Pixels are shown (consistently) on the screen as intended. They don’t even teleport around randomly anymore.
- The hardware can now render a frame from the actual game engine data by reading it off the SD card. Eventually. What's 20 seconds in computer years?
- There were casualties (RIP sound driver?), but the Asynchronous RAM Eating Monster was defeated.
- All the features of the desktop testing build are (mostly) functional on the actual badge hardware, but until we start reading the binary game data from our much faster ROM chip, we’re topping out at about 3 frames per minute.
- ROM drivers are the current top priority on the hardware side to get us faster data reads and reasonable frame rates.
- People responsible for different hardware subsystems have been poked. Repeatedly. We are committed to keep poking them until it all works.
Give it to me now!
Now you might be thinking, “This all sounds awesome, but when will you ship? How can I enjoy this game and my badge RIGHT NOW?!?!?!!!!!1one”
The answer is, we don’t want to ship the actual hardware until everything we promised is working more or less as intended. We are still 100% committed to delivering everyone who ordered a badge what was promised, and we feel that shipping the hardware with unfinished software would be a worse outcome than taking the time to get everything working well, even if it’s late. We appreciate your patience and thank you for your support of DC801, and will continue to do everything we can to get you the badge you’ve paid for as quickly as we can.
Why so slow
Why is it taking so much longer than usual to complete the badge this year? In the past we’ve always had it done by Defcon. Unfortunately, we picked a bad year to begin our most ambitious and largest hardware and software update for the badge to date. Some of the issues that have led to these delays are outlined below:
- Just as we were beginning badge design in earnest, COVID-19 struck and caused the hackerspace to close down physically.
- Many of the people that helped with the badge in the past that we could usually count on seeing once or twice a week at the hackerspace became much less available to participate in development meetings and efforts.
- We’ve added several new members to the badge team to help, but it’s taken some time to get them up to speed, and limited availability has continued to be a challenge in spite of the larger team.
- The game codebase from last year’s badge is mostly incompatible with the new keyboard chip and screen that we’re using, so we’ve had to remove, rewrite, or refactor many of the parts of the codebase we want to keep using on this year’s badge.
- Our new game is much more capable in terms of graphics and gameplay. To achieve this we’re writing a completely custom game engine from scratch to handle all the new features for this year’s badge game. This has proven challenging, but we feel it will ultimately be worth it, and will lead to faster development in the future, as well as making this the best badge game DC801 has ever released.
Dig into our code
In the interest of openness and transparency, we have released the badge codebase (in its current unfinished state) to our github so that anyone who is interested can follow our progress as we work through the last of our objectives to complete the badge.
If you really can’t wait to play the game, (even though it’s not complete yet and spoilers for the puzzles and story are plentiful) you can try out our desktop testing build on an Ubuntu (20 or greater) based OS (or virtual machine). There are setup instructions on our github repo for getting your computer set up as a development environment that can clone, compile, and play the desktop build.
We’re also planning to eventually release a docker container that will allow you to compile and run the desktop build if you use an X11 forwarder such as VcXsrv, but it’s still got some bugs to work out before it’s officially ready. We feel that finishing the game software so we can ship is a higher priority at this time, but you can look forward to the docker container in the future.
Reach out to us
We’ve been working hard to get the badge into its final form, and we’re happy to share our progress as we continue to improve it during our regular DC801 hangouts on Discord (https://discord.gg/fRh7zT7MRK) on Thursday nights at 7PM MST with anyone who is interested.
Thank you for reading our update, and thank you all again for your patience! We truly hope and believe that this badge and all of the work we are putting into it is worth the wait.