-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shadows and terrain blending. #6
base: master
Are you sure you want to change the base?
Conversation
Dear god, it will take me a while to go over all of it :D |
Lmao... Yeah, sorry. I wasn't thinking of the diff, so 99% of the changes are automatically generated and don't really need to be reviewed or PR'd. I'll open another PR that's the same but without the automatic stuff and cleaner to read. |
Do i need linux to run that script? I am battling it since yesterday and i am about to give up as it keeps throwing me an error saying |
@ravignir ...I believe you kinda/not-really need Linux for However, that error is spit out by Python, which means you seem to already be getting past the Linux bit. It refers to TL;DR: Running either:
OR
...Should do fix it. (They do the same thing.) Docs: https://pillow.readthedocs.io/en/stable/ Package info: https://pypi.org/project/Pillow/ Detailed installation instructions: |
…comments. Official ZSH support.
@ravignir Right, I've updated If it still doesn't work, please paste your terminal output here! I wrote the dang thing so I can probably just tell you what's going wrong or add a fix instead of you having to spend hours battling it. |
Somehow, i was able to get there. @will-ca |
@ravignir It appears to be a bug/limitation in Python itself that sometimes happens with https://bugs.python.org/issue25053 I've updated (To reenable multiprocessing you can use the new |
Cool! And glad to see it now in the hands of a capable tileset artist. …Ooh, the mountain bases look clean; Did you fix shadows showing below the base height? Side note: I think Victoria Falls may look better as a shear shadow than a drop shadow— I think that's one of the questionable default choices I'd made? Also, looks like the shadows for Krakatoa and Cerro de Potosi are clipped at the edges. Possible solutions:
Do you have a branch, with the scripts, that I can open PRs against? I'd like to implement some features in the script that I haven't had a chance to yet:
Also I am aware of yairm210/Unciv#5954, which affects how the blending looks in CityScreen. The fix should be relatively simple; I'll submit it to Unciv soon. It can also be worked around immediately by switching the Bash script to use Aside from that, how do you feel about the workflow and results? |
Are you sure about that? :D
I've edited Mountain Sprite and changed some values in script.
I decided to change sprites, should be ok now.
https://github.com/ravignir/5Hex-Tileset/tree/blending
I am quite happy with the results, it is a great script, I am a total noob when it comes to creating these. Looks like the only problems I've encountered were all Python's fault. BTW, Can you make another version of bubbly borders, but thinner? |
Indeed! I find the colour palette in 5Hex quite soothing to look at for some reason. And the scale and dedication are just admirable and enviable.
I've updated the border example repos to include the SVG source files, plus a Markdown file documenting some special techniques and workflows in them. You'll need a recent-ish version of Inkscape to edit them. The high thickness was actually kinda a cheat on my part: I either couldn't or didn't want to figure out how to make the blurred inner colours show on only one side of the solid outer border, so I guess I just made the outer border thick enough to cover up half of the blur. I think you can probably get a thinner border by just playing around with the stroke thicknesses, blur radius, offset, and opacity though. |
just a random thought: what if you added support for border variants to make them more random? You already did this here: yairm210/Unciv#5837 |
The biggest question IMO is what syntax to use in specifying the variants. Currently tile variants are already supported and use numbers, but extending that to more images could get confusing and borderline ambiguous because unit nation colours also use numbers. So break tileset compatibility and use letters as in that PR? Or use numbers everywhere, but end up with names like "Archer1-2.png" where the first number means variant and the second number means nation colour? …Maybe the first option; So far 5Hex's ancient ruins are the only existing use of tile variants that I've noticed, so the compatibility break may not be that bad. I'll revive/update that PR and see where it goes. |
Imo, that is easy to understand. "1" is variant, "-2" is layer. |
Part of that concern IMO would be name collisions. Suppose it was "Archer-1-2.png" instead of "Archer1-2.png". Now "Archer-1" could be either a variant of "Archer" or a nation colour for "Archer". And now suppose a mod wants to add a unit called "Archer-1"? Idk. It just seems like it could all get quite messy if not well thought-out. Hm. How would you feel about subdirectories being used for variants?
|
To use:
BuildTileset.sh
. The source/original image files are insrc/
, and the build script will put blended versions in the right place inImages/
.Some ideas if you use this:
addBackground()
steps inBuildTileset.sh
automatically layers configured images on top of the blended versions of specified base terrains, so there's no need to make them part of the image. This will also let you add them toSHEARSHADOW_TILES
orDROPSHADOW_TILES
.cherry-pick
ing everything else).src
and build script in a separate branch, and thengit add
andcherry-pick
only the final files intomaster
for each update.As an alternative to merging this, downloading only the
BuildTileset.sh
andTileTransformer.py
would also work as long as you copy all the needed images tosrc/5Hex/
.Oh, also: Don't merge this into
master
until yairm210/Unciv#5874 is merged and released for Unciv. Everything will just look broken withouttileScale
support.EDIT: The diff isn't very readable, but the history's cleaner. Only the first four commits really matter.