The Organization

Got the Covid Results back, in exactly 24 hours, with a negative. So that is a huge relief.

Just spent way too much time trying to figure out how to implement both a tagging system and some way to transclude a group of tagged articles into an arbitrary location in the blog. I got basic tagging done, the code would pull out all articles which had something like #myTagString in them. Then i could also use something like transclude:<tagname>, and it partially works. It works for the "main" blog, but trying to get that to work on pages was a no go. Also, trying to auto-link the tag and make individual "tag" pages, was something that i didn't even try to do.

Unsurprisingly, it is a harder feature to implement than i first thought.

Really? Again?

Next steps on the game that has no name, aka tgthnn (this actually sounds, well, reads, like something a dark being would utter while casting a horrible spell on you). I think probably a map, and player movement on the map. It is going to be turn based, and tile based. And multiplayer. And Roguelike. First steps first. A basic map of walkable tiles, and character controllers that obey the map. I already got the network connecting and shit like that, so map and better player controller is next. Have been re-reading some of the Rogue Basin articles. I am still very taken by the Dijkstra Maps stuff, and would like to integrate it into whatever AI thing i'm going to make.

Also time, and how turn based gameplay can work for multiplayer. Ages ago there was an article about Surreal Time for a roguelike, and i have been forever smitten by its ideas. Sadly it is either gone from the interwebs, or my google-fu can not draw it forth from the bowels of google, so i have will just go with what i remember about it. Each player has their own "local time", and NPCs are assigned to a player's "time" based on whatever rules you'd like. To begin with it would likely be distance to player, but also interactions with player, etc etc. This way one player on a level is not stuck waiting for another player to take their turn. I will also be starting with the easiest time system, where everything takes the same about of time, and we just loop through all the entities over and over.

A critical thing to keep in mind for me, is to not over scope any individual bit of this process, if it is to have any chance of success. Super simple steps, one at a time. The simplest thing that will work.


Spent 4 hours yesterday waiting in a Covid testing line. Was so wiped out by the stress and stressful-boredom that i crashed at like 7pm last night. Now we wait for the results. This is for Rory, and i am reasonably sure it is just a cold, but, in these times, you have to be sure. And the TDSB sure does not want him unless we are sure he doesn't have it. The guidelines state that other folks in the house do not have to isolate while waiting for the results, which is good for the rest of us. I mean, i work from home, so not much difference there, but for everyone else it is better.

via selfie2anime

Rory as anime character... All mine look like some kind of abstract nightmare.

A funny thing. I have a "devlog" that I do for work, very similar to this, one big text file per month. And every day I write into it throughout the day. But I write later in time, later in the day, items below earlier in the day items. This is just how it developed. Which is backwards from most blogging, as generally you want or expect the newest writing to be at the top. I just realized that I have been writing here in my devlog way, and I should really convert to the traditional blog format. Just another reminder as to how long it's been since I blogged.

Got the syntax highlighting working via Prism, very easy. Nice! Here is an example of some code from the Flow project.

namespace Flow
    // Only for other, non flow classes, that would like to supply custom name info for display on the flow Game Objects.
    public interface IFlowName
        string flowName { get; }
    public abstract class FlowBase : Flow
        public void BaseComplete()
    public abstract class Flow : MonoBehaviour
        [Tooltip("Because the Game Object name is dynamically set, this is where you can customize it.")]
        public string _name;

        [Tooltip("This is triggered when the item's Complete() method is called. For example, after a delay, or when all child objects have themselves completed.")]
        public UnityEvent OnComplete;

Bouldering In The Glen

Have been planning a trip to the Niagara Glen to do some bouldering with my climbing buddy Kristjan. Got the permit and waiver. We even got a swanky guide book, so we know which climbs are possible for our weak-ass-covid selves.

Now to work out all the stuff i'm going to bring, and how to manage it in 1 backpack, along with the crash pad!

Water, chalk, towel, food... First Aid kit... Climbing shoes. Hand Warmers. More Water.

Networking, or, Hell

I'm not sure why i bother with these kinds of games. Networking is such a pain in the ass to get working. I was despairing for a bit tonight again, about the state of Unity's networking. But. But. I did get 2 instances talking to each other, which was all i really wanted to accomplish tonight. Sadly, while i am using the Noble Connect asset to allow for direct connections without a relay, i really wanted to use the Mirror package with it, but could not get it to work correctly. So i'm left using a deprecated library just to get this shit working. Gaah.

Ok, trying to move on. What is next? Maybe smooth sync?

Yep, that looks good. NETWORKING. DONE. Bahahahahahaha. Ok, no really, what is next...

First Post

Playing with the tumblelog script for static blog generation. I like it, because it works with Hazel and NVAlt. I spend all day in NVAlt so if i'm going to be doing any writing, i really really want it to be in here. And it seems like it works! Bonus.

So, i think i have it all up and running, including some helpful stuff for getting images working via an automator folder-action thingie. Pretty great!

Also today, and actually the thing that pushed me to create this crazy blog (again) was finding White Hex's "Paradise" track. So great, bought the album, also very good. Sad that they are defunct, and have been since like 2015 or something. But!! They did put out 2 albums, and i intend to enjoy the heck out of them.

Oh wow, that was great being able to add that bandcamp stuff directly into the blog. It is like i haven't done blogging or webdev for ... decade(s)?!?

Setup exiftool to run on all the images in the /images directory, so i don't leave any data in there by accident. I'm going to have to document my setup, so i don't forget how it all works!

Also forgot about relative paths, like ./projects.html, and absolute paths, like /projects.html. I need to do the absolute method here, so in a rss-feed the links still work. Good thing i figured this out when i did!

I think the exiftool might be stripping the images rotational data as well, so i need to figure out how to stop it from doing that. This post at stack exchange might be helpful...

One last test, code blocks!

If(x) then true;
If(x) then true;
If(x) then true;