top of page
  • Holly

Launch Title (Week 7) - Post-process LUTs and EQS

I was very limited in the time I could spend working on the project this week, so I decided to focus on researching and experimenting with different ideas rather than trying to tackle any large features.


Firstly, I had been looking for a better method of creating interesting post-process effects for the Night World. After a weekly presentation, one of our tutors had suggested doing research into Colour Look-Up Tables.


To experiment with this I followed some documentation from Epic on making LUTs with Photoshop: https://docs.unrealengine.com/4.26/en-US/RenderingAndGraphics/PostProcessEffects/UsingLUTs/


I experimented with a few different effects and palettes, trying to see if I could recreate a look similar to some concept art drawn by other team members.



I showed a few of these as potential options to the rest of the group in our weekly meeting to see what people liked best. In the end we all agreed on the black, white and red visuals, as they fit well with the colour palettes of the main characters.


EQS


The other area I spent time researching this week was around improving enemy positioning in combat. With the design of our combat system we wanted to be able to have quite a few enemies in each encounter. However, as the number of enemies in combat increased, a few issues started to show up:


  1. Enemies would block each other’s paths to the player and frequently get stuck

  2. Enemies tended to become bunched up in a large group, making positioning less interesting / challenging

  3. Enemies could sometimes surround the player and essentially stunlock them with their attacks.


I spent some time looking online to see if there were any resources on how other games solve this issue. The most helpful one I found was a development blog on the indie studio Rikodu’s website: https://www.rikodu.com/implementing-robust-ai-for-secondhand-enemy-positioning/



I decided to use a similar approach, with the goal being for a certain number of enemies to position themselves somewhere on an “inner-ring” around the player, while the rest stand back at a further distance.


At first I had planned to implement my own version of this system with an Actor Component that would generate and track a circle of points around the player. However, after looking into it, I realized that Unreal’s own Environmental Query System already had most of the functionality I’d need.



In the images above you can see the results of some experiments I did with the EQS system. 8 points are generated in a circle around the player character, and each is given a score based on two factors: how close it is to the querier (the enemy in this case), and how far from other enemies it is. With this enemies will tend to avoid positions that are already occupied by another enemy, and so they spread around the player more naturally.


The system doesn't quite work perfectly yet though. There are still instances where enemies can get stuck "fighting" over a position with each other. I also want to figure out a way to limit the number of enemies that can be within the player's circle at once, so I'm planning on continuing work on this over the next few weeks.

1 view0 comments

Recent Posts

See All
bottom of page