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
idproperty of thePopochiuDialogOptionreturned byD.show_inline_dialog(options: Array)is now aStringnumber 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
stateof 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
matchto 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).