Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Citizen Pain | First Person Action Prototype in Unreal Engine 5

A topic by Alessandro "Ordnas" Capriolo created Mar 26, 2023 Views: 4,469 Replies: 136
Viewing posts 76 to 95 of 136 · Next page · Previous page · First page · Last page
(1 edit)

This weeks I implemented 2 new enemies.

The first new enemy is the Soldier Axeman. Like the Soldier Spearman, the Axeman is a variation of the Soldier that uses a battle axe with a shield. The Axeman has similar attacks to the Swordman but has slightly more health and an overhead attack that can perform at the end of a combo or while running. The Soldier Axeman can throw firebombs like other soldiers.

The second new enemy is the Silver Knight with Claymore. It is a variant of the Silver Knight. He does less damage and has less health, but has a greater attack range and performs an overhead smash attack, which if parried sends the player into stunlock. I made sure that if the player goes into stunlock the Knight can only perform a slow attack (like an Overhead) so that the player has time to perform a dodge at the last moment (the stunlock can only be cancelled by a dodge).

I also placed various enemies in the greybox level and fixed stairs inside the first tower, as the steps were too high and did not work well with the Navmesh,

There are a couple of visual bugs in the gameplay video (such as weapons staying in the air and animations getting stuck), which of course will need to be fixed. Also I need to fix the framerate, which I can no longer stay on 60 fps on my machine, it seems that there are too many enemies active at the same time in the level (I'm CPU-bound), I guess I'll have to optimize a bit.

I am continuing the placement of enemies in the greybox level.

I am beginning to implement an NPC, which will be encountered in the game. If you save him from enemies he will give you a reward.

For the NPC for now I will use a model very similar to the soldier (except for the cloak and different weapons).


Prototyping the behavior of the AI NPC. During patrol he can fight other enemies. I’d like to add some new animations for the NPC, but for now it is ok

(1 edit)

Enemies placed on the last bridge. There are many of them so that the player does not pass easily.

(1 edit)

I have implemented an NPC and some key features:


1. NPC Character:

   I introduced a non-playable character (NPC) into the game. This addition serves multiple purposes, introducing the potential for additional interactions within the game, making it more engaging.

 

2. Simple AI:

   The AI for the NPC is intentionally kept simple. It primarily involves two main functions:

   - Navigating from one point to another within the game world.

   - Engaging in combat when necessary.

   - The simplicity of this AI design streamlines development while still achieving the desired gameplay elements.

 

3. Mesh and Animations for the NPC:

   - Initially, I focused on setting up the NPC's mesh and animations. I opted for a mesh design similar to that of a soldier enemy for practicality, although it presented some minor challenges.

   - The NPC wields different sword and shield compared to the standard soldier enemy, signifying its enhanced strength.

   - I used a moveset identical to the soldier for the time being, though it will require modification. This change is essential to make the NPC a more formidable opponent, especially if the player chooses to engage in combat.

   - Implementing evasion maneuvers, such as dodges, is also on the to-do list.

 

4. Small Quest Involving the NPC:

   - I introduced a mini-quest where the player is tasked with rescuing the NPC from a group of monsters. Once rescued, the NPC proceeds with their quest.

   - I plan to incorporate dialogue or text-based interactions to provide clarity about the quest objectives and enhance the overall narrative.

 

5. Patrol Logic:

   - The NPC is programmed with a patrol logic. It will attack enemies if it detects them within its vicinity.

   - The NPC will turn hostile if the player attacks it excessively.

 

6. Continuous Level Design Iteration:

   - I have been consistently refining the game's level design, ensuring that it is engaging, balanced, and visually appealing.

 

7. Additional Traps and Enemy Placement:

   - I expanded the gameplay by adding new traps, such as obstacles involving boulders, to create diverse challenges.

   - I strategically positioned enemies within the game world to keep the player engaged.

I started to implement a very large enemy with the purpose of being an environmental hazard.

(+1)

I started to implement the logic attack of the environmental hazard

I am testing the flame attack hitbox and the aim offset of the head following a target. A bit worried about tweaking the fire particle, but I will think about much further into development.

The monster sleeps until you get close enough. When it wakes up, its startup is about 10 seconds before it attacks, so player can escape (the monster’s roar should make the hazard clear).

I placed the monster in the greybox map. I made it much bigger to make it more threatening from a distance.

Positioned enemy around the corner, in the Soulslike tradition. With that I should have finished the level placement for now. I’ll have to implement some levers that open doors.

Implemented lever and logic that opens the door. I reused a couple of prototype blueprints, it was simple enough. The lever is a bit ugly, but being a prototype it will do for now.

Added cinematic that starts after used the lever to open the boss gate. So far it’s just a simple shot with the door opening, nothing spectacular but it shows to the player which door has opened (since it’s away from the player).

I fixed the destructibles, which seemed broken after upgrading to UE 5.3. Resaving the blueprint seems to have fixed itself.

Over the past few weeks, I've implemented some gameplay mechanics, with a primary focus on the environmental hazard, which I had some fun, as it's represented by a massive monster.

 

1. Environment Hazard:

- The Environment Hazard is represented by a giant monster; I adjusted its size to make it appear threatening to the player.

  - This monster serves as a challenge to cross a bridge, taking inspiration from Demon Souls by populating the area with numerous enemies to emphasize that the environmental hazard can affect a broad area.

  - Deciding on the monster's size and position was a bit challenging. I scaled it enough to cover at least a third of the screen, creating a sense of threat without making it too large, which could become confusing.

  - The placement was also a decision point. I chose to position it slightly above and at an angle to cover the entire bridge with its attack. The distance is set so that its fire attack appears as a moving beam, indicating that it's mobile and can be evaded.

  - Currently, the monster cannot be killed, but I'm still thinking about it.

 

2. Environment Hazard Trigger Wakes from Afar:

  - I've implemented logic that allows the monster to wake up only when the player gets sufficiently close.

  - It remains in a dormant state to indicate that it's not active.

  - Upon waking, it emits a roar to signal an impending attack (sound to be added in the future).

  - There's a 10-second delay from the moment it wakes up to when it unleashes its fire attack, giving the player time to cross the bridge.

 

3. Fire Attack:

  - I haven't added the VFX for the attack yet because I want to focus on the logic first to save time.

  - I've included a debug red line to denote the attack's area.

  - The attack has a range from left to right.

  - It inflicts substantial damage, capable of eliminating enemies in a single strike, but not the player. However, it deals a significant amount of damage.

 

4. Door Lever Logic:

  - I've also implemented levers that, when activated, open previously closed doors.

  - Additionally, there's a logic for triggering a cinematic that I use to showcase unlocked doors that are far from the player's current location.

 

5. Boulder Trap:

  - The boulder trap triggers when the player is descending from an incline.

  - To escape the boulder, the player must run and reach a passage in the wall.

  - I'm not entirely satisfied with this trap, and I'm considering modifying it as there is a risk of it feeling a bit unfair since the threat comes from behind.

Started implementing the boss. It is very large, inspired by the iconic boss from Demon’s Souls.

This week I am optimizing the game, because I can no longer reach 60fps on my machine. Epic’s Paragon characters are very detailed but the materials are a bit heavy on my machine, I’m optimizing them (reducing effects you would only see up close). It is a slow process, but it will be worth it.

Optimization of the game will continue for this week as well. I am testing the asynchronous spawn of actors, now I don’t have the stutter caused by enemy spawn anymore. I still need to fix some minor bugs in the allocation/deallocation of actors.

Viewing posts 76 to 95 of 136 · Next page · Previous page · First page · Last page