Please sign in to access this page

Platform Runner

Platform Runner

24 devlogs
69h 53m
•  Ship certified
Created by Abdur Rehman

A 3D third-person platformer web game where players navigate challenging obstacles and try to survive as long as possible.

Timeline

Ship 1

0 payouts of shell 0 shells

Abdur Rehman

14 days ago

Abdur Rehman Covers 24 devlogs and 69h 53m

I've completed the final touches on the game, written the README, and deployed it. The game is now complete.

Update attachment

I've implemented a muffling effect on the background music that triggers when the game is paused or ends. It adds a subtle but cool touch to the overall experience. With that, the project is mostly complete. Now it's time to clean things up and create the README.

Update attachment

I added the final audio to the game and refined the entire audio based logic for improved clarity by removing unnecessary stuff.

Update attachment

Began integrating audio into the game, starting with footstep sounds, which are now complete. Next, I'll be working on additional audio elements. I also experimented with lighting and tone mapping to enhance the overall visual quality.

Update attachment

I significantly improved the death sequence and made several updates to the code.

Update attachment

I implemented a death screen that appears when the player falls off the platforms.

Update attachment

I designed a visually engaging pause screen and implemented the pause functionality. The game now automatically pauses when the user switches browser tabs or navigates away from the application.

Update attachment

Created a cool looking loading screen for the game. Now I will work on the pause screen.

Update attachment

I've significantly improved the HUD design and added some smooth animation effects to it. Next, I'll be working on the loading screens and stuff.

Update attachment

I've added various gameplay elements like score, distance traveled, and more. I also put together a simple UI for now. Next, I'll focus on improving the current UI before moving on to the loading screen and other features.

Update attachment

I added a cool looking model to the platforms and significantly simplified the difficulty manager for better clarity by deleting all the unnecessary stuff.

Update attachment

I added props to the spawn point to make the area feel more lively and visually appealing. Next, I’ll be adding models to the platforms to enhance the overall look even further.

Update attachment

I improved the main spawn area by integrating a new platform model. After selecting an appropriate design, I added it to the game and added collision to it.

Update attachment

I added spawning and despawning animations to the platforms, and also introduced a new platform type.

Update attachment

I designed a variety of platform types, including rotating and moving platforms, among others. I also enhanced the difficulty manager by introducing more challenging platform types as the difficulty level increases.

Update attachment

I've implemented a difficulty manager that increases the game's difficulty as the player progresses by varying the distance between platforms. Next, I'll add different platform types to enhance gameplay variety.

Update attachment

I've built a basic platform spawning system for this game. It generates platforms indefinitely, creating an endless course for players. Next, I'll be working on a system to gradually increase the game's difficulty as the players progress. I also spent time fixing several bugs related to ground checks and physics, which were causing issues with player movement and collisions.

Update attachment

I decided to remove the dynamic terrain from the project since I wasn’t able to get the physics working properly with it despite trying several approaches. It just didn’t come together as expected, so I’ve moved on for now and am considering new ideas for what to build next. In the meantime, I’ve added some visual effects to the game, including film grain, bloom, and other stuff to enhance the overall look.

Update attachment

I've implemented simple terrain generation using Simplex noise and resolved several bugs in the process. The next step is to integrate physics to enable terrain interaction.

Update attachment

I’ve added a new falling state that activates whenever the player is off the ground. This change makes movement feel much more dynamic. I also implemented a camera impact effect that triggers when the player lands after being airborne, adding a nice visual feedback. Now I did try to add different fall states like falling flat and rolling but they just didn't work and added too much complexity and they seem a bit unnecessary for my purposes right now. So I might add them later. Right now, I’m tracking down a bug where the player physics aren’t behaving as expected, and I’m working on getting that sorted.

Update attachment

I implemented a ground detection system using raycasting. Multiple rays are now cast downward from the player, and if a set number of them make contact with a surface, the player is considered to be grounded. I also added proper jump functionality. Previously, only the jump animation would play, but now the player's physics body receives an upward force when jumping, resulting in actual movement. To help with development, I introduced a physics visualization system for debugging and other physics related testing. Next up, I'll be working on adding different falling animations along with their states.

Update attachment

I began by refining the player animations and state transitions. I improved the blending and transition speed between animations to make them feel more responsive. Additionally, I edited several animations in Blender. I shortened their durations and tweaked the timings to improve the overall gameplay. Next, I focused on enhancing player movement. I added acceleration and deceleration mechanics to give the movement a more polished feel. Previously, velocity changes were applied instantly, which felt abrupt. I also reworked the player's rotation logic to achieve smoother, more visually pleasing turning. After that, I shifted attention to the camera system. I adjusted the camera to maintain a slight offset to the right of the player, which just looked good. I also modified the overall camera positioning and added camera shake effects when the player walks or runs. Following these changes, I made several minor improvements and then created a sky for the game environment. The next feature I plan to implement is adding states such falling.

Update attachment

I started by adding all the necessary animation states to the model like crouching, for example. Integrating all these states and managing the transitions between them wasn't easy, but after a lot of effort, I eventually got everything working. Once that was done, I moved on to implementing the actual player movement (until now only animations had been playing), which turned out to be the most challenging part for me. I began with by implementing basic movement like going forwards or something, for example. It was relatively straightforward and worked as expected. However, things got tricky when I started thinking about the diagonal movement. The player could move diagonally but I couldn’t find any suitable animations for diagonal motion, so I came up with a workaround which was rotating the player model to simulate diagonal movement. The functionality worked, but integrating it with all the other animation states and their transitions just didn’t feel right. The entire system looked and felt awful and unpolished. So I tried tweaking the code to improve it, but nothing really worked. That’s when I realized I had too many animation states. Some, like strafing, were unnecessary for my current goals. So, I simplified the system by reducing the number of states from 14 to 7. This made the codebase much cleaner and significantly easier to manage. I ended up removing the entire movement system to implement a new one. It took some time to get everything working, but in the end, it felt solid. Not perfect, but good enough for now. After that, I added a basic third person camera that follows the player. It’s still quite simple, but I plan to enhance it with more features and functionality soon. Right now, I’m experimenting with different stuff to refine the movement system further. Once I’m satisfied with how it feels, I’ll shift my focus to improving the entire camera system.

Update attachment

When I started this project, I knew I was going to run into a lot of problems and I definitely did. This is my first time creating a third person game, and I jumped into it as soon as I had a clear idea of what I wanted to build. As usual, I began by setting up a boilerplate scene using classes, and then moved on to finding a player model. At first, I looked on Sketchfab like I always do, but I couldn't find anything that fit the style of the game I wanted to make. So, I decided to try something new and turned to Mixamo for animated models. That ended up being a great decision as I found a character that looked perfect and there were great animations too. Next came setting up the model in Blender, which was completely new territory for me. In fact, I had never even downloaded Blender before. After going through a bunch of tutorials and experimenting, I managed to import the animations and apply them to the main model. That process was frustrating and confusing at times, but after countless trial and error sessions, I finally got it working. I then created a state machine for the player to easily switch between animations with smooth transitions. Right now, I have about 4–5 animations implemented, but I’ve added around 14 total for various actions, which I’ll be adding in next.

Update attachment