View RSS Feed

Tumbleweed

The Tumbleweed keeps on rolling...

Rate this Entry
I knew this blog would be infrequent when I started it but I guess six years between posts is long enough.

Since I last updated, coding-wise, I've had bounteous times and barren times. I've had six months on and years off. I've added stuff, removed stuff, edited stuff and generally prevaricated the time away.

Some of the "Things" have changed immensely in that period of time (HillThing and TextThing) and others have hardly been touched (TreeThing and BorderControl), whilst another that was only a dream and a wish (WaterSorter) has blossomed into being and is now the most complete out of all the Things. Go figure.

More on that particular one next time though (maybe in six years? :s).

For this post I want to concentrate on "TextThing" and give a rundown of what it can do and how it works.

For starters, let me just say, this one was a bit of a nightmare to make. Translating, rotating, resizing characters mid-label whilst still keeping the text positioned correctly... these are all things I struggled with A LOT. Even getting anti-aliasing to work correctly wasn't as straightforward as it should have been. Zzzzz.

Anyway, the original purpose of the program was to take the text of a label and add some jitters to each character to give it a rougher and hopefully more hand-drawn feel. This is nothing that couldn't be done in any other graphics program given enough time and patience, but who has that?
The jitters would work in a similar way to TreeThing and move a character either individually or affect it and every following character's x, y, angle or size.
When all labels have been placed they could then be exported on one or several .pngs and post-imaged in PS or Gimp or whatever.
I envisioned it making labels look quite unique but actually being slower to use than a dedicated graphics program as it would still need to be transferred over to be finessed.

That was the mandate for the program and as such it has been realised.

Here are a few areas in which that original vision was surpassed...

For starters, one of the best time-saving improvements I added over the original idea was a name generator. This can of course be over-ridden with user-made names but when speed matters it is really simple to just select "Town" or "City" or "Feature" and just click-and-drag and let the program do all the thinking. Personally speaking, I can spend hours trying to think up town names for one map. This really helps.
At the moment the dictionary for the generator is hard-coded into the program but I intend to make it user-editable in the future.
As well as generating names one at a time for the program I added an option to export a list of names in a text file.
With the current dictionary it can generate 325.89 million unique towns, 785.46 million countries and 2.36 billion island names... among others.

Click image for larger version. 

Name:	Blog1.jpg 
Views:	34 
Size:	218.7 KB 
ID:	114656

Originally I was ok with just clicking on a spot and having a label placed horizontally with the jitters applied. Now though, each label can be angled and arced as it is placed. They can still be edited once placed but it is very easy to just click and drag and alter an arc on the fly, depending on mouse buttons pressed. For me, this is incredibly easier than placing labels in Photoshop.
The labels don't have to have jitters. The program can be used to just quickly place angled or arced text.

Click image for larger version. 

Name:	Blog2.jpg 
Views:	31 
Size:	67.6 KB 
ID:	114657

Each label can be stroked and have drop shadows. These effects were never envisioned originally but with them it is possible to skip the post-imaging in a graphics program altogether.

Click image for larger version. 

Name:	Blog3.jpg 
Views:	30 
Size:	142.5 KB 
ID:	114658

I added in the ability to add a marker for each label. These can be resized and coloured independantly of the label and can also have strokes and drop shadows applied. The text can be dragged independantly of the marker for positioning purposes, or both can be dragged together if required.

Click image for larger version. 

Name:	Blog4.jpg 
Views:	26 
Size:	772.2 KB 
ID:	114659

And here is an image from the first map I ever used the program on other than test images - Parallion, Jax's commission for me for the March challenge...

Click image for larger version. 

Name:	blog5.jpg 
Views:	46 
Size:	610.6 KB 
ID:	114660

This is both a good example and a bad example of the program. For the good, all the labels on the map were done in about half an hour start-to-finish, including figuring out where to put them and which to add etc. It's a bad example because time constraints with the challenge (I was doing it at 11 o'clock at night the night before the challenge ended) meant I had no time to vary settings, fonts etc. and was rushing.

So... is it finished? Nope. There are a few more small features I want to add, some bugs to eradicate, some UI to simplify and it needs optimising a lot but it is getting there. My internal version number is v0.93. I have a bunch of more complex features I want to add in the future once the program has reached v1.0 but those are for another day.
Tags: None Add / Edit Tags
Categories
Uncategorized

Comments

  1. Redrobes's Avatar
    Very Cool. I don't know about Photoshop but I can tell you that the text handling in Gimp is pretty terrible. I usually switch out to another program when I want to add text labels. I know Inkscape is good but I have not seen much in the way of jitter being applied to text as it curves. If this can help you apply labels to maps then it would sure speed things up. Most impressive Ramah !
  2. ChickPea's Avatar
    Indeed, this is cool, and I'd be interested in giving it a try (I've used TreeThing on occasion, and enjoy it very much. Thank you for creating that).

    I hope we don't have to wait another six years for your next update.
  3. Ramah's Avatar
    Quote Originally Posted by Redrobes
    Very Cool. I don't know about Photoshop but I can tell you that the text handling in Gimp is pretty terrible. I usually switch out to another program when I want to add text labels. I know Inkscape is good but I have not seen much in the way of jitter being applied to text as it curves. If this can help you apply labels to maps then it would sure speed things up. Most impressive Ramah !
    Thanks for the comment, Redrobes. Yeah, text handling in Photoshop is very slow and awkward, well it is for me at least. This does indeed make it much faster to place labels, especially on test/personal maps where I can let the program generate the names.


    Quote Originally Posted by ChickPea
    Indeed, this is cool, and I'd be interested in giving it a try (I've used TreeThing on occasion, and enjoy it very much. Thank you for creating that).

    I hope we don't have to wait another six years for your next update.
    Thanks, ChickPea. I do intend on releasing this at some stage, when I've reached v1.0 but not sure when that will be as my attention ebbs and flows between the various programs I'm working on. At the moment I am working on WaterSorter, which as the name suggests, handles coasts and rivers. I won't leave it six years till my next update as I do intend to make a post about WaterSorter in the coming weeks.
    Updated 04-18-2019 at 05:35 AM by Ramah