github carenalgas/popochiu v2.0-alpha1
v2.0 - Alpha 1

latest releases: v2.1.1, v2.1.0, v2.0.3...
pre-release3 years ago

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).

Don't miss a new popochiu release

NewReleases is sending notifications on new releases.