Version 0.11.4


Hey everyone. I'd like to welcome you all to the 'get chased by minotaurs' update. This update was inspired by a discussion on the discord, where a user wanted to make a horror game wherein the player was chased. Since this is a relatively common gameplay formula for this type of games, I decided to implement it immediately. To do this, I had to implement two new functionalities.

First, I implemented a new type of control command: `go_to_smart`. This is a go_to command that makes use of pathfinding to determine the route to its target. The algorithm it uses to determine this path is a variant of the A* algorithm that has a slight preference for straight lines, and a customizable maximum look distance. This look distance can be customized through the new `max_path_length` command property. If it can't find a path within this distance, it will instead use the path that gets its closest to its intended target and then calculate a new path. The command is only consumed once the object reaches its destination, unless `pop_invalid_move` is set to True. Test Room A22 was added to demonstrate this functionality.

Secondly, it was made possible to trigger an event by having an object move onto the player's coordinate rather than the other way around. To make a movement that can move onto a coordinate occupied by a specified other object (such as the player), you can make use of the new control command property `ignore_elements`. This is a list of ref_names the object will ignore the rules of in its movements. Setting this to `['pink_otm_current_pc']` allows an object to move onto the player's coordinates, for instance. In addition, to ensure that an event is immediately triggered, the new boolean `check_touch_every_frame` object property was added. This ensures that an object checks whether it is touching the player every frame, rather than only on completion of a movement.

In addition to the new functions, there were also some bug fixes. The big one was a major issue with using the `leave_otm` to switch to regular ren'py, and then returning to pink engine gameplay with any function other than `return_to_otm`. This would cause a fatal error. This issue has been fixed, and I've expanded the test routine to ensure this one won't happen again. Switching between regular ren'py and pink engine should be entirely free, and you should be able to use as much or as little pink engine as you want. 

The minor bug fixes include an issue where the the control command property `prev_coords` was set to True by default, causing characters to move to the square behind the player, rather than to the player, and a graphics issue where followers would get all jittery if the player character switched sprite collections.

I also did a minor bit of housekeeping, ensuring that the character sprite collections were lined up more properly, and that the sample tileset was created using the updated autotile translator (so it would match the functionality from the updated tutorial). 

Up next, I'll do some work on parallel processes. 

Files

pink_engine-0.11.4-pc.zip 105 MB
Oct 12, 2021
pink_engine-0.11.4-pc-empty.zip 92 kB
Oct 12, 2021

Get Pink Engine

Leave a comment

Log in with itch.io to leave a comment.