top of page
Search

Aethersea Blog: Long time no talk

  • mfordyce200
  • Mar 7, 2022
  • 2 min read

After an extended absence due to personal issues, we're back on track with Aethersea! Some new elements have been added, mostly focusing on the first steps of the dialogue system I'll be using. As my inspirations here are some classic isometric RPGs, Dialogue between the player and NPCs will be a paramount part of the experience. As such, a priority is making sure the player has good UX communicating with NPCs


Using the Isometric RPGs I'm inspired by as a basis, we have 3 options.

  1. Leave the world and character view as is, but pause the game world while talking to an NPC. The only identifiers for the NPC in question will be a small character image and a name. (Baldur's gate)

  2. Use a seperate interface for dialogue between the player character and NPC, with more important NPCs recieving fully voiced dialogue and an animated head (Fallout 1 and 2)

  3. Zoom into the world to provide a more face to face experience for the player.

As we're working with more powerful equipment than the games companies of old, I'm choosing option 3. It will give a more personal experience between each NPC, and help the player get familiar.


To get started we need an NPC to talk to, so I quickly duplicated the player character file I already had and removed any existing code to leave it as a blank NPC. I also changed the character model to a freely available one on the Epic Store to help differentiate them from the player.



ree

The other elements we added were

  • A box collision to recognise when a player was in position to interact

  • A camera that we can move in the editor to act as our view during dialogue

  • a cone that we can also move in the editor to act as a marker for where the player character will be moved too for dialogue

These were the basic bits of the NPC, next came setting up some dialogue functions.





The first element I set up ahead of time was a NPC Interact blueprint interface that currently is empty. This however lets us tell the computer that this is an interactable NPC. I added a check in the player character for whenever the Interact key (E) was pressed, which would then trigger the transition to dialogue. The other elements I set up now were 2 widgets, one to act as an input instruction for the player (Press E to talk), and a fade to black to help cover the eventual teleport.


Finally, I added the code for the NPC. This included the calls to add and remove the instruction widget for the player whenever they move into and from the collision box, and the code to handle the movement of the player and camera.


ree

Some of this code effectively calls for a short fade to black to occur, and as that is running, teleports the player character to the correct position as designated by the cone's position. Then the fade in happens, and the camera moves from the playing position to the set dialogue position. To the player, they get a short fade out - fade in effect, and the camera moves to start dialogue.


ree

ree

Next step is actually coding the dialogue itself, something I aim to have finished this week.

 
 
 

Comments


bottom of page