Popochiu 1.2.0


Puedes leer la versión en español más abajo ⊂( ・ ̫・)⊃ .

So many things...

  • Added the Popochiu prefix to all core objects: PopochiuRoom, PopochiuCharacter, PopochiuInventoryItem, PopochiuDialog, etc.
  • Removed class_name from a lot of scripts to use preload() instead.
  • Triggering a character to say something can now have an emotion:
E.run([
    "Player(angry): I don't need your help!",
    'Betty(sad): Wha... what? Why are you so angry?',
    'Player: Leave me alone!'
])
  • Characters can face a clicked node: C.face_clicked()
  • You can use E.runnable(n: Node, f: String, p: Array, signal: String) to allow other functions to run in sequence for E.run(i: Array):
func on_interact():
    E.run([
        C.walk_to_clicked(),
        # The do_the_moonwalk function doesn't need a yield() at
        # the start to run in E.run()
        E.runnable(self, 'do_the_moonwalk', [128.0], 'completed'),
        'Betty: hahahaha... that was funny',
        'Player: I knew you would like it'
    ])
func do_the_moonwalk(distance: float) -> void:
    $Tween.interpolate_property(
        C.player, 'position:x',
        C.player.position.x, C.player.position.x - distance,
        3.0
    )
    $Tween.start()
    yield($Tween, 'tween_all_completed')
    C.player.position.x += distance
  • PopochiuCharacter doesn't handle animations now. That is in charge of developers through a virtual function.
  • Added an option to the Inventory items menu in the dock to make items be on the inventory at start.
  • Improvements in how the z_index of Props changes when a character is moving through the room. Now it is based on the base_line of each Prop.
  • Props, Hotspots, and Regions can be deleted using the Room tab in the dock.
  • The Inventory and Toolbar scenes are less complex in structure.
  • InventoryContainer now is just Inventory.
  • Inventory items' scene is just a TextureRect now.
  • Inventory item shows the script_name if not description found. This solves an issue when moving the mouse over items without description.
  • A lot of comments have been translated to English.


Un montón de cosas...

  • Se agrega el prefijo Popochiu a los objetos del núcleo: PopochiuRoom, PopochiuCharacter, PopochiuInventoryItem, PopochiuDialog, etc.
  • Se quitan los class_name de varios scripts para en su lugar usar preload().
  • Se puede hacer a los personajes decir cosas con una emoción:
E.run([
     'Player(angry): ¡No nito tu ayuda!',
     'Betty(sad): ¿Qu... qué? ¿Por qué estás tan enojado?',
     'Player: ¡No me molestes!'
])
  • Los personajes pueden mirar en la dirección del nodo al que se le hizo clic: C.face_clicked()
  • Puedes usar E.runnable(n: Node, f: String, p: Array, signal: String) para que (casi) cualquier función pueda correr en una secuencia de funciones de E.run(i: Array):
func on_interact():
     E.run([
         C.walk_to_clicked(),
         # La función do_the_moonwalk no necesita un yield() al
         # inicio para que se ejecute cuando lo toque
         E.runnable(self, 'do_the_moonwalk', [128.0], 'completed'),
         'Betty: hahahaha... eso fue gracioso',
         'Player: Sabía que te gustaría'
     ])
func do_the_moonwalk(distance: float) -> void:
     $Tween.interpolate_property(
         C.player, 'position:x',
         C.player.position.x, C.player.position.x - distance,
         3.0
     )
     $Tween.start()
     yield($Tween, 'tween_all_completed')
     C.player.position.x += distance 
  • PopochiuCharacter ya no se encarga de las animaciones. Ahora se llama a unas funciones virtuales que las desarrolladoras pueden sobrescribir a su antojo.
  • En las opciones de los objetos de inventario en el panel principal se agregó una opción para marcarlos como Start with it. Eso hace que aparezcan en el inventario cuando arranca el juego.
  • Se hizo una mejora en la forma en la que se calcula el z_index de los Prop cuando un personaje se mueve por la habitación. Ahora el cálculo se hace en base al base_line de cada Prop.
  • Las Props, Hotspots, y Regions se pueden eliminar usando el menú de cada una en la pestaña Room.
  • Las escenas de Inventory y Toolbar ahora tienen una estructura muchísimo menos compleja.
  • InventoryContainer ahora es Inventory.
  • Los objetos de inventario ahora son un TextureRect.
  • Los objetos de inventario muestran como descripción su script_name si no se ha definido algo en la propiedad description. Esto resuelve en error que estaba sucediendo en objetos de inventario sin descripción.
  • Un montón de comentarios de código ahora están en Inglés.

Files

popochiu-v1.2.0.zip 635 kB
Apr 28, 2022

Get Popochiu - Godot point n' click engine

Comments

Log in with itch.io to leave a comment.

(+1)

Yesss! Still out of the Godot world (finishing a game with Unity atm) but Popchiu will be my entry point to this new Engine :)

Happy to see work on this is going ok, can't wait to discuss this on a Discord or whatever so I can get involved and better understand where the engine is heading to!

Thanks for all your hard work mate!

Wooooo!

It makes me quite happy to know there are people interested in Popochiu. I promise I'll create a Discord for the project in the following days. I've been busy working on the documentation, fixing bugs and my freelances (capitalism!!! yeeeyyyy ( ノ; u ;)ノ ).

Thank you so much for your comment ꉂꉂ ( ˆᴗˆ )

Haha, no problem mate, take your time. I myself cannot jump directly onboard in the next weeks, too busy finishing my first game (with PQ), but very eager to learn more about Godot and your project!
PQ is a great engine but I'm not that fond of Unity. This "port" gives Godot a great asset for adventure makers! I know Escoria is a thing now but I'm so much into PQ's workflow and "porting" what I know to a new engine makes everything smoooooth.
Plus it's on Github, which makes contributing simpler ;)

Just keep up the great work, there is space for Popochiu in the indie world!

I'm looking forward to see what you will make with Popochiu. That last sentence almost brought tears to my eyes (from emotion!). Thank you so much for your comments.

And... I finally created the Discord server: https://discord.gg/Frv8C9Ters

I'll try to keep members informed about daily updates on the Wiki or the development. And of other personal projects (games) I'm working on.