Joey Kapusta

Gameplay Programmer

Leap of Faith

Play Leap of Faith View the code

Summary

This is an endless runner for the web, using JavaScript and Canvas. What makes this one stand out is that you control a party of characters. As you run, you swap between the various characters and use their abilities to help you survive. An enemy runs ahead of you and attacks. Keep your party members alive to earn experience for the distance run and enemies killed. After progressively longer distances, you will be taken to a levelling screen, where you may pay experience to level your characters' skills. Keep running until all of your party members are dead to try for the high score.

My Contribution

I coded the entire UI framework as a reusable JavaScript module. This module allows you to create UI elements with child elements, set the layout, styling, and behavior of each element, and update the elements at runtime, all with simple control functions and JSON parameters. Text elements accept special characters within the text field, like line breaks and variables, which can be set to automatically update as the game runs. There are also special elements that have automatic behaviors, like status bars that fill based on the tracked variable you pass to them. The UI also supports custom buttons with mouse events, set by passing a function pointer to the button object. It all works sort of like a cross between CSS and JSON objects. I also coded all of the game logic directly related to the UI, like the tracking of the characters' health, displayed in bars beside their portraits on the HUD. One other programmer coded the gameplay mechanics, and we worked with one artist and one designer. We also used my UI framework in Lumina, another of our web games.

Moving Forward

This game had a very good reception. Players were drawn to its challenge, and the tough learning curve made it particularly exciting to do well. Players competed fiercely to improve and beat each other's scores. I feel this is a good foundation to flesh out the gameplay by adding more variety. The plan was to actually diverge from the endless running and convert to premade platforming levels, where you still must run constantly. We'd keep the same challenge, but add more variety to the layout, challenges, and scenery. The characters would have more interesting skill trees, and could equip gear to boost their stats. This could work well on web or mobile. I began adding touch support to my UI framework, but I didn't have the time to complete it. I would definitely be willing to revisit this project.