Using Waypoints and More Code Cleanup


It’s been a week since the Jam Beta was released, I hope everyone got a chance to play around with the new feature which allows you to jump to other parts of the linkscape.

In that time I finally got a chance to play around with using waypoints and I’ve got to say it’s kinda fun.

Luckily I didn’t find any app crashing bugs but have found a few rendering issues.

I’ve been working on cleaning up my codebase and writing scripts to improve my release pipeline.

There’s not much in 0.5.1 to be excited about but it should be much more stable.

I still wouldn’t go trusting the app to not obliterate all your hard work so either create regular backups or use version control.

Waypoints (or INSERT BETTER NAME HERE)

To address the elephant in the room, waypoints is not a great name for this new feature but its been forever etched into the source code of LINK to live on to become another quirk of the system.

I actually have a completely different idea that I was working on that slowly morphed into what we have today.

I think this new feature is better called a command, more specifically a goto command.

I’m not exactly sure whether I like how it works now, but I suspect I’ll be maintaining this method for as long as I care to use LINK. But that’s a story for another time.

Alright, let’s restart…

GOTO

Ah, goto. Dare use one and the programming gods will smite you!

But I like them. They’ve got their uses.

In LINK they allow you to jump around to different parts of the linkscape.

I’ve used this new ability to write little stories while working on my notes. I’ve created goto’s to jump to a new section and back or maybe take a little detour.

I was already creating sections within my link files and the best I could manage was creating ASCII lines to point to where I should scroll using large notes (lots of spaces and newlines) to denote the section.

Of course, with goto, I can now just jump to the section in question using an Index or Table of Contents of sorts that I set at the origin of the file (accessed by pressing ESC).

The thing I don’t like about using goto is I think it’ll hamper the natural exploration that could have occurred with a better navigation system.

Think of a fast travel system that gets used so often the places become place on a list with a “boring” barrier preventing progress outside of it.

I don’t disagree with fast travel systems but it’s a powerful tool that will get deluded if used too much.

Bugfixin’ and Cleanin’

This has been a nice relaxing week of not fighting with the code base, trying to get it to play nice.

I’ve inlined another function making my update loop longer and longer but much easier to reason with.

There’s so much state being changed all the time that I like to have a rough idea of when that could have happened.

I’ve noticed some weird render bugs, but I’m putting them low on the priority list. They’re easy enough to work around and it doesn’t affect how the program works.

If you run into the bug where the cursor move away from the text box, just click anywhere on it. As far as I can tell, it only happens when you’re moving around the linkscape anyways so it’s not even that common.

Release Pipeline

As it seems all my projects start, I release it by manually copying files over to the final release directory.

It’s always been a tricky process and something new always surprises me when I’m pressed to release.

As of now, I still have some copying to do, but for the most part it’s as easy as clicking a button. Fast too! Which is important if I want to use it.

One step closer to ensuring the release process doesn’t add any unintentional bugs.

What’s Next?

I don’t have any real plans other than squashing more bugs and cleaning up code to rework some things.

I’ve got various features I’m working on but they depend on accessing specific states to work properly and I’m trying to work out that mess.

There’s a lot of spaghetti to untangle.

I have a few ancillary tasks I could be working on as well. Those don’t have any strong deadlines so I’ll get to them if I get to them.

Otherwise, I’m probably just going to continue playing with LINK, a great way to discover bugs and features.

Files

LINK! version 0.5.1 3 MB
Jul 23, 2021

Get LINK!

Leave a comment

Log in with itch.io to leave a comment.