Beta 1: Development Overview 1: Visitors! Dialog!


It's been quite some time since the last we spoke and somewhat significant progress has been made on the game. Soon is the day when our children will play Clockwork in all of it's pre-rendered glory. 

While our Utopia does in fact approach let's focus on the current affairs, for now.

Beta 1: Development Overview 1

PO 1.1

Overview
  • Implemented Visitor Mechanic: 
    • Visitor Manager handling visitor arrival, update and departure,
    • Item specific interactions for visitors,
    • Visitor dossier system:
      • Added visitor dossier, dossier item,
      • Added visitor medical data, MD item,
      • Added visitor criminal data, CD item.
      • Added empty folder item
    • Apossession Certificate
    • Archive terminal handles the dossier system.
  • Implemented Dialog System:
    • Static dialog manager parses Json files for dialog lines,
    • Dialog driver interprets lines, calls dialog box, handles dialog logic,
    • Dialog Box handles dialog UI.
  • Added Characters:
    • Added Visitor: Derek Shaw,
    • Added Visitor: Erich Schmitt,
    • Added Visitor: Frieda Kind,
    • Added Visitor: Nataly Schmitt,
    • Added Visitor: William Mallow.
Visitor Mechanic

Over the last month, I've worked on implementing some of the core mechanics of the game. The Visitors are one of such mechanics. 

So what are the Visitors?

Simply put, Visitors are the people that visit you in your office. Straightforward enough. They are the people you'll need to examine and the people you'll need to exorcise, if need be. The entire gameplay loop of the game's office section (the only section as of Beta 1) is centered around them so I hope you agree that the visitors are quite an important addition to the loop.

 Let's quickly go through the stages of the visitor examination as I explain how it all works. Hope our dear visitors can help me with the demonstration.

Empty Office

Empty Office

As you can see, not much is going on here. While seemingly insignificant, the empty office provides the player with some downtime between examinations as well as some time to get acclimated to the environment and the controls. It is by far the most safe stage of the visitor examination and making the player personally undo that safety in order to progress the shift creates a welcome sense of anxiety.

Visitor Appears

The tranquility is broken as the player summons a visitor though a special command on the terminal. Sounds scary, boils down to choosing the right option and clicking the big green button.

When the button is pressed the Visitor Manager, a disembodied entity that always exists within the scene summons the next visitor in the queue, a list of visitors that will arrive  in a given shift (usually five but no practical limit exists). The next visitor cannot be summoned if the current isn't dealt with. If no visitors remain in the queue then rejoice! You've just completed the shift!

As of right now each visitor shares the same "base". Upon spawning, the base receives  a set of sprite (for different poses), a set of Json files (for different dialogs) and a unique "role" which handles individual behaviors. Most visitors will share the same role so further examination of the latter will be more relevant when we discuss the demon implementation in the future. Just be aware that it exists.

Interaction

After the visitor appears it is only logical step is to interact with them. Important to note that the dialog present here is just for demonstration. A more proper look into the final visitor dialog will be given when we discuss the full examination mechanic.

Interaction is the first step of any examination. During it, the player has to find out personal information, as told by the visitor, and compare the given knowledge with the available data in the visitor's dossier. Failure to provide accurate data is a telltale sign of divic possession. The dossier is accessed via the archive terminal, speaking of which...

Archive

The visitor's personal archive can be accessed through the archive terminal (right behind you). The dossier, medical data and criminal data can be printed from here. (Templates below)

Presented data, too, will be modified when examination is fully implemented.

Exorcism

Currently unimplemented. Let's assume we're over it by now.

End Of Procedure

And now the procedure comes to an end. Demons have been exorcised, documents have been checked. All that remains is give the file to the visitor and you are on square one. The file itself must be assembled but that is not currently implemented so we'll omit said step.

Dialog System

Not as lengthy as the previous point but noteworthy nonetheless. After some failed addon implementation I decided to act like a man and make my own dialog system. It isn't the most feature reach DS out there, in fact it is rather limited but for what it is, it gets the job done.

The system reads dialog from Josn files. An example of the dialog file format is shown below.

Going over it, the lines are counted from the line four(here specifically) and go till no lines remain (line 17). Special characters dictate how the line must be interpreted.

"~" - End dialog. When encountered the dialog ends regardless of if the final line is reached.

"-" - Branching option. Creates a branching path in the dialog. Basically an answer to a question.

">" - Jump command. When encountered the dialog jumps to the line indicated by the number after the arrow symbol.

":" - Separates the name of the character from the spoken text. The underline in the name part shown the character's pose. Name can be empty.

tabulations show that the line belongs to a branch. This is important as the nested options should be assigned to the highest non-option line with the same tabulation as the option line.

A in game demonstration of the shown example can be seen below.

And thus we are done.

I hope the devlog was at least good enough (or, God forbid, it might even be good)! Be sure to shit on me in the comments, I highly appreciate it.

If you somehow want to see more of me follow me around on:

Xwitter: https://twitter.com/aeprikot/status/1724374729123873017

Aeprikot Subreddit: https://www.reddit.com/r/Apricot_Studio/

And as I completely destroy what what little credibility I've had, by showing my social media of choice, may I say goodbye dear reader and see you soon!

~ Aeprikot          

Leave a comment

Log in with itch.io to leave a comment.