Sojour 1.0.29.0 has been released!

This is a bug fix release that addresses inaccurate map scaling that used to sometimes occur when scaling maps.

Remember the map scaling tool?

The old map scaling tool

It is gone! It is no more! This tool has been completely replaced with a new Map Scale Assistant wizard.

The core problem with the above tool was that you never made your measurements directly on the actual map. Instead, you made them on a picture of the map within the scaling window. This was the root cause of the scaling issues.

Why should the above cause problems?

Well, it’s all down to a little secret within the map pane in Sojour…

Don’t tell anyone, but the map pane in Sojour is really a 3d map pane! – I just choose to display the maps in 2d only. (I’m saving 3d for some really cool future functionality!)

3d images – maps in this case – are displayed by using a ‘camera’ to project them into the 2d space of the window that you actually see. The problem I had with the original scaling system was trying unify the measurements on the picture-of-the-map with the measurements of the actual 3d map.

I had some cunning math to do this which was based on recreating the projection matrix of the camera so that I could use this to unify the scaling. But, as it turned out, that tended to produce small rounding errors, which can on occasion, lead to scaling discrepancies.

I had originally thought I could fix the math, but after numerous fruitless attempts I realised that this was proving to be an impossibility.

The only way to fully address this issue was to take a completely different approach. This new approach would hinge on allowing the user to take their measurements directly from the 3d maps themselves! Doing this would eliminate any rounding issues.

Hence the Map Scale Assistant wizard was born.

I’ll now take you through how the new wizard works – more information can be found within Sojour’s manual.

Firstly, the user opens the map that they wish to scale and then clicks the ‘Scale Map’ tool button.

This results in the first page of the wizard being displayed:

This page allows the user to set the ‘yardstick’ that they are going to use to measure the map. It defaults to the map’s associated ruleset’s measurement system. However, this can be changed to match existing map annotations.

In the above example I have set my ‘yardstick’ to 10 km.

Clicking Next results in the second page being displayed:

This page allows the user to set the map annotation colours. It defaults to annotation colours of the selected map – where it is set. Otherwise it defaults to red.

All map annotations, including the map scale and measurement tools will be displayed using the colour picked above. Each map keeps track of its own colours.

For this example I decide to leave it at red as this matches the current map perfectly.

Clicking Next results in the third and final page being displayed:

This is the page where the user will make their map measurements. This time on the actual 3d map rather than a picture of the map.

In the screenshot below I have clicked the ‘Register Scale’ button and have started measuring the map itself:

I have already picked the starting point of my ‘yardstick’ by left clicking the map. All I need do is drag the measurement ruler around until it measures 10 km on the map.

The map can be panned and zoomed whist attempting to take the measurement. This will help assure maximum accuracy.

Once happy, just left click the map once more to register it:

The results of this registration attempt are a map measuring 51.34 km by 25.67 km. If I’m not happy, I can simply click Register Scale to try again or even navigate back through the wizard to change some of the settings.

Once happy with the registration, all one need do is click Finish. This results in a perfectly scaled map! All assets on the map will automatically be rescaled to fit the new map scaling.

The scaled map now shows it’s properly scaled map scale in the bottom left in the chosen colour. This scale will auto-size as the map is zoomed in or out:

That’s it for this post. I hope you all find this new wizard a vast improvement over the original scaling tool!

PS: I’m still working on the custom views functionality too 🙂

In the meantime – thanks for buying Sojour and happy gaming!

RobP

Sojour 1.0.13.0 is now ready for download!

I didn’t think I’d be posting so soon!

The previous version 1.0.12.0 had been coded on my laptop as opposed to my main desktop machine. It appears that the DPI settings in its development environment were incorrectly set, which resulted in the ‘Add/Edit Character’ window being corrupted.

Alas, because this was a DPI issue, not everyone will see the problem. However, when it manifests, you will notice that the OK and Cancel buttons are missing.

This has now been fixed. All users that upgraded to 10.0.12.0 are now urged to switch to 1.0.13.0.

Sorry for the hassles. On the plus side, I have learnt that I need to keep an eye on the laptop’s DPI settings before committing any code.

Have fun and I’ll talk to you good folk later!

RobP

Sojour 1.0.12.0 has just been released!

Log into your DriveThruRPG account to grab the latest version. Don’t forget to download the release notes for detailed update instructions.

