Level end
I made the end of the level use a familiar colour to the orbs that you use as this will signal to the player that this is a good thing and they will want to touch it.
hello vonnie
cherry valley forever
Misplaced Lens Cap

i don't do bad sauce passes
Show & Tell

Love Begins

Product Placement

izzy's playlists!
wallacepolsom
Acquired Stardust

blake kathryn
almost home

Andulka

tannertan36
KIROKAZE

pixel skylines
ojovivo

Discoholic 🪩

if i look back, i am lost
seen from Iceland
seen from Singapore
seen from United States

seen from Singapore
seen from United States
seen from Malaysia

seen from Türkiye
seen from Brazil
seen from United States

seen from Malaysia

seen from Türkiye
seen from Malaysia
seen from Türkiye
seen from United States
seen from Brazil
seen from Türkiye
seen from Canada
seen from United States

seen from Brazil
seen from Brazil
@year2fmpyear2fmp
Level end
I made the end of the level use a familiar colour to the orbs that you use as this will signal to the player that this is a good thing and they will want to touch it.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Ground pound / Charge jump section
For the final area I thought it would be interesting to combine both the ground pound ability and the charge jump abilities into one area, having you traverse down with the ground pound, and then back up using the charge jump. I think this worked very successfully and makes for an interesting design.
Instructions
I put text in the level below where you unlock a new ability explaining how to use it and what it does. I also included it at the start of the level explaining how to move and jump.
Projectile enemy
I removed the code for the projectile enemy to take damage from the orbs as I mostly used these projectiles for platforming challenges, making the challenge extremely easy when the projectile shooter is destroyed.
Event tick
I tried adding this code below to make event tick universal no matter your frame rate, as I noticed that my orbs would move at different speeds on my 144hz monitor than a 60 one.
This proved to be a failure however as it just made the ground pound and orbs very slow, even when I attached the reset function to 1/60th of a second.
I ended up deleting this.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Charge Jump bug
After having some friends playtest, I found a bug with my charge jump that made it so that jumping normally and releasing the charge jump mid air would shoot you at extreme speeds. To prevent this I added this code to the charge jump, which checked whether you were in the air, and if so, would reset your charge time, your movement and your material without charge jumping. This made it so if you jumped normally it would just cancel the charge jump altogether.
The custom event is triggered on tick so it is constantly checking.
Healing
I needed to add healing to my game as 5 health is not enough to last the entire game, as taking damage is almost inevitable at some point.
The code is added to all the enemies and will only increase the health if it is below 5.
Making use of assets.
This video talks about how every mechanic in your game should have at least 3 or 4 different uses or implementations as just adding many assets with just one interesting use results in much increased development time and also a less interesting and focused game.
I took this advice into my final game, particularly with the Spike and Enemy assets. For spikes I first had the default, stationary spike, but then I reused the code and added a falling mechanic to make stalactites falling from the ceiling. I then reused this code again once more to make an enemy who dropped these stalactites at regular intervals.
Dash area
The second main area of my game revolves around the dash mechanic. It has a variety of jumps that you can only make using the dash. It combines enemy projectiles and dash jumps to make interesting platforming areas which lead to the end where you get a Ground Pound ability and smash through the floor in order to get back to the connecting world.
I decided to have an almost unmissable Orb Upgrade at the end of this area as I found the combat is much more satisfying and fun with two orbs instead of one. I find that having at least one be easy to achieve will make players not feel forced to backtrack and explore if they don't want to.
Charge jump visual.
I added this custom event which changes your characters material to white when your charge jump is ready to use. It checks the chargejumptime and if it is above one second it changes it.
I then had to add this code at the end of the actual charge jump to put it back to its original texture.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Falling spike
I added this code to the falling spike as it was also being set off by my invisible orbs.
Combat area
Here is my progress on the first area of the game. It consists of a few rooms that you must traverse while projectiles are being thrown your way, in addition to two rooms where you have to eliminate all enemies inside before you can escape.
This is the setup I used to make the exit only accessible once you acquire the dash inside and not enterable before. The spikes above and below are impossible to jump through without hitting either or, But using the dash it just required a dash through the middle.
Secret item
I put another orb increase Item just out of reach in the combat area. This is to encourage later exploration after collecting all the abilities. This is a great item to use at it is not necessary but will provide an advantage to those who go out of their way to get it.
I also made it visible from the combat room in such a way that you cannot miss it your first time through. This makes the player wonder 'how am I meant to reach that', and when they acquire the charge jump item they will likely remember this area.
The combat area.
The first area of the game after the tutorial we be used to get you accustom to the combat and enemy types. You collect your first orb in the room with the loop drawn on. This is because you cannot leave before killing all the enemies, forcing you to experiment with these low difficulty enemies in order to get a hang of the combat.
At the end of this area you will discover a Dash upgrade. This is also why I plan on spitting the player out in the top right as this is also right near the entrance to the next accessible area, which you need a dash in order to access. This will jog the players memory if they have forgotten where the dash will help them reach.
These abilities allow me to make a semi linear experience but with the player feeling much more free than if they were to just be teleported to a next level.
Projectile
For my third and final enemy I wanted to have a projectile based enemy who was stationary and just shot projectiles in 8 directions, up, left, down, right, and every diagonal.
I first created a new actor blueprint for the projectile. This was the code to make it inflict damage when it touches me. I also added a projectile movement component and set the initial and max speed to 1000
I then once again copying the basic enemy code but this time deleting the patrol point section as it is unneeded.
In order to make it so it only fired these projectiles when you was in range, I made a collision box that would trigger a 'startfire' event when entered and a 'endfire' event when exited.
I then added a gate that was opened when you entered the collision box and closed when exited, this made it so that the shooting code would only happen when this gate is open and therefore only when you was inside the collision box.
Here I used similar code to my spike dropper in order to space the timing of the projectiles, using the delta seconds and resetting them once fired.
I then used a for loop to spawn 8 projectiles and a select node to change the velocity of each to shoot in the correct directions.
I also multiplied the scale of the projectiles by 0.5 and times the velocity by 600 to increase the speed and decrease the size. They have a lifespan of 3 seconds and will destroy after that.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Spike dropper enemy.
I wanted to add more enemy variety to my game. To save on development time I thought that I would combine some elements already in my game in order to make a unique foe. I wanted to make an enemy that walked side to side on the ceiling, and dropped the falling spikes regularly.
I did this by copying the normal enemy code, and adding this code below onto the 'event tick' event.
This will count the world delta seconds and when 2 seconds pass, the enemy will spawn a falling spike slightly below its location to give the illusion of dropping it from beneath.
When dropping a spike the world seconds also get reset to 0 so that they will start counting again and drop a spike every two seconds.
I also changed the scale of the falling spikes to make them proportional to the enemy.
Usually the falling spikes required the player to walk beneath them in order to activate, which is not what I wanted for this enemy. I changed this by making a custom event inside the falling spike code that could also activate the gravity. I then placed this at the end of the spikedroppingenemy code in order to have this event activate as the spike is spawned.
In order to have the enemy walk on the ceiling I just placed a cube actor into the world and made it hidden in game and set the collision to only overlap pawns, which is what the enemy object type is set to. Then I just placed the enemy on top of this invisible floor close to the ceiling to give the illusion that it is hanging the ceiling.
Damage indicator
I added this code to my take damage event which made it so that when I got hit my character flashed red for a tenth of a second. This gives a visual indicator so that you don't to constantly check your health to know if an attack hit you.
It does this by making an array of all your character components and changing the material to red. Then it changes it back to black after a 0.1 second delay. There is then another 0.9 second delay before resetting the damage taken event. This makes it so there is a total of 1 second before you can be damaged again.
If you are hit by a spike, there is no red flash and no invincibility frames due to it respawning you in safety anyway.