Play here: https://www.fortnite.com/@rujiyo/1657-7834-5308
I’ve been experimenting with 2D capabilities in UEFN and ended up creating this Flappy inspired game. While it’s not the most technically advanced project, it’s been a fun challenge to build considering the constraints of the current available APIs.
Below are insights into some of the more interesting features.
Replicated players
One of the core features of the game is realtime multiplayer. Since each player’s Fortnite character is not being used, a custom system is in place for replicating each player’s character & their position to ensure that players can see one another and play together.
Ghost data
Inspired by Super Meat Boy, your last set of runs will be replayed alongside you as ghosts. Each run has it’s positional data recorded, and then that data is played back at a slight time delay. This also has the added bonus of making empty servers feel less lonely
Parallaxing Backgrounds
A background & midground layer of pixel art parallax at different rates to provide a bit more atmosphere to the endless world of pipes. This uses a pooling system that repositions & respawns the same art endlessly based on the player’s camera position.
Camera System
Every object in the game has a world position, but each player has their own custom 2D camera which converts those world positions to screen space. This lets us move, scroll, and shake the camera and is key for easy player replication in a side scrolling game.
Infinite pipe generation
Each server generates it’s own randomized layout of pipes. This layout is synchronized between each player that joins, allowing players on the same server to flap together through the obstacle course. An initial level data set of 200 pipe locations are spawned at the start of a server. If a player manages to make it further, more locations are generated. This also utilizes a pooling system for the actual display of the pipes. Players only ever spawn and execute game logic related to the pipes that are currently on screen for them.
Hope everyone tries out the game!