An excerpt from the release notes as to what has changed:

Sojour 1.0.12.0 Release Notes
This is a minor update aimed at making Sojour more flexible. The main feature of custom folders is still being worked on. If you want to know what’s happening with Sojour pop over to https://sojour.co.uk/ (you are already here 🙂 ).

Changes

  1. The internal data updater now backs up your data before making any changes to it. Backed up data is stored in C:\Users\<< Your Name>>\Documents\PollySoft\Sojour Backups.
  2. Campaign Assets now have a new attribute on them that allows you to toggle whether or not they are unique. They default to being unique, which means that the Campaign Asset can only appear on each map just once. If toggled off, multiple instances of the same Campaign Asset can be added to the same map.
  3. Campaign Assets can now have an on-map name that is separate from the Campaign Asset name. It defaults to the Campaign Asset, but by right clicking it on the map you can assign a different name. Each instance of the campaign asset can be given its own name. Handy if you are using campaign assets to represent geographical features.
  4. Characters and NPCs can now also be made to converse by using Ctrl-Shift left click on the token on the map. Doing this will toggle that character/npc’s conversation status. This was added to allow characters outside of the initial 10 token positions to be able to converse.

More information for items 2-4 can be found in the manual.

RobP

Where we are and where we are going!

Where we are

Sojour has been out for around a month and so far very few bugs have been reported. That’s a good thing and it shows that the testing effort was pretty effective.

The current version of Sojour is 1.0.8.0. All customers should have received emails from DriveThruRPG informing them of any upgrades. If not, check your junk mail. Either way, you can always log into your DriveThruRPG Library and download the latest version from there.

(For those that still don’t have Sojour but are interested in buying, it can be purchased here for a one off payment of $10 USD.)

Outstanding known bugs in version 1.0.8.0:

  1. Suspect range scale – this does not affect the measurement tools. I think this issue is now mostly fixed – see the release notes.
  2. Installer fails when .net 3.5 is not already installed – I have had only one report on this one. It will be addressed when I get a chance to wipe my laptop as this will be the only real way to test the installer (yes I should invest in some VMs….)
  3. A chap reported seeing a crash when right clicking in the assets tree-view. I have been unable to replicate this and the chap hasn’t got back to me. If you are that chap, please check your junk mail and get back to me 🙂

These are the bugs that I’m aware of. If you know of any others, then please get in touch using the email address at the beginning of the manual or in the release notes.

Where we are going

The first port of call are custom folders. This is the catch-all name for a functional feature that I’m adding that will allow customers to create their own folder structures in the assets tree-view.

This feature will also include custom coloured tabs that are keyed to a campaign, plus a means to link assets in the assets tree-view together. eg Adding a map link directly into a journal will be possible, as well as linking many other asset types.

To deliver this functionality, the first technical hurdle to overcome was the coupling between the assets tree-view and the customer data:

Right now, what one sees in the assets tree-view on the right is always a direct representation of the data within Sojour. With this architecture the assets tree-view can only represent the data in one way – the way it is structured internally.

My first job was to sever this link to allow for the possibility of customisation. This was done last Saturday (21st Jan 2023).

As a result we now have:

This new architecture decouples the data from what you actually see in the assets tree-view.

It allows customers to alter their view of their data without actually altering the data itself! The view is also entirely independent of Sojour’s internal data structures, further enhancing customisation.

It’s a very powerful system and one that will ultimately allow customers to create their own custom tree-views called views that will be selectable from a drop down list.

However, the custom view functionality described above will be delivered in the second iteration of custom folders feature and not the first. This is to allow me to mitigate risk and to get timely feedback that things are working properly.

Speaking of working properly, the intent is to initially release this functionality as a beta installer. That way customers can choose whether or not they wish to be at the bleeding edge of the engineering effort.

I digress however….

The first iteration of this system will have much of its internal functionality disabled. It will only support one view – the default Sojour view and will only allow customers to add custom folders under the existing Sojour structures. In addition, I will be limiting the content of each custom folder to the asset type of its parent, or another folder. eg If you add a folder under the maps node, only maps and other folders can be stored there.

The restrictions above are a temporary measure to aid the testing effort. If I enable everything at once, you folks will have to wait a lot longer for the Sojour release as it will need a lot more up front testing.

