Paula games
Series of endless runners
Platform:
Multi-platform

Genre:
Endless runner

Dev environment:
HTML5

Role:
Programmer

Paula Endless Runners is a series of games that allow players to compete with each other by reaching high scores for runs.
The player has to face both static and dynamic obstacles and reach the furthest into the level. By doing so it is possible to obtain coins along the way and use them in the shop after the game is over. Upgrades vary from affecting the different player character capabilities to impacting levels directly.
Mechanics
Raven follower
In Paula Wilder Ritt version main task was to realize a companion which follows the game character with a slight delay and when player uses special ability spins around while continuing to follow. While the following itself could be simply done by lerping the raven model towards the point with offset from the character model it creates issues when we need to rotate it around without involving complex calculations. This is solved by creating a parent for the raven model that has the player position. So by rotating it we can make raven to fly around Paula in circles without complicated positional calculations.

In order to control the precise amount of turns around the player I track how much half turns raven made and when it reached the specified amount the rotation stops.
Obstacle replacement
Main new feature that I had to implement was player super power that allows to replace all obstacles present in the screen with collectable coins. In order to do so I had to extend the obstacle and coin management systems.

I have created a separate pool for the coins to be spawned instead of obstacles. This allowed to change the variety of the spawned coins and avoid unnecessary object respawn. By triggering the ability method I am replacing the coins in the positions of the currently active obstacles while disabling them.
Beam mechanic
In Paula: Meeres Abenteurer instead of replacing all of the currently active obstacles player activates the beam which by touching obstacles destroys them. In order to avoid costly raycast I simply check if current player Y value is close enough with any of the active obstacles and if it is I move them out of the players way. This is possible because the amount of active obstacles in the scene is low and its way cheaper to check with all of them instead of calling raycast on update.
Features
Platform
Multi-platform
Genre
Endless runner
Dev environment
HTML5
Level uprectability
Levels are built upon predefined patterns and spawned in a random sequence built with a notion of non repentance.
Replay-oriented game design
Each play-through adds coins to your collection which you can spend and increase the outcome of the next run.
Online competition
Players get to compete with each other via high score tables.
Paula Wilder Ritt
Gameplay video
Development process
Initial idea
Rebuild of the Paula endless runner with new models and some game mechanic changes.
First concept
Several game setups build upon the same base. Each setup has visual and gameplay changes that have to be implemented.
First builds
Finalisation of the visual rework and main gameplay changes.
Evaluation of mechanical and visual changes
Solving the issues faced with building the game with new assets, such as effects rendering, order and stitches between spawned levels.
Beta build testing
Testing of a solid project, finding incompatibilities of mechanics and minor visual reworks. Check the game on all required platforms. Check for recurring bugs on other platforms.
Final build
Finalising and polishing followed by optimisation of the build. Final design and art changes implemented.
Daniil Khokhonov
Programming

daniilkhokho@gmail.com
Cologne, Germany
Made on
Tilda