Wednesday, 30 May 2018

Wireframe Effect Optimisation

I have updated my wireframe effect to remove all of the crazy colour cycling, as while it is a cool effect, I feel the aesthetic of the scene was suffering.

This new version implements the colour scheme I have been using for my logo and should also be more efficient without all of the cycle processing.

Sunday, 27 May 2018

Menu Progress Update

An update for the Menu screen.

I feel like I am getting close with this version, though I think the screen is being over-saturated for some reason and the colour cycling is causing a lot of visual noise which I think is detracting from the look that I want to achieve.

I will investigate further.

Saturday, 26 May 2018

Enemy AI

I have implemented a simple enemy AI, based on what I learned last year with the enemy distance based attacks.

This implementation is much simpler, and uses a node which would have probably helped last year had I known about it. This node simply returns the distance between two actors as a float value, no messing about with vector distance checks.

http://api.unrealengine.com/INT/BlueprintAPI/Utilities/Transformation/GetDistanceTo/index.html

The AI chooses a target from available players (up to 4) then checks the distance.

If the distance is more than a certain value, they will simply move towards the target.

If the distance is below a certain value, they will begin playing their attack animations.

The enemy then checks it's own health before continuing or dying if it is zero.

I added a little flash on the corpse when they die to echo the Streets of Rage style game it is. I could probably do this more efficiently with a loop, but I'll leave it for now.

Friday, 25 May 2018

Enemy Animations

Before I can implement any AI or attacks for the enemies, I will need to have animations to work from.

As time is getting very short, I am not going to create my own, but do what indie developers usually do in this situation and turn to Mixamo.

https://www.mixamo.com/

I collected some walk, idle, punch, kick and flinch animations to work with and packaged them with the Mixamo 'Bot' character, so I could easily use them as placeholder robot enemies and change their colours.



I then did the usual setting up of blendspaces and animation graphs/state machine on this new model ready for the implementation step.

Tuesday, 22 May 2018

Screen material

I've created a screen material from the render target created previously to appear on the arcade screen.

This implements a scan-line material to simulate an old CRT screen and a black border edge based on the Wireframe material created earlier.

These effects are both created procedurally, meaning they do not need any textures of their own, which reduces memory and loading overheads. The only texture required in this implementation is from the render target as the basis for the effect to go over.

I am pretty proud of this effect I've created. I was originally going to use something similar to this implementation on the Unreal website, but I worked out a way to do it without needing textures for the scan-line.

https://wiki.unrealengine.com/Video_Scanline_Post_Process_Effects_%28Tutorial%29

I feel like I have improved on their implementation.

Sunday, 20 May 2018

Main menu prototyping

I want a menu which appears like it is on the screen of the arcade machine which I built.

To get this effect, I need to create a Scene Capture material and apply it to the screen.

To start I want a scrolling wireframe grid, so I created an inverted cylinder in Maya with unitised UVs to get the desired effect with the Wireframe material created earlier.


I then created the blueprint which would house the menu and the camera for the Scene Capture.

This setup can be seen below, along with the attach points for the menu items like the floppy disk.


First experiment with the Scene Capture is below, before the menu items were implemented. Success.


And with the menu items added:


A bit dark, so I added a light:

Saturday, 19 May 2018

Wireframe material

As the theme for my game is Cyberpunk, I felt it was required that a flowing wireframe type material should feature somewhere.

After some research I came across this tutorial for just this type of effect.

https://www.youtube.com/watch?v=KHiZfy5OlO8

After watching the tutorial, I created my own interpretation of it, which can be seen below.

I will continue to experiment and see if i can optimise or create some interesting effects based on it.





Wednesday, 16 May 2018

Multiplayer

One of the goals for my project was to have local multiplayer working.

There were a few issues along the way, but I mainly used these tips (up until the point of using C++, I wasn't prepared to use the time that way).

https://wiki.unrealengine.com/Local_Multiplayer_Tips

The main problem I had were I just had to control how the default player pawns were spawning, and take control away from them by making them possess a new pawn as soon as I could.

Here is my code for how I spawn multiple players, and to get them all on one screen, I had to turn off 'splitscreen' in the project settings. It looks simple, but it took a lot of work to get it down to that.



And here's my players all in the same game, differentiated by colours on their character and the marker above their head.

Monday, 14 May 2018

Procedural Level Generation

As time is running short and I need a working prototype, I have decided to forgo the traditional level building for a procedural approach.

I have created a procedural level section which takes from array lists of modular level parts and creates unique level pieces.



Although the asset pack it too realistic for my game style, it gives the effect that I desire, which could be improved at a later date by creating my own assets in the correct art style.





Sunday, 13 May 2018

Punching and kicking gameplay

For my punching and kicking game mechanics, I used the input mapping to designate buttons (or keys) to punching and kicking.

These buttons fire off the animations for punching and kicking, but also I use a sub blueprint actor to handle damaging the enemies.



Here is the blueprint for the hitbox that generates the damage.



Here is a shot of the player character damaging the placeholder enemies I implemented health on earlier.

Friday, 11 May 2018

Enemy Health Implementation

To create an enemy with a floating health bar, I first had to create a UI Widget with a progress bar in it to represent the health.



Then in the enemy blueprint, I added a Widget element above the head for the health bar widget to go into.



And here is the code inside the enemy which updates the widget and checks if they are dead.

Wednesday, 9 May 2018

Logo creation

When creating the logo for the game, I wanted a very typical 80's retro neon style for it.

I had seen that people had been creating custom text in this style and investigated if there was a simple way to create these graphics myself.

There is an online generator with various options to create a logo in the exact style I desire.

https://m.photofunia.com/effects/retro-wave

And here is the result. I am extremely happy with this.

Sunday, 6 May 2018

Chroma Animation

After rigging the character in Maya and ARTv1, we continue with this plugin to the animation stage.

At this time I have been creating Walk, Run, Idle, Punch, Kick and Jump animations. This has been very time consuming, but necessary to progress with the project, implementing gameplay and mechanics.