Sites


Creating Point and Click Games with Escoria

Verbs & Actions

The Verbs or Actions are the actions used by the player to interact with the items in your game. Usually use, pick up, talk, etc. When an action is selected on an item, the event with the same name is called, which triggers a cutscene or some action, dialogue, etc. This is the main way in which the game progresses. There are 2 types of such menues, the on-screen Verb Menu and the Action Menu

The Verb Menu

The Verb Menu is an on-screen menu with a list of verbs, or actions that the player can do. You can also texture them to create icons. The list is always on screen, and it works as a button group; only one action can be selected at a time. The selected action is applied to any item that the user clicks on afterwards.

The verb menu can be found in the file ui/verb_menu.scn. The required structure for this scene is:

  • A root node of type Control named verb_menu with the script ui/verb_menu.gd attached to it
  • A Control node named actions with one or more nodes as children of type Button or TextureButton. The name of each button node determines the name of the action that the button represents.

creating action verbs in godot escoria

With textureButton, the graphical aspect of the button can easily be changed just by changing the textures Properties and it could look like this :

modified aspect of the button in godot escoria

The Action Menu

The Action Menu is a small UI that pops-up or spawns when the user clicks on an item on screen, where they can select an action to perform on the item after selecting it. The menu is usually smaller and uses icons instead of words, and usually consists of less options (2-3). The action menu scene can be found in ui/action_menu.tscn, with a similar structure to the Verb Menu:

  • A root node of type Node2D named action_menu with the script globals/action_menu.gd attached to it
  • A node named actions of type Node2D with one or more children of type Button or TextureButton. The name of the button nodes will determine the action they execute (look, talk, use…).

default action menu provided by escoria

Keep in mind that the menu is placed using the 0,0 position of the scene. If you want to customized the menu graphical aspect just go to ui/action_menu.tscn, add as many TextureButton as needed as actions child and import image into it. You can organize the buttons the way you want to.

modified action menu in godot escoria

The custom action menu used on the old_man of or mini game could look like this.

custom action menu in godot escoria

How to select which menu style to use

Obviously these 2 menu styles can't be used at the same time in the same game, so you'll need to select one.

  • To disable the Verb Menu, simply hide it or delete it from the scene ui/hud.scn
  • To enable the Action Menu, instance it as a child of your game scene, which you instance inside all the main scenes of your game.

By default, the Verb Menu is enabled, since it's provided as one of the example placeholder scenes. Note that since both menus are somewhere inside the "game" scene, you can have 2 versions of this scene, one for each menu style, and use each version in different main scenes.

When using the action menu, be aware that the items which should trigger it must have the Use Action Menu property checked to On. This property is enabled by default on the item script.

Escoria use action menu

Using verbs and action in esc scripts

To use verbs and action, you have to attach an esc file script to an item with the Event path property. This file has to contain instruction for each verb you want appliable to the item. The notation is simple

:nameofverb

followed on next lines by description of what should happen if this verb is used.

like this:

:talk
    say old_man "Hello young panda, today is time for your first offering
to the almighty panda god! I have prepared a bamboo stick for you,
pick it up and bring it to me."

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.