Wormhole - An Owlbear Teleport Functionalities Extension banner

Wormhole - An Owlbear Teleport Functionalities Extension

4 devlogs
14h 46m 17s

A extension made for Owlbear Rodeo, an online platform for tabletop games.
This extension is a attempt at making a solution for teleports situations in game sessions. While there is a extension named “Portals” for the same purpose, I wanted to try recreating it’s logic and increment on it.

Loading README...

toderodavi

WIP for the next update!

Features

  • One way teleports can be created!
  • Two way teleports are still here!
  • Toggle that shows all wormholes hitboxes and directions!
    … And you can’t actually disable the toggle. I mean, it’s the intended feature, right…?
1

Comments

toderodavi
toderodavi 20 days ago

For anyone who may be interested in why the hitboxes squares were ‘leaking’ out of their respective wormholes shapes:
$
Owlbear Rodeo is completely built in HTML, CSS and JS. This allows a variety of things to be created, as my extension itself uses Typescript and React (I can even display React components into the tabletop!)
$
Every element in HTML have a position. This position refers to the element top-left corner (x,y) pixel position.
$
As scene items in owlbear takes from HTML, an element position in the scene will also be it’s top-left corner.
$
The problem is that… a circle doesn’t have a ‘top-left’ corner, nor a shape composed of various points (as the ones in the top). Because of this, you need to take some more steps (eg. calculating the centroid of the shape) to get a usable position.
$
Anyway, their hitboxes shouldn’t be like that - will be fixing them for the next blog!

toderodavi

Character token made by: t8y

As the first actual blog for the project, I wanted to give some insight on why I took 10 hours to achieve a simple teleport function and expand on ‘why’ of the project.

Features

  • Select two Items in the scene to ‘link’ them, creating a wormhole.
  • Drag an Item to a wormhole and it will be teleported to the other side of it.

The 10 hours

Unknown to me, Owlbear SDK hasn’t been updated in more than a year. Not only, but the tools provided by it are far from extensive. In other words - they don’t really give proper tools to create a teleporting functionality and the documentation for the SDK… barely holds itself together. It’s pretty much “here, take those functions!” and you figure the rest yourself.

So yeah, the 10 hours spent where trying to figure workarounds the limitations of the SDK and fixing unexpected bugs. It also was a huge test of my typescript knowledge, as I had to back track a lot on the progress of implementation because of typescript screaming that I was typing things wrongly…

Why all this trouble if out there is the Portals Extension?

Well, the GM of the table I’m currently playing stated to me how Portal was ‘buggy’, not working as intended. As I had no idea for a project for this event, I suggested I could give it a try on remaking it.

Ironically or not, in those 10 hours I happened to understand why the errors she spoke about are happening on the Portal Extension, as they also are happening on mine. It goes back to what tools the SDK provides and their respective limitations.

Next updates

I plan to add visual cues about what Items are linked to what and other visual feedbacks so the experience of creating wormholes is overall better and intuitive, as well the option to create one-way wormholes. All in all, the next devlog may be the last for this project.

Bye bye!

1

Comments

toderodavi
toderodavi 22 days ago

Repost with the video attached!

toderodavi

Initial work on the extension.
This commit was mostly testing with the API features and getting a understand of the Owlbear SDK.
I probably will have to delete everything made up until now to recreate the project in typescript.

Images: Showcase of the implemented tool (simple line tool for testing)

Attachment
Attachment
0