Releases: carenalgas/popochiu
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.
v2.0 - Alpha 2
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
v1.10.0
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 acharacters: Dictionary
property that stores the state of characters in the room.
At the moment, onlyposition
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
Popochiu 2.0 Alpha 1 (for Godot 4.0 stable)
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 calledE.queue([])
, but you don't need it to queue instructions with that method anymore!!!. You can do that with GDScript 2.0'sawait
.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 thequeue_
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()
andon_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 thePopochiuDialogOption
returned byD.show_inline_dialog(options: Array)
is now aString
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 namedwalk_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).