Perpetual Crusades

About the Project

This project was developed as a submission for Penn Apps XXI, held from September 11th - 13th, 2020. You can play it over here: Perpetual Crusades!

The Story behind the Game

19 years after the Second Dragon Crusade in Draconheim, there has been a major outbreak of Dragon Pox among the humanoid races. Humanoids speculate that after the mutual deaths of humanoid Warlord Slaythurnax and dragon Overlord Aldone in their climactic battle in the Second Dragon Crusade, the dragons had vanished but have now come back seeking revenge on all those responsible, and so has the virus they carried during the First Dragon Crusade. A trio of a knight, wizard, and rogue have been commissioned to find out the remaining dragons and kill them, and on the other hand, three dragons have started on their journey to avenge their fallen Overlord. What happens when their paths cross is your and only your destiny to observe. Look excited young adventurers, for you all must not perish in these perpetual crusades!

Inspiration

Perpetual Crusades was inspired by the popular table-top role-playing game Dungeons and Dragons. While the narrative universe of this game is completely different from Dungeons and Dragons, the objective was to create a seamless medieval dragon-fighting experience for the players.

What it does

Perpetual Crusades is a 2-player game where one player gets to choose their avatar between humanoid characters (knight, wizard, rogue) and the other between dragons (red dragon, blue dragon, green dragon). When the game is started, both the avatars are placed on an 8x8 board which is laid with tiles with differing properties and points, the players roll the die to journey through the board, and whoever reaches 20 points earlier is declared the victor! Overall, this game focuses on creating a good entertainment experience for all its players through an age-old humourous dice-based gameplay.

How I built it

The game was built using React for handling the overall front-end design of the game, while JSX was used (in sync with React) to develop the gameplay logic and paradigms. The gameboard was created with the help of CSS Grid Layout. The overall game is hosted through GitHub Pages, due to its relatively static nature and the lack of back-end constructs.

Challenges I ran into

The most intriguing challenge I encountered was to decide how to make the game end (in terms of the game over screen) and the logic behind keeping score counters updated for every move. In the end, there were a lot of loose ends in the code (redundant functions and repeated code) which I had to sweep through and clean. Commenting through the code was also a last-minute modification which was quite stressful.

Accomplishments that I'm proud of

Building the game from start to finish was itself an achievement that I'm proud of. From using CSS Grid Layouts for the first time to going through tremendous amounts of stress over the graphics and stylistic aspects of the game, and still managing to pull through a complete product makes me really proud and enthusiastic about further improving it down the road.

What I learned

Over the course of 36 hours, I learned way more about my own stress personality than I did technologies, but I'm really grateful for the experience! In the face of stress, I learned to use CSS Grid Layouts, improved my grasp of conditional rendering, watched through a couple React tutorials to comprehend handling State and Props, and finally managed to find graphical elements (which are attributed in the GitHub repository), without all of which the game wouldn't be what it is currently.

What's next for Perpetual Crusades

After this hackathon, I intend to scale up the game with more fellow developers and designers, which would be a great experience both for the collaboration skills I would develop and the new insights I could gain regarding optimizing the game.

Share this project:

Updates