I've added a new version of the program in the original post. I've listed the changes there but I'll add them here too...
1) You can now add shading to individual trees. The Vaniyan brushset has been updated to represent this.
2) There is an option to remove badly placed trees. This is a work in progress and needs tinkering with. On tightly packed forests this will remove lots of trees with just small jitters added. This is because those forests are so close they are inherently badly placed. It's less drastic on forests that have a lower density.
3) Changed the way that mirror trees work. It doesn't move the shading, just the tree brush. You can also randomly mirror trees to get more variation in a forest.
4) Added the ability to have the other side of the tree shaded. This works in conjunction with the mirroring.
5) Added the ability to move the lightsource to the opposite side. This moves shadows and shading accordingly. Shadows utilise the normal shadow brush but shading requires two brushes for it to work properly.
6) Other small, under-the-hood changes that will barely be noticable.
I've also edited the second post into a tutorial on how to make your own brushes for the program. I intend to add an example image later. I'll also add a tutorial on how to use the program at a later date.
Edit: Gah! I just tested something and realised that I have inadvertently broken the "Remove Misplaced Trees" function. Not sure if it will screw up every time but for now it's safest just to leave it alone. I'll fix it for the next version.
Ah well... here's an image of the updated Vaniyan brushset... No jitters were used on this so it's quite uniform. Also, if you study it you should be able to see that some of those trees are mirrored. The lightsource has also been shifted.
I just can't believe how terrific that looks! I'm glad you took a break from writing to become a cartographer / computer programmer par extraordinairre!
I've uploaded a new version in the original post that fixes the bug with the "Remove Misplaced Trees" code and also fixes a bug I discovered when checking that which was preventing the program from saving all layers. :s
Hopefully everything is working as intended up to now.
If anyone finds any other bugs then let me know please. Cheers. :)
Hey guys, I thought that this tree program might be useful for a lot more than trees, so I made some (bad) experimental brushes for mountains and tried them out. The program seems to automatically downsize large brushes automatically a good bit, so the objects came out pretty pixilated--resizing them and applying a filter or two in photoshop fixed that a little bit. It would be neat if changing the size of the actual brushes would adjust the resolution of the actual output rather than being resized, (to better accommodate making a really large 300dpi map), but this is still amazingly useful.
The only peculiarity was that sometimes it applies the wrong shadow and shading to the wrong mountain, but I can't help but thinking maybe that was my fault somehow.
Basically, I was thinking about making a mountain brush set and a hill brush set as well. Then I could make a continent shape, three different masks indicating where I wanted each feature (mountains, hills, and trees) then click, click, click, I'd have a crazy-easy way to generate tolkien-esque maps.
Anyway, really amazing program, Ramah. You'll get some well deserved rep from me.
Glad to see someone is experimenting. :) I'm especially glad someone has ventured into making their own brushes for it. And yes, I would suspect that the fault with the shading going wrong sometimes would be yours. Probably with the naming of the shade file or something. Couldn't be my fault. No way, no sir. :)
By the way, I have pages of notes already on how to make a MountainThing program. Unfortunately the way the current program works with placing trees really doesn't gel with how I would want mountain/hill placement to work so it means a complete rewrite of that code, which is basically the heart of the program. The good news is that it's the rest of the gubbins, the UI and implementing the various ideas on how to make it more useful that takes the longest to do and most of that will be reusable from TreeThing.
If you got a mountain range to work how you wanted it to be with the current program then you would be pretty lucky.
Anyway, it's on my to do list. Along with half a dozen other things I never seem to have time for. Hehe.
New version posted up. Changes are...
New version - 0.6
1) Fixed the "Remove Misplaced Trees" function so that it should work properly now. It is customisable in the bottom bar to increase/decrease allowed tolerance of what constitutes a misplaced tree. Making it too large will probably create strange results.
2) Added a "Remove Overlapping Trees" function. This will do as it says on the tin and remove all overlapping trees. So if you want a forest with no overlapping, feel free to add larger jitters than normal.
3) Edited all the brush sets so that they now all have reverse shading. (removed original Vaniya set as shading was built in... and they were crap. :) )
4) Added "Merge masks" which doesn't do a lot other than to remove any tolerance on masks clipping so that if you want a blanket forest with merged trees you can use this layer and just stroke it in post imaging.
5) Renamed certain things to make way for expansion into hills and mountains.
6) Changed the filename specifications on the brush masks to "mask" instead of "alpha" as this just makes more sense.
7) Various little bits and bobs.
Edit: Forgot to add... with the "Remove Misplaced Tree" function it currently doesn't resize its parameters depending on tree size like it does for other things. So this will probably need manually adjusting if you change tree scale for now. I intended to fix it for this post but I ran out of time and doubt I'll get chance to work on it for a few days now and wanted to get this out.
how about a manual for the program? i absolutely love it, but sadly, my brain keeps farting when i try it out!
Very well done and repped.