Version 0.11.0


I LIVE!

In related news, a new version of the Pink Engine is out. I'll admit that I completely underestimated the work that it would take. 

Last Februari, the first game that made use of the Pink Engine was published. It was called Deep Sea Valentine. It received a lot of decent feedback, but one returning point of critique was that the pink engine wasn't up to snuff. It was slow, and not always the most responsive. And let's be fair, the critics were entirely right on this. So I dug back into the very core of the pink engine code, trying to figure out a way to make it run better. 

And I needed to dig deep indeed. I had to essentially rewrite all rendering code. And since I was doing such a huge code revision anyway, I thought "Hey, while I'm at it, why not implement this thing I've wanted for a while now?" This resulted in a classic case of scope creep. The end result of this is that I ended basically rewriting the entirety of the Pink Engine from scratch. On the upside, the rendering code and the gameplay code are now wholly isolated from one another, which means that maintaining my code should be much easier. In the newly added test Hallway C, you can see a couple examples of non-orthogonal maps being rendered without any attached gameplay. 

Before we move on to new features, we should get some important notes out of the way on code compatibility between this version and previous pink engine versions. 

Firstly, the pink_otm_control_context variable no longer exists. All it did was cause confusion which function was part of the map, and which function was part of the control context. All variables and functions that were part of the control context object are now part of the map object, so all references to pink_otm_control_context  should be replaced with pink_otm_current_map. 

Secondly, you can no longer find control_schemes and interaction_schemes in the pink config file. Rather than relying on a small number of preset control schemes, you can now specify the functionality per key. This can be done through the 'pink_otm_key_down_functions', 'pink_otm_key_up_functions', 'pink_otm_key_held_functions' and 'pink_otm_movement_keys' functions, which can be found in orthogonal_tiled_map.rpy.

Now, let's talk about all the new features.

The first of these is object scaling. Just change the size of an object in Tiled, and the Pink Engine will follow suit. The base scales along with the image itself. Do note that scaling currently only works for objects, and not for sprite collections. Test Room B16 was added to demonstrate this new functionality.

The second exciting new feature is continuous events. This is a new class of events that does not interrupt the map. All objects will remain in motion as they were prior to the start of the event, unless interrupted. Test Room A12 was updated to demonstrate this new functionality, showing the contrast between the three types of events. 

Third, you are now allowed to end an event with a go_to_map statement. Couple this with the pre-existing conditional statements and touch events, and this means that you can fluently chain together events on different maps. Test Room B17 was added to demonstrate a simple case of this new functionality.

Fourth, a new property was added to objects: 'default_interaction_stack'. This property allows you to specify behavior for an object when interacting with it triggers an event. This property is meant to be an expansion of the 'turn_on_interaction' property of previous versions, and offers significantly more options. For the sake of compatibility, this property currently maintains the default behavior of 'turn_on_interaction' in previous versions. 

Pressing a movement key while holding alt now causes the player character to turn in place. This behavior can be disabled through the pink_otm_alt_turning_enabled variable. 

A new control_command 'turn_to' was added, which makes the sprite collection that consumes it turn towards a given object or coordinate. Test room A17 was expanded to add two NPCs who demonstrate this functionality. 

Detection for touch code and events was overhauled. Now, every object checks its own touch on the completion of every movement.

Zooming can now be done seperately for the x and y axes. Combine this with smooth zoom for positively trippy effects. The fourth computer in the test hallways has been updated with some settings to demonstrate this new functionality.

Four new properties have been added to the pink_config: pink_otm_default_viewport_x_offset, pink_otm_default_viewport_y_offset, pink_otm_default_viewport_width and pink_otm_default_viewport_height. These properties allow you to change the size and position of the pink engine viewpower, so that it only covers a specified portion of the game screen.

Finally, there's also been a bug fix, and the pink engine development screen should no longer cause any errors when looking at the orthogonal_tiled_map, sprite_collection and tileset pages.

Files

pink_engine-0.11.0-pc.zip 103 MB
Aug 15, 2021
pink_engine-0.11.0-pc-empty.zip 83 kB
Aug 15, 2021

Get Pink Engine

Leave a comment

Log in with itch.io to leave a comment.