ambiera logo

Ambiera Forum

Discussions, Help and Support.

folder icon Ambiera Forum > CopperCube > Announcements and Showcase
forum topic indicator CopperCube Narrative Toolkit
person icon
okeoke
Registered User
Quote
2025-12-30 13:36:09

Hey,

Just release a beta version of my narrative toolkit. The kit contains 5 extensions. Together they work as a player-environment interaction system. The idea is to make it simple and modular, so it is possible to build complex scenarios from small bricks.

In short, from the developer's perspective you execute "Register Interactable Manager" action before the scene loaded. Then you add "Register Interactable" behavior to the nodes that a player needs to interact. From here you can specify messages that are being shown and also actions that needs to be executed if player interacts with the node.

I think it is particularly useful walking simulators but will also work in any kind of FPS game.

Download:
https://zeicmann.itch.io/copperc...

Showcase/tutorial:
https://youtu.be/UhrDJOn3-hM

Feedback is appreciated as usual.

person icon
guest
Guest
Quote
2025-12-30 19:22:39

embedded external image
🔎︎


person icon
okeoke
Registered User
Quote
2025-12-30 20:20:52

Though I don't like you (and like your mother) that's actually a good point. I need to raycast to world first. If there is a collision point - check bounding box collision to that point, not to the detector position generally used. Thankfully it's only one additional raycast.

Thank you - good spot!

person icon
okeoke
Registered User
Quote
2025-12-30 20:33:19

Fixed files uploaded to itch.

person icon
guest_Sam
Guest
Quote
2026-01-01 00:00:49

Looks cool Oke :)

person icon
artslay
Registered User
Quote
2026-01-04 18:41:44

I trying understand what is mean
interactablesManager.unregisterInteractableRelatedToNodeName
in action_OkeokeRegisterInteractablesManager can you explain please? I cant find this in documentation

person icon
okeoke
Registered User
Quote
2026-01-04 19:45:58

So, this interactablesManager is basically a singleton object. It has a bunch of methods that are executed every frame including the one called "checkInteractables". This is sort of a main method that checks if player is close enough to interactable, is looking into interactable bounding box and also if action button is pressed. It checks every interactable by looping through the array:
        for (var i = 0; i < this.interactableHandlers.length; i++) {
var interactable = this.interactableHandlers[i];
if (!interactable || interactable.isInactive) {
continue;
}
...

It also has that check that in case interactable has flag isInactive set to true the interactable is skipped.

unregisterInteractableRelatedToNodeName sets that flag to true for all interactable actions related to a scene node with a specific name. So they will be skipped and not be checked again unless re-registered. For example, if switch from that scene to another scene and then back.

It is soft of a soft delete, since I believe, setting flag like that is better for performance than using slice or rewriting the array.

person icon
okeoke
Registered User
Quote
2026-01-04 19:49:39

Do you have a specific scenario in mind there you need to unregister an interactable? If so, let me know - I'm looking to extend the tool kit, since it is really limited now, and input like that would be helpful for me. I can either create a dedicated action for it or suggest how you can use the existing ones.

person icon
okeoke
Registered User
Quote
2026-01-20 23:02:05

Hey,

Just updated the tool kit.
https://zeicmann.itch.io/copperc...

Change log:
- Renamed "Narrative Toolkit" to "Narrative Kit". Also updated all extensions to start with NK instead of okeoke. First demo is updated with new extensions (at least I think so).
- It is now possible to show icon instead of text on node interaction helper. Check "Show Icons DEMO" for demo.
- Fixed an issue with node being able to detect nodes with enabled collider properly
- Added "Give back control" action. It's only purpose is to switch back to player controlled camera from static camera
- Added versioning to prevent issues in case breaking changes are introduced in future

A lot of stuff is renamed so it's better to download the whole new version and replace the old extensions. It will not be the case anymore since I'm going to stick to the new name, and also all extensions will be versioned from now.

I'm still working on it. Currently I'm adding new extension that allow creating sequence puzzles without coding. Like keycodes for example:
embedded external image
🔎︎

It is "almost" done.

person icon
okeoke
Registered User
Quote
2026-02-04 22:18:07

Another update to Narrative Kit.

Demo:https://youtu.be/BpsbmCOUIX0

Keycode extension is a bit delayed:) So I tested it a bit more and found some more bugs in interactions manager, which make sense to fix prior to adding more functionality on top.

So this time it's BETA 3:
* Bug fixes
* Some more helper extensions that are not documented: "Bulk hide/unhide nodes", "Shake Node" action, "Play sound from node" action, and etc
* New demo. This time it is a "Routing puzzle". Basically, you need to clean some stains with a mop.

Narrative Kit link:https://zeicmann.itch.io/copperc...
Variable editor:https://zeicmann.itch.io/copperc...

I'm looking into:
* more testing and bug fixes/improvements
* more demoes
* a way to start proper documentation
* finalizing KeyCode extension and also some shaders

person icon
okeoke
Registered User
Quote
2026-02-07 22:28:36

Updated doc for Narrative Kit here https://alxvn.github.io/nkdocs/

person icon
blackwater
Registered User
Quote
2026-02-15 21:29:54

This is a really valuable tool. I love the work you put into this okeoke!

person icon
okeoke
Registered User
Quote
2026-02-16 09:59:11

Hey @blackwater, thanks for the quite words.

person icon
luposian
Registered User
Quote
2026-02-19 03:32:52

My "Revisit" of The Quest is still available. Would this narrative tool help in that regard? I wanted to use Just In Case's Novel Engine, but got stuck trying to figure out how to make the sound/music work right and stopped working on it.

person icon
okeoke
Registered User
Quote
2026-02-19 06:35:00

I don't think it can help unless you want to convert it to FPS game. In case it's a novel kind of game you better stick to Novel Engine or use RenPY or similar tools.


Create reply:










 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


icon_holyicon_cryicon_devilicon_lookicon_grinicon_kissicon_monkeyicon_hmpf
icon_sadicon_happyicon_smileicon_uhicon_blink   






Copyright© Ambiera e.U. all rights reserved.
Contact | Imprint | Products | Privacy Policy | Terms and Conditions |