As a lone developer I need and value iterative feedback in order to be effective and to ensure that what I’m doing is what the customers want (quite a few have asked for this feature).

Once the initial testing is complete, I will enable the full views functionality that will allow customers to create any folder structure that they wish, mix asset types within a folder and to also filter folders to create any number of custom views.

Please bear in mind that this isn’t my day job – I’m a web developer – and that I’m the sole person on Sojour. I can only put time towards this project as and when it becomes available. As a result things may well be a little slower when compared to the big software houses. Patience is the key 🙂

Once again, a big thank you to all the customers that took a plunge and bought Sojour from an unknown developer. I hope that I can fully repay the faith that you have placed in the product.

RobP

Sojour just got updated to version 1.0.5.0!

For those that have bought Sojour, you should be getting an email from DriveThru RPG alerting you to the update plus the relevant release notes! If not, please check your junk mail folders.

For those interested in buying Sojour it costs a one off payment of $10 usd and can be bought at Drive Thru RPG. If you need more information, pop over to Sojour’s You-Tube Channel.

Firstly, I’d like to thank John Herald over on Reddit for his great ideas and also for spotting the range scale bug. His feedback has been most valuable. Many of the enhancements shown in this post are his idea 🙂

So what’s changed?

Campaign assets can now be made static on the maps and you can even disable their map tooltips.

These new settings will allow the user to add Campaign Assets that represent new permanent features on the map discovered by the party. Once added, their graphic becomes a part of and indistinguishable from the map!

Of course one can still add an associated document to enable users to get more information by right clicking the Campaign Asset on the map.

If the user decides that they wish to move the Campaign Asset again, they can simply change the settings and the changes will ripple through Sojour to all instances that are out on the maps!

What else got changed?

The settings dialog window. It now uses a tabbed control:

This was necessary because the number of settings have now become too large for a single page.

The eagle eyed amongst you will have noticed a brand new setting called ‘Hide Dead Tokens’. This allows the user to toggle whether dead tokens are removed from the maps and initiative trackers.

Sojour documents have also had a few bugs fixed and their user interface updated to make them a little easier to use.

Under the hood I have also added the ability for Sojour to be able to automatically convert old save files to new versions compatible with the latest changes! The system is quite advanced in that all I need do is drop in a new update class file and the system automatically detects it and applies the changes if required:

The final tweak was to the window that’s used for registering map scales. It’s internal native measurements now match the user’s selected settings:

In the above screenshot the user chose miles, which results in the map size registration calculation also being displayed in miles (on the right). In the past it would always display as metres as that’s what Sojour was using under the hood.

This change should make the map range scales more accurate and if I’m lucky, it will fix an outstanding issue with said range scales. Alas, I will only know once I get feedback from my customers.

Laters

RobP

I wish you all a Merry Christmas and Happy New Year! (and what’s next)

Firstly, I’d like to thank each and every one of you that took the punt and bought Sojour, despite it being from an unknown indie developer. I’m hoping to garner a community where we are all in it together. I don’t want the usual corporate attitude of us and them. Sojour is our software and together we can make it better!

My intent is to take a break from coding until early Jan – I have been working pedal-to-the-metal since June this year on both Sojour and my day job. The rest period will make me a more productive coder in Jan.

The first enhancement I will be working on is adding the ability for you folks to add custom folders to Sojour. This way you can organise your data as you see fit. Following on from that, I will be looking into providing a dark mode for the UI.

Of course, I will be fixing any bugs that you good folk report. If you find any, or there are features you want to see, or perhaps features you don’t like, then please get in touch with me using the email address at the beginning of the manual.

I can’t promise that I can do everything, as there is only one of me, and I have to balance technical viability and effort verses the benefits. Bugs, of course, will be fixed as a priority!

I hope you all have a Merry Christmas and a Happy New Year and I’ll see you all in 2023!

RobP

Sojour is now for Sale on DriveThruRPG!!!!

Sojour is a Windows based solo focused VTT that provides journals, maps, tokens and time management. A detailed run through is shown on this timestamped video.

It costs $10 USD. Once bought, Sojour is yours to keep. There are no subscription fees, online servers or DRM. All your data remains your data, stored on your computer. You will get free updates as they are produced.

If you have ever struggled trying to use a multiplayer VTT for solo gameplay, then you should give Sojour a look 🙂