Indie Dev – Speedrun

After finally coming up with a name for my game “SpeedRun” and finishing my game with a ‘You win’ and fixing up the slide and run mechanics I can happily say I have an actual game. From a bunch of practice and textures, I’ve borrowed 4-5 from the free pack ‘Necro’s Utility material pack’ on the market, and I managed to get a material blend to work and I have an animated lava effect which i learnt on the internet. The lava material uses 3 different textures including a normal map and 2 different sized textures in a slow set Lerp crawl across the textured surface. This was my first time using a Lerp and I think i could have simplified and optimised a bunch of my work from earlier with timelines through the use of a Lerp function.

I did actually end up using the one way platform, I had my freind Herbie and my girlfreind Tayla playtest my game; Tayla said that past the first obstacle the game was really hard, so in turn i made a much simpler method to get to the end, however you needed luck to get to the right tiles. Herbie said I should texture my game and add some more interactivity, I did this through adding the door and text at the start, alongside with the lava so that rather than falling off the map and getting restarted you fell into the lava instead – It also reflected off the platform textures so it looked cool.

Because I wanted a parkour game, I spent a lot of time making a series of parkour mechanics, however I was only able to decently create the slide mechanic. I had ideas for a wall run and vault mechanic, but I was constrained by time, maybe in my spare time during the summer I will go back and try and fix up these two different mechanics. The slide works the same way as the crouch, but only triggers when the character is moving >500 speed. When they do, the max speed lifts from a minimum to a cap using a clamped float to change the characters max movement speed temporarily. To work alongside the parkour I made a head bob animation using a series of repeating camera shakes to mimic footsteps when the player is walking and running, adding to the immersion, and with the run function, I opted to do increased speed to a cap for the players sprint on W, rather than having a dedicated sprint button. Logistical wise this means the player doesn’t have to press as many buttons, meaning its more forgiving for new people and helps them focus on the course more. Also pressing both Shift and CTRL isn’t second nature for most people, and they struggle with it so simplifying the key presses made sense.

Following on from some interactivity I learnt a couple weeks back, I borrowed the code for doors from my previous game work and added a line trace to interact with it. This way similar to source games, the character can walk up to a door and press e to open/close it.

Indie Dev – Texturing and Game Development

Testing functions for my game, I started messing around with texturing and other different free packs on the unreal store. Above you can see three different blocks texturing with randomly selected textures from the ‘Necro’s Utility Material Pack’ and ‘Urban material pack’. I plan to use a bunch of these textures in-game for my final parkour game.

Messing around with the texturing, I learnt about all the different maps for objects so that you can provide them realistic effects. For example, there was a wire texture and a range of wire maps, one of them made the object transparent in the place where there wasn’t any wire texture, meaning that when you used the blueprint texture on the object, it would just become a block of wire. Alongside the transparency maps, I found a bump and normal maps that help provide depth and shine to textured objects.

Indie Dev – One-way and Moving platforms

This week I created some one way platforms and moving platforms, these would be immensely useful in a side scrolling game or something of the likes, but I dont think for the type of game that I plan making that I will use either of these. The one way platform checks whether the player is below the platform, and if so, it makes the platform have no collision, when the players capsule leaves the box collision it brings it collision back, so after the jump or throw from a launch pad when the player model is falling back down the platform will remain with collision.

On the other hand, with moving platforms I plan to do a parkour themed game, so these might come in quite handy for adding a bit of depth and interactivity to my game. Similar to the use of arrows for the launch pad, the moving platforms move from one arrow to another, these arrows however are invisible to the player, so they have to determine when they think they can jump onto the platform. I could change this in future to make it easier/harder for players.

Indie Dev – Pressure and Launchpads

This week I learnt how to make some pressure pads and launch pads, the launch pad had some very easy and simple to change blueprint. The launch pad follows the direction of the arrow that I have above it, meaning that if i angle the arrow to the left or right, when the player runs over the launch pad they will get thrown in that direction. This could be fun if I have any vertical levels in my finished game.

The pressure pads on the other hand interact with both the player and physics objects in the world like the cubes as shown above. This was quite hard to code and wrap my head around but i’m pretty confident I could replicate it should i make another game. A cool interaction I found was that I could attach the pressure pad to the door I set up last week for the key, so rather than triggering on the key gathering, if the pressure pad was triggered the door would allow the player through.

Indie Dev – Doors & Keys

After making a functional player, I next learnt how to make some basic game parts. Whilst I never got round to giving them any kind of models, I was happy with how simplistic the Blueprint coding was for both. The door opens whenever the player gets near, however if the player has not picked up the necessary key, the door will not open, so once the player has picked up the key and walks to the door it will open, but only from one direction.

I made it work like that because in many side scrolling games, when opening a door you progress to a new level, meaning if the door closes you could stop loading the used part of the game, maybe to assist in optimisation?

Indie Dev – BP_Character

For the second week, I looked at making a character that you could actually move and interact with, surprisingly this was much simpler than expected. I remember the hassle I had in unity trying to make a camera stay a certain distance away from the player whilst following its moves in college. In UE, I added a camera and a springarm, to the characters capsule and UE did the rest of the hardwork for me.

I played around with movement speed and the sprint function this week, trying to get a decent sprint speed that felt like your character was running, but not too fast that your character zoomed. I felt like this could be smoothed out in some way but with the constraints in the lesson and my lack of knowledge of how to use unity I was unsure.

Indie Dev – Learning Blueprint

Having never touched unreal engine before, I was actually quite surprised with how well I got on with the functionality and UI. Unlike my use of Unity, Blender and Maya in the past, UE felt much less intimidating to me – my experience in the different programs might have some reason to do with this.

George taught us how to create a range of different in-game items, and I got my first look at Blueprint. I do enjoy the visual elements of blueprint much more than I did coding script in C++ for Unity, for me it helps get my head around what I’m making, it just seems to make it easier for my brain to comprehend. Alongside above, I also made a simple widget tied to the collectable pickup, and added all the necessary input actions into the project settings.