In High School, one of my friends showed me this Android game on his phone and it seemed like a fun time-killer. It has a simple rule: to be the last one standing.

What it does

A grid with customizable sizes are generated based on given formatting variables within the program. The people playing place atoms, either in various locations or stacked in order to cause a ChainRXN. If a square is not bounded by the edges of the board, you must stack four atoms to initiate a ChainRXN. Squares on the edges take three stacked atoms, and the corners only require two atoms to cause a huge ChainRXN! Any player whose atoms are all obliterated loses to an opponent's ChainRXN!

How we built it

The game is built using Java as the primary language and the Processing library for visual graphics. The IDE for development was Eclipse.

Challenges we ran into

For awhile, we could not get any visual updates while testing the game. This forced us to change some mechanics, adding timing variables to avoid the majority of overflow problems.We couldn't make visual updates to simulate movement to fully occur either.

Accomplishments that we're proud of

We aren't sure how we developed it. It just kinda happened in early hours of the morning and we went with it.

What we learned

Procedural-based Java utilizing Java Elements are a real pain to do. Formatting and positioning objects onto a 2D canvas manually is a tedious, time-consuming, and painful process. Though, good ideas come at the weirdest of times.

What's next for ChainRXN

We will probably re-structure and reorganize the code for better control flow. We also aim to make the game modular to increase maintainability. Future plans include publishing it as an Android app via the Google Play Store and possibly making a C# version to port to Windows and iOS devices via Xamarin.

Built With

Share this project: