Skip to content

Releases: carenalgas/popochiu

v2.0.0-beta3

21 Apr 20:36
df23dc0
Compare
Choose a tag to compare

Popochiu v2.0.0 - Beta 3

This release has new features, various bug fixes, and a bright new guide. Here are some highlights:

  • A new getting started guide was written by the great @stickgrinder.
  • We welcome @anthonyirwin82 to the dev team, thanks to him:
    • You can now double-click props, hotspots, and characters.
    • From the Room tab, you can create and delete Markers.
    • Characters can teleport to props, hotspots and markers.
  • Popochiu settings have been moved to the Project Settings.
  • Dialog menu options now support BBCode.
  • We improved the way the (experimental) Scale GUI feature works.

Fixes

  • Fix #178: Changing the GUI template in the Setup popup was causing an issue with the template buttons.

  • Fix #181: Exported games (builds) were showing only the GUI, instead of the game as it appeared in the Editor.

  • Fix #183: Now exported games can handle interactions in touchscreen devices.

    touchscreen_support.mp4
  • Fix #189: You make one thing, and break another. The previous fix was causing projects with input_devices/pointing/emulate_touch_from_mouse set true to crash in the Editor. That's no longer a problem.

  • Fix #191: The Game was crashing when running a room without the Player-controlled Character (PC) in it. Now it is correctly added by Popochiu (again).

  • Fix #196: Deleting a Hotspot from the scene and also deleting its folder (by using the Remove option in the menu of the Room tab) was not working and causing the game to crash.

  • Fix #203: @anthonyirwin82 made the plugin to create the "popochiu-skip" Input Map action work again because it hasn't since we moved to Godot 4.

  • Fix #208: We fixed and improved the behavior of the Dialog options menu. Now the cursor renders properly, and long options are wrapped. Additionally, those options now support BBCode! and the component exposes more configuration options. Isn't that great? There is an important thing to mention here: You have no longer to define how menu dialog options should be presented to players before enabling a scrollbar. Now you define the maximum height of the menu and once exceeded, the scrollbar will appear.

    better_dialog_menu_options.mp4

New features

  • Feature #198: Now double click is supported in PopochiuClickable objects thanks to @anthonyirwin82. You can write your _on_double_click() logic in Props, Hotspots, and Characters (e.g., make characters move immediately to another room when double-clicking doors, or hotspots that represent exits).

  • Feature #200: We moved the Popochiu settings to a new section in the Project Settings, instead of having a Resource file. We also moved out of them some options that were specific to the Simple-click Context-sensitive GUI:

    • Make the Inventory bar and the Settings bar always visible by turning on that option in the Inspector of each node.
    • Define the text speed options in the Settings bar by adding elements to the Array of speeds in the BtnDialogSpeed node.
    project_settings.mp4
  • Feature #112: @anthonyirwin82 added the functionality to create markers in rooms using the Create marker button in the Room tab. You can remove them from there too.

    walk_to_marker.mp4
  • Feature #202: Now character's voices stop playing when the character stops talking. In addition, you can know if a PopochiuAudioCue is playing with its is_playing() function.

    stop_character_voice.mp4
  • Feature #206: Guess what, @anthonyirwin82 added another feature. He's learning and coding at lightning speed 🐰🏃💨, right? Now characters can teleport to any Prop, Hotspot, or Marker in the room. Use the PopochiuCharacter.teleport_to_prop(), PopochiuCharacter.teleport_to_hotspot() and PopochiuCharacter.teleport_to_marker() functions for that.

    teleport_character.mp4
  • Feature #193: Scaling the GUI is working again and now it is a bit better. This feature is marked as experimental, and you'll see that in its option name in the Project Settings. It is intended to be used in the early stages of development, while you are focusing on your game logic and game flow, but not the GUI. In coming releases, we'll improve this by having a Full HD theme for each GUI template.

    experimental_scale_gui.mp4

Welcome to the new getting started guide!

  • Thanks to @stickgrinder, now we have a new introductory guide to Popochiu: Creating a game stub. It will help new-comers, and old users, to learn the basics of Popochiu, or get up to date if coming from version 1 (the one that ran in Godot 3).
  • Also, @Whyshchuck wrote a couple of guides on:
    • How to use a Region to scale characters depending on their y position inside it. You can find it on the Character Scaling page of the Documentation site.
    • How to use the Character Anti-glide feature. Enable it with the Project Settings > Popochiu > Pixel > Pixel Perfect option.

v2.0.0-beta2

17 Mar 22:06
900a4fe
Compare
Choose a tag to compare

Popochiu v2.0.0 - Beta 2

This update has UX improvements and bug fixes.

Fixes

New features

  • Now players can cancel an interaction when C.walk_to_clicked() or C.CharacterScriptName.walk_to_clicked is called. C.walk_to_clicked_blocking() and C.CharacterScriptName.walk_to_clicked_blocking() were created to block the GUI and prevent players to cancel such interactions.
  • Now devs don't have to manually restart the enging after enabling the plugin for the first time. Popochiu restarts Godot for them after closing the popup or clicking OK.
  • (Internal) Thanks to @stickgrinder now the release process + documentation generation will be as easy as publishing the tag of the release and the file with the release notes.
  • Popochiu clears the Hover text and changes the Cursor to its "normal" shape when changing room.

Others

  • Completed documentation for (almost) all Engine classes (except for the GUI components and popups). You can check the list of already documented classes here.
  • 9 Verb GUI cursor doesn't use the "active" animation anymore.

v2.0.0 - Beta 1

18 Feb 21:49
76336ab
Compare
Choose a tag to compare

Popochiu v2.0.0 - Beta 1

This beta release brings a lot of great things to the plugin, including: the ability to create all the props for a room using the Aseprite Importer, allow characters to scale in the room depending on their position within it, a minor update in the structure of the project, and a huge improvement related to the in-game GUI.

We'll describe a step by step about how to migrate from previous alpha releases to the beta. And in the future we'll add a button in the Popochiu dock (or probably the Setup popup) to make this migration easier.

Fixes

New features

  • ⭐ Import the content of an entire Room (props) using the Aseprite Importer. You can find the details on how to do it here. Thanks to @stickgrinder for making this amazing feature!
  • Characters now have an anti-glide property that can be used to make walking animations to avoid sprite movement between frames. Thanks to @Whyshchuck for working on this.
  • PopochiuRegion can now be used to scale characters based on their position inside the region. You can find info about this here. We'll add the documentation for this in the coming weeks. Thanks again to @Whyshchuck for working in this so-asked feature.
  • ⭐ We have a brand-new documentation site (which looks similar to the official Godot's documentation) thanks to the huge efforts of @stickgrinder . We'll keep updating this in the coming weeks, and our goal is to have the full documentation of the plugin, plus "how to" guides and tutorials for the official 2.0 release.
  • Talking about documentation, a big part of the classes used by the plugin to make your games work are now documented using inline comments, so you can read those things inside Godot. You can check the already documented classes in this link.
  • ⭐ At last, we can present the GUI templates (along with a refactoring of the graphical interface structure in the project) and a new tab in the Popochiu dock dedicated to the game UI. Detailed documentation will come soon, but for now, you can change the look and the behavior of your game GUI to one of these templates:
    • 2-click Context-sensitive: Is the one that Popochiu has been using since its creation. You can trigger events with the left or the right click (or even the middle click).
    • 9 Verbs: Now you can create a game with the GUI of the early graphic adventure games made by LucasArts. Interactions will depend on the selected verb, the inventory will always be visible, and in the settings popup you will be able to save and load the game, change the audio volume, or alter the behavior of the texts that display information about the object under the cursor (also known as hover text).
    • Sierra: This one will make your game look like the classic Sierra games. Cycle through interaction commands with the right click (or use the buttons in the top bar), use a dedicated popup for the inventory, and use the settings popup to do the same you can do in the 9 Verbs settings popup, plus changing the way dialogs are presented (Above each character, in Portrait mode, or like Caption), and if the texts continue automatically or with a click.
    • Custom: Build the GUI of your game from scratch if you prefer. Documentation on how to use the components provided by Popochiu (or how to create your own) will be released in the coming weeks.
    • Lastly, in the UI tab, you'll see the components and popups being used by the game GUI. In future releases we will add more functionality to this tab. For now, its main benefit is to allow you to create a popup or add components (specially useful when working with the Custom template). Clicking this tab will open the in-game GUI scene: graphic_interface.tscn.

[ ❗ ] Important to read if you are using any alpha [ ❗ ]

If you already have a working project in Popochiu 2 - Alpha X, follow these steps in order to make it work in Beta 1 (thanks to @Whyshchuck for noticing this and for making us realize the importance of publishing this mini-guide):

  1. Delete the popochiu folder inside addons and paste the folder of the updated version.
  2. Here we will explain how to do it with Visual Studio Code on Windows, but you can use any text editor that allows you to replace a text string in all files (regardless of their extensions) within a folder:
    1. Open Visual Studio Code and load the folder containing the project: File > Open Folder... or Ctrl+K Ctrl+O.
    2. Replace the text string res://popochiu in all files with res://game. To do this, you can use Edit > Replace in Files or Ctrl+Shift+H. In the Search field, enter res://popochiu, and in the Replace field, enter res://game. Replace all occurrences with the shortcut Ctrl+Alt+Enter or by clicking the button that appears more to the right of the text field where you entered res://game (the button has a small arrow).
    3. Confirm the action when prompted by the application.
  3. Open the project in Godot, and when it has finished loading, restart the engine. Once the project reopens, you should not see any errors in the Output.
  4. Click on the Setup button at the bottom of the Popochiu dock, and in the popup that opens, choose one of the available templates. The one Popochiu had been using until now is the 2-click Context-sensitive.
  5. Popochiu will copy the necessary files for the selected template. Once it's done, you can continue working on your project.
  6. If you run the game, you should see the game's GUI with the template you selected.

Popochiu v1.10.1

v2.0 - Alpha 5

17 Nov 18:32
Compare
Choose a tag to compare
v2.0 - Alpha 5 Pre-release
Pre-release

Godot v4.0.x Godot v4.1.x

Features

  • Add the can_play_simultaneous property to AudioCue so devs can choose if the audio can be played simultaniously with other instances of itself. It is true by default.

Bug fixes

  • Fix an issue related with the GUI popups when PopochiuSettings.scale_gui is true.
  • Fix Walk sounds: Can't stop the sound.
  • Fix issue with E.hovered when starting the game while the mouse is over a Prop or a Character.
  • Update the History popup so it doesn't use a Window node. The popup is working again.

Popochiu 2 - Alpha 4

10 Nov 20:24
Compare
Choose a tag to compare
Popochiu 2 - Alpha 4 Pre-release
Pre-release

Popochiu 2.0 Alpha 4

Godot v4.0.x Godot v4.1.x

New features

  • Added is_pixel_art_game property to ProjectSettings. When selecting Pixel in Game type (setup popup) the default texture filter is set to TEXTURE_FILTER_NEAREST for props, characters and inventory items.
  • NPC's follows the player when the follow_player property is true. Thanks to @JuannFerrari .
  • Add `v_frames`` property to PopochiuProp.
  • Add settings option to set a pixel perfect game. When true, the cursor moves in whole pixels (thanks to @Whyshchuck ).
  • The cursor sprite doesn't leave the viewport when the mouse pointer leaves the game window.

Fixes

Others

  • Updated the maximum size of the plugin popups in an attempt to improve the UX of Mac users.

Popochiu 2 - Alpha 3

27 Oct 17:30
Compare
Choose a tag to compare
Popochiu 2 - Alpha 3 Pre-release
Pre-release

Godot v4.0.x Godot v4.1.x

New features

  • Now voice variations are defined as an Array of AudioCueSound instead of a String with the base cue name and the number of variations.
  • Added a second parameter to PopochiuCharacter.say() and PopochiuCharacter.queue_say() to send the dialog line emotion.

Fixes

Others

  • Removed old methods with _now suffix by the new queue_ prefix when the methods are intended to be used inside E.queue().
  • Updated README and LEEME with icons to show Godot supported versions and connected Discord users.

v2.0 - Alpha 2

07 Oct 01:39
Compare
Choose a tag to compare
v2.0 - Alpha 2 Pre-release
Pre-release

Popochiu 2.0 Alpha 2 (for Godot 4.0.x, Godot 4.1.x and Godot 4.2-dev)

New features

  • Aseprite importer working for characters. ⭐ Thanks to @stickgrinder
  • Add walk_to_clicked to PopochiuCharacter. ⭐ @vonagam
  • Add optional offset to walk_to methods. ⭐ @vonagam
  • Changed Point by Marker. ⭐ @vonagam
  • Now characters can move in rooms simultaneously.
  • Added Audio settings to toolbar. ⭐ @JuannFerrari

Usability updates from 1.10

  • Added filter text field to tabs so devs can filter the content by row or group name.
  • New "Characters in room" group working in Room tab.
  • Fixed bug errors when trying to access PopochiuDock from creation popups before PopochiuDock is ready.

Fixes

  • #17 #23 #31 #44 #48 #53 #54 #55 #56 #58 #65 #85
  • Sending emotions with E.queue([]) is working:
    await E.queue([
    	"Player(angry): Hola",
    	"Player(angry): Soy",
    	"Player(angry): Goddiu",
    ])
    

v1.10.0

05 May 09:41
Compare
Choose a tag to compare

Popochiu v1.10.0

This update adds a major feature that will facilitate the workflow for those who use Aseprite.

With this update, we will close the cycle of improvements for Popochiu version 1 to focus on version 2, which will work only in Godot 4.

👉👉👉 Check the wiki for more details! 👈👈👈

Fixes

  • #23 characters_cfg no longer exists in PopochiuRoom. Now its state script has a characters: Dictionary property that stores the state of characters in the room.
    At the moment, only position and _looking_direction are being stored.
  • #31 Now rows created in TabAudio are sorted alphabetically when adding new audio files to the project.
  • #44 The bus list in each AudioCue now uses the buses created in Godot's Audio panel.

New features

  • Characters have a built-in animation player and automatically support 8-directions animations for Walk, Talk and Idle states. More animations can be played using the play_animation() function, and they will all support un to eight directions: (up) walk _u, (up-right) idle _ur, (right) grab _r, (down-right) look _dr, (down) drop _d, (down-left) use _dl, (left) push _l, and (up-left) pull _ul. Thanks to @mgdesign for contributing this feature.
  • The new Aseprite importer allows for one-click animations creation and setup for characters. Support for Props and Inventory Items will be added in next versions. Thanks to @stickgrinder and @drbbgh for contributing this feature.
  • Tabs in the Popochiu panel have text fields for filtering objects and groups in each tab.
  • Added a new group to rooms to show the characters inside it, and make easier adding and removing them.

v2.0 - Alpha 1

26 Mar 04:10
Compare
Choose a tag to compare
v2.0 - Alpha 1 Pre-release
Pre-release

Popochiu 2.0 Alpha 1 (for Godot 4.0 stable) Godot v4.0

Popochiu has been preparing for this moment for several months already since the beta versions of Godot 4 started to be released, but with what we achieved in Popochiu 1.9 regarding direct access to game objects from the code editor, and some decisions made regarding file naming, we had to make many changes before we could release this first alpha.

We hope you will help us test it to find bugs and make the official version the best possible.

New features

  • E.run([]) is now called E.queue([]), but you don't need it to queue instructions with that method anymore!!!. You can do that with GDScript 2.0's await.
    func _on_click() -> void:
    	# This much better, right?
    	await C.walk_to_clicked()
    	await C.face_clicked()
    	await C.Goddiu.say('My old toy car...')
    	await I.ToyCar.add()
      	await A.sfx_toy_car.play()
  • If you want to use E.queue([]), you'll need to use the queue_ version of each method:
    func _on_click() -> void:
     # Doing the same in the old way
     	E.queue([
     		C.queue_walk_to_clicked(),
     		C.queue_face_clicked(),
     		'Player: My old toy car...',
     		I.ToyCar.queue_add(),
     		A.sfx_toy_car.queue_play(),
     	])
  • Now on_interact() and on_click() methods in Props, Hotspots, Characters and Inventory items are called _on_click() and _on_right_click(). We made this change because we wanted the plugin to not impose how to identify such interactions. Thanks go to @stickgrinder for bringing this to our attention.
  • The id property of the PopochiuDialogOption returned by D.show_inline_dialog(options: Array) is now a String number starting at 0.
      var op: PopochiuDialogOption = await D.show_inline_dialog([
      	'Hi', 'Hola', 'Ciao'
      ])
    
      match int(op.id): # You can compare the String if you prefer
      	0:
      		C.Goddiu.say("How is it going?")
      	1:
      		C.Goddiu.say("¿Cómo te va?")
      	2:
      		C.Goddiu.say("Come sta andando?")
  • Now the Points node inside each PopochiuRoom is called Markers (because you'll use Godot 4 Marker2D nodes to define positions in the room that can be used to move characters to them). Consequently, the method of the PopochiuCharacter class previously named walk_to_room_point(id: String) is now named walk_to_marker(id: String).

Known issues

  • Code autocomplete when accessing game objects is not working at the moment. We reported this on this issue but we have not yet received an answer. This doesn't happen when accessing the properties and methods defined in the state of those objects.
    # This won't show anything for autocompletion
    C.Goddiu.
    # But here Godot will suggest properties and methods in the state script of the character
    C.Goddiu.state.
  • Setting the project as Pixel or 2D in the setup popup won't have any effect.

Things to come

  • A better system for Dialogs creation. We've discussing this, and in the short-term, each dialog option will have its own script, so you don't have to write a match to evaluate which option was selected.
  • @stickgrinder @mgdesign and @drbbgh have been working on improving the animation system for characters (something that will benefit props and rooms later), and an Aseprite importer for those animations. This component will be available in Popochiu 1.10, and will be part of Popochiu 2.0 too!
  • A tool to handle localization.
  • A better system to customize the graphic interface of the game.
  • More word effects and text transition effects for the DialogText node (the one used to show dialogue lines).