Skip to content

Ultraviolet-Ninja/GradleCenturion

Repository files navigation

The Gradle Centurion Bomb Manual

101 modules, 100 minutes, exponentially more problems.

CircleCI Codacy Badge Project Version

Intro

This project is designed to solve all puzzles found on the Centurion Bomb from Keep Talking and Nobody Explodes, which is a combination of many community-made puzzles and some from the base game set in different languages. See below for pictures or this parody video.

This is a huge project for one man to tackle, but I've learned a lot from the challenges I've faced and this project marks points of my Software Engineering learning journey.

Technologies

  • Java 21
  • Gradle 8.6

Plugins

  • JavaFX
  • Breadmoirai GitHub Release

Dependencies

  • MaterialFX ver. 11.12.0
  • JFoenix ver. 9.0.4
  • JavaTuple ver. 1.2
  • JGraphT ver. 1.5.2
  • OpenCSV ver. 5.9

Other Technologies

  • Circle CI with TestNG and Pitest
  • CodeMR Free Trial

Status - In progress

See the running list of modules here

How to run the program

Disclaimer: This is referring to program versions 0.22.2 and onward

  • The source code option of the Release Page contains an executable gradlew file, a Windows batch file equivalent and all the necessary .jar files to run the program
  • The Gradle-Centurion-[VERSION]-[OPERATING SYSTEM] contains an OS-specific executable file with a runtime environment for the program to run in
    • Only supports Windows currently

Starting up the Project via Source Code

To get started with the source code, make sure to download the version of Java needed for the project and download the code. Using the Linux command line, use chmod +x gradlew then gradlew run to boot up the project.

  • For Windows, it'll just be gradlew.bat run

This should kickstart the dependency download and build process. Now, you're ready to start developing!

Contributing to the Project

See the Contribution Document for details.

Inspiration

After my first manual turning out to be successful in solving the main-game bombs, I thought "Why stop there?", like Tony Stark, except he was getting his Arc Reactor removed. I started creating this project working on the auto-solver for the vanilla game, which was, by comparison, much easier.

Example Bomb

Front view

Front

Back view

Back

Example Widgets

Widgets are important details about the bomb such that many modules depend on whether particular features are present or not. The list of details includes Port Types, Number of Port Plates, Lit and Unlit Indicators, Number of Batteries, Number of Battery Holders, Two-Factor Authentication, and the Serial Code. WidgetOne One D Battery in one holder and a lit NSA indicator

WidgetTwo One port plate with a PS/2 port, another D battery in one holder and a serial code "PN4XC5".
Overall, this edgework would be given as "1 PS2 port in 1 plate, a lit November SA, 2 in 2 (2 batteries in 2 holders), and serial is Papa November 4 X-ray Charlie 5" (Using the Nato Phonetic Alphabet)