Releases: carenalgas/popochiu
v2.0.2
Popochiu v2.0.2
Our second dot release of Popochiu 2 is here! What a great way to end the year, isn't it? This version fixes numerous bugs, adds polish to the plugin, and introduces exciting new features and capabilities.
One of the highlights—and something we're particularly proud of—is that no errors will appear when adding the plugin to a project, and it's no longer necessary to restart Godot to start using it. Yikes!!!
Fixes
- Fixed an issue with loading saved games after a change related to storing the
walk_to_point
andlook_at_point
of characters. - The "Gibberish Spoken Text" feature in
Project Settings > Popochiu > Dialogs
is now working. R.get_prop()
is now functioning correctly in all scenarios.PopochiuCharacter.walk_to_clicked()
has been improved to handle edge cases more reliably.- Fixed issues with DialogText components aligning dialogue lines, especially when adding colors (thanks to @BenjaTK).
- Actions in
PopochiuRoom._on_room_entered()
now execute before the room is drawn to the screen. - @balloonpopper fixed a bug causing the inventory in the SimpleClick GUI to play its close animation twice when clicked quickly.
- @balloonpopper also resolved a double call to the function that closes the Save & Load popup when saving the game.
- @balloonpopper removed some warnings in Popochiu classes, and @edmundito fixed various spelling errors.
Improvements
- When Popochiu is added to a project, no errors will appear in Godot's Output, and developers won't need to restart the engine to use the plugin.
- Thanks to @balloonpopper, character movement now checks their facing direction more effectively, improving animation selection.
- @balloonpopper also optimized how characters process their animations while moving.
Final Notes
That's all! Everyone working with 2.0 is encouraged to update and enjoy a more polished and capable version of our beloved plugin.
v2.0.1
Popochiu v2.0.1
Say hello to the first dot release of Popochiu 2. This version fixes many bugs and adds polish to the plugin, also adding some new features and capabilities.
Fixes
- Changing to a room containing a broken hotspot does not crash the game.
- Hovering a hotspot after an unmanaged click keeps showing the hotspot cursor..
- Skipping cutscenes by pressing
ESC
now removes the transition layer automatically. - Removed type-related critical error from Sierra GUI.
- Fixed
vframe
calculation for Prop's current sprite frame (thanks @edmundito) - Walkable Area stays visible in most cases when the related editor option is selected.
- The Transition Layer now awaits the room setup, even if it's very long
- The Transition Layer now works at any resolution
- Fixed error on invalid room name (thanks @balloonpopper)
- Fixed inventory item no longer active after use (thanks @anthonyirwin82)
- Fix erraneous use of E instead of I when triggering inventory right click (thanks @edmundito)
New features
- Added play/stop/pause/resume animation functions to Props (thanks @anthonyirwin82)
- Added option to play the Transition Layer in the first room, when the game starts
- All clickable objects in a room now have a
look-at point
(with it's gizmo) the player will turn to when invokingface_clicked()
(thanks @drbbgh) - Text shown via
E.run()
array is now displayed as system text if no character is specified (thanks @edmundito) - Props now support both horizontal and vertical spritesheets (thanks @edmundito)
Other
- Fixed the docs deployment automation to export scripting reference
- Fixed all relative links in the documentation (thanks @anthonyirwin82)
- Added useful information about the contribution toolchain, room-changing, Popochiu singletons and more to the documentation (thanks @anthonyirwin82)
- Fixed broken link in the project's README (thanks @XaverStiensmeier)
Important to read
This version does not introduce breaking changes, but updating will run a migration to set the look-at point
for all clickables in every room (the position will be the same as the walk-to point
, with a slight offset on both axis so the gizmos won't overlap).
As always please, backup/commit your code before upgrading!
Final notes
We decided to shift Popochiu’s release cycle from a milestone-based approach to a cadence-based model, so that fixes, new features, and updates are released as soon as they’re ready. We also want you to upgrade your projects in small, frequent increments rather than having to face large and painful changes.
To support this model, we ditched the good old milestones and opened a GitHUb project, which board reflects the current status.
Keep an eye on the Backlog
and Ready
columns to see what's coming next.
That's all. Everyone working with 2.0 is encouraged to update and enjoy a more polished and capable version of our beloved plugin!
v2.0.0
Popochiu v2.0.0
[wave]We've finally reached this point!!![/wave] After (more than) a year of hard work, and a lot of broken promises, Popochiu 2.0 is stable.
Fixes
- A crashing bug when characters with no audio files for their voice said something, and a bug in the PopochiuDialogMenu when trying to update it number of options..
- The Room tab, which was showing additional rows with weird names.
- Game wasn't being saved and loaded correctly.
- It was not possible to use inventory items on objects.
- Modified options in Project Settings > Popochiu were being hidden.
- Adding inventory items "on start" wasn't working.
- A was not being updated when deleting AudioCues from the FileSystem dock, or when they were inside the folder of a deleted Popochiu object (room, character, and so on)..
- The cursor of the active inventory item was dissapearing after using the item.
- Props with animations imported from Aseprite jump around at scene load.
- Thanks to @ArturM the GIVE command in the 9 Verbs GUI is working as expected.
- Changing the
clickable
property of PopochiuClickable objects wasn't working in runtime. - Looping WAV files wasn't possible.
New features
- Inventory items now fit the height of the InventoryBar or the slots of the Inventory Grid.
- Add properties to InventoryBar and SettingsBar so one can define if they should hide when the GUI is blocked (this was previously part of the Project Settings > Popochiu > GUI section).
- TransitionLayer now uses a Control node to block interactions when a transition is playing.
- PopochiuClickable clicks are ignored if a dialog is running.
- ⭐ We made a HUGE refactor of E (
popochiu.gd
). Functions related to the camera are now in the PopochiuMainCamera class, functions related to the rooms are now in R (i_room.gd
), and the same for other things related to specific objects. - ⭐ Thanks to the seminal contribution of @drbbgh, now Popochiu has custom gizmos for different properties. Including one for the position of dialogs in characters. New gizmos will come in future versions to improve UX while working in the Editor.
- We also refactored the class that renders Popochiu objects as rows in the Popochiu dock (PopochiuObjectRow) making the dock easier to improve, fix, and mantain.
- Started as a feature proposed (and initially coded) by @anthonyirwin82, now we have a migration tool!!! that will help devs who started their projects in alpha and beta versions to update to the release version. In future releases this tool will help us make sure (almost) everyone will be able to use the last stable version of the plugin without losing their work or being stuck with an old version.
- You can use the
_on_move_ended()
in PopochiuCharacters function to handle logic when it ends its movement. - Defining the camera limits for rooms is easier now thanks to the new
width
andheight
properties. - Thanks to @mefjak you can now enable gibberish text options in Project Settings > Popochiu > Dialogs. This is useful if you want to share screens or clips of your game without giving away important clues or dialog parts that may ruin the players' experience.
- All the GUIs look more coherent now, and we made sure they share the same scene and components structure to make them easier to understand. We also restructured and decoupled all the components to make them easier to upgrade in future releases.
- The TransitionLayer was updated to improve how it adapts to the game native resolution and the new retro-pixel default one: 356x200.
Other
- You can post Proposals when creating an issue for the project.
- We documented how to use our GUI templates.
[:exclamation:] Important to read [:exclamation:]
If you already have a working project in Popochiu 2 - Beta X, you'll need to do a couple of things once the migration tool finishes its job:
- The Setup popup should... pop up (heh!) for you to select a GUI. Now we have only three options - we removed the
Custom
option until we rework some bits. - Select the GUI you want for your game, then click OK. The GUI will be copied again to the
res://game/gui/
folder (we made some changes and that's the reason why you'll need to do this). - Now the game's GUI will be in that folder, and you should delete the old
res://game/graphic_interface/
folder. Expect some errors in the output panel - it's normal and they will go away as soon as you remore thegraphics_interface
folder! If you made custom components or changes to the code, you'll have to copy them to the newres://game/gui
folder manually. Take into account that your custom code should probably go in the scripts that end with_custom.gd
. - That's all.
v2.0.0-beta3
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
settrue
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()
andPopochiuCharacter.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.
- How to use a Region to scale characters depending on their
v2.0.0-beta2
Popochiu v2.0.0 - Beta 2
This update has UX improvements and bug fixes.
Fixes
- Character InteractionPolygon is reset when reloading Aseprite file or running game.
- Cursor loses its texture when leaving the inventory.
- Portrait mode for dialog lines is not working.
- Engine crashes when changing the focus of the window.
- Can't block interactions.
- The screen blinks before moving to another room.
- Hover text and Cursor are wrong after interaction.
- Release pipeline is broken.
- Popochiu shows the process of copying the GUI template when loaded for the first time.
New features
- Now players can cancel an interaction when
C.walk_to_clicked()
orC.CharacterScriptName.walk_to_clicked
is called.C.walk_to_clicked_blocking()
andC.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
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
- Moved the fix done in Popchiu 1.10.1 for #154 Characters that start with C are not correctly listed in the Characters in room section.
- Exporting the project wasn't working properly do to a typo in the code.
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):
- Delete the
popochiu
folder insideaddons
and paste the folder of the updated version. - 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:
- Open Visual Studio Code and load the folder containing the project: File > Open Folder... or
Ctrl+K Ctrl+O
. - Replace the text string
res://popochiu
in all files withres://game
. To do this, you can use Edit > Replace in Files orCtrl+Shift+H
. In the Search field, enterres://popochiu
, and in the Replace field, enterres://game
. Replace all occurrences with the shortcutCtrl+Alt+Enter
or by clicking the button that appears more to the right of the text field where you enteredres://game
(the button has a small arrow). - Confirm the action when prompted by the application.
- Open Visual Studio Code and load the folder containing the project: File > Open Folder... or
- 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.
- 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.
- Popochiu will copy the necessary files for the selected template. Once it's done, you can continue working on your project.
- 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
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 istrue
by default.
Bug fixes
- Fix an issue related with the GUI popups when
PopochiuSettings.scale_gui
istrue
. - 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
Popochiu 2.0 Alpha 4
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 istrue
. 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
- Audio Cues: Checking "loop" renders sound silent. Thanks to @JuannFerrari .
- Setting an inventory item as active with add_as_active makes the cursor take the appearance of the item.
- Devs can select items to start with in the Main tab.
Others
- Updated the maximum size of the plugin popups in an attempt to improve the UX of Mac users.
Popochiu 2 - Alpha 3
New features
- Now voice variations are defined as an
Array
of AudioCueSound instead of aString
with the base cue name and the number of variations. - Added a second parameter to
PopochiuCharacter.say()
andPopochiuCharacter.queue_say()
to send the dialog line emotion.
Fixes
- Dialog not appearing where the marker is.
- Cannot move WalkToHelper with mouse.
- Cannot Idelete elements from the Popochiu dock.
- Downloading graphical interface files error.
- Issues with playing multiple sound effects.
- Audio cues: can't change pitch setting.
- (partial) Problems with Stretch properties.
- Crash when using camera_zoom.
- Updating the ID of dialog options no longer makes the text to write backwards in the Inspector.
Others
- Removed old methods with
_now
suffix by the newqueue_
prefix when the methods are intended to be used insideE.queue()
. - Updated README and LEEME with icons to show Godot supported versions and connected Discord users.