top of page
  • Holly

Launch Title (Week 5) - Enemy Attacks & Night World System

Having made some good progress on the player’s combat abilities last week, I decided the first thing to focus on developing this week was a proper enemy for them to deal with.


Basic Enemy AI




As you can see in the video, enemies will start approaching the player when they get close enough, and once they are within attacking distance, will launch a simple swing attack. I also implemented a health stat for the player, and gave them some temporary animations for when they get hit.



Night World Transition System


My other main focus this week was on setting up a scalable solution for the Night World transition system. I was still set on using the level streaming technique (having a night-world sublevel that is toggled on and off), but I had quite a few things to consider like:


  • How the system would know the level name of the night world sublevel

  • How the system would work with larger levels that are streamed in with smaller areas

  • How the transition would be triggered

  • Making sure system is easy to use for other team members


My solution was as follows:


  1. Have a “Light World” and “Night World” sublevel for each normal sublevel, using the same name but with the prefix “LW” and “NW” respectively (only requires adhering to naming scheme rather than having to track with large data tables etc.)

  2. Add a “NightWorldManager” actor to the persistent level, with functions for Toggling between the Night and Light sublevels

  3. When a normal sublevel is streamed in, its associated “LW” and “NW” sublevels are loaded too, but toggled to not be active or “visible”

  4. When transitioning between a “World”, actor checks which sublevels are currently loaded, and checks for any sublevels matching them for the specified “World”, making them visible.

  5. The post-process volume has its shader activated or deactivated as needed


I ended up needing to implement this with C++, as Blueprints didn’t have access to functions for getting current sublevel names.


To explain how the system would be used to others in the team, I created a small tutorial document and linked it in the team discord.




1 view0 comments

Recent Posts

See All
bottom of page