This week, my focus was on improving the player experience when starting a new game.

New features

Defined a simple scenario when starting the game

  • The player character is attacked during a goblin ambush in his native town and wakes up at a healer’s house in a nearby town. He then learns more about what happened, and must find out who is behind the attack and why.
  • Eventually, more starting scenarios will be added to give the player some fresh options when starting a new game. This includes starting in a different faction, with or without items, varying difficulty, and so on. I really like how Cataclysm: Dark Days Ahead handles this, so I’m getting my inspiration from that game.
  • After a few unique quests related to the starting scenario, the game story will advance to the main quest line.

Added a game intro screen

  • This explains the starting scenario to the player before starting the adventure.
  • The intro is quite simple for now as it displays static text over a background. Eventually, I will add text animations and unique art to make it more interesting.

Started working on a cutscene system

  • Instead of ‘pausing’ the game during a cutscene like some games (such as Fallout 3), this system is based around active AI behaviour trees. The NPCs have node trees that manage their behaviour during cutscenes. I added new node types to support this behaviour, such as NodeGoSpeakTo, NodeCheckCutscene, NodeExecuteFlagOnce, etc.
  • The game is processing the AI of other NPCs in the game area during cutscenes. This might lead to unforeseen events happening, but this also allows dynamic combat that will not result in the same outcome every time. If needed, I can script the outcome of combat, but I thought that it might be interesting in certain cases to allow more random outcomes.
  • The game automatically processes turns every 500 milliseconds; the player input is also ignored during cutscenes. This makes the experience seamless for the player.
  • The camera can pan smoothly and teleport to any position in the world. This allows to play cutscenes that happen outside of the player’s game area.

Other notable changes

  • I improved the transition between screens in the main menu, using fade in/out.
  • The player can now show/hide the game user interface using the H key. This is done automatically during conversations with NPCs and during cutscenes.
  • I also improved conversations by allowing shared text between player choices. This makes it possible to reuse some dialogues in different contexts. Some choices will now affect your stats and abilities. For example, you can lose reputation with a NPC if you leave during an important conversation, or even make them attack you if you intimidate them.
  • I improved player warnings when a party member has low HP, MP or Stamina, or when the player still has ability or stats points to spend.
  • I also added a red screen border when the player HP is critically low.

GIFs for this week

New intro (work in progress)

Click here for a larger version of the GIF

Added warnings and red border around screen when HP is low

Click here for a larger version of the GIF

Take care, and see you next week!