Page 1 of 3
Make a Tileset from Scratch?
Posted: Mon Nov 09, 2020 9:05 am
by Hans Lemurson
I'm interested in trying to make a Freeciv tileset from the ground up, with all of the files and artwork (except maybe the units) created by me. (Yes I know it's a monumental task.)
My previous attempts have been me just taking somebody else's tileset and then just modifying or replacing the graphics, but being stuck with whatever way they chose to organize the files and lay out the graphics. This is useful since everything that a tileset "Needs" is already present, but it's meant that I don't have a clear idea of what parts are necessary for what and how they can or should be arranged.
I have a couple main questions right now:
- Does anybody know if there is a guide or list of all of the graphical elements required to make a working tileset?
- Does anybody know how you're supposed to configure sub-tile components, like for coastline corners and the like?
- What about layering terrain? Any advice on how to get that set up?
Re: Make a Tileset from Scratch?
Posted: Mon Nov 09, 2020 12:57 pm
by Ignatus
Read your friendly... hmmm...
C code... well, not so friendly. Actually, most standard features are best documented in comments of the standard tilesets. Some basics are
here but it's highly likely some parts are deprecated for 2.6.
Re: Make a Tileset from Scratch?
Posted: Mon Nov 09, 2020 2:18 pm
by cazfi
See README.graphics in your doc-directory. It's somewhat outdated, but should be better than nothing.
Updating that document has been in TODO for some time, but it's going to be painstaking project as *nobody* in the project currently knows the exact details so one will need to reverse engineer the code to figure things out in order to write them down.
Re: Make a Tileset from Scratch?
Posted: Mon Nov 09, 2020 8:27 pm
by Hans Lemurson
Ignatus wrote:Read your friendly... hmmm...
C code... well, not so friendly. Actually, most standard features are best documented in comments of the standard tilesets. Some basics are
here but it's highly likely some parts are deprecated for 2.6.
Yeah, it was looking over that that made me post my question here.
cazfi wrote:See README.graphics in your doc-directory. It's somewhat outdated, but should be better than nothing.
Updating that document has been in TODO for some time, but it's going to be painstaking project as *nobody* in the project currently knows the exact details so one will need to reverse engineer the code to figure things out in order to write them down.
I'm looking at that now. It seems more useful than the last time I looked at it. Not sure if the version with 2.6 is better, or if I just understand it better now.
Is there any checklist for the terrain features you have to include, like:
-Mountains
-Hills
-Forest
-Jungle
-Swamp
-Grassland
-Plains
-Desert
-Coast
-Sea
-etc...
Or do I just look to the Ruleset in question to define this?
Also, if I fail to include a terrain-type/resource/feature/icon, will the game gracefully use a Default icon, or will it continually crash until I've gotten every last detail right?
Re: Make a Tileset from Scratch?
Posted: Fri Nov 13, 2020 9:09 pm
by Hans Lemurson
I just attempted a practice conversion of my RoundSquare tileset from 2.5 to 2.6, and a single misconfigured file caused Freeciv to crash as soon as I even attempted to open the "Local Client" options. Not even trying to select a tileset, simply attempting to open "Local Client" cause the crash.
Fortunately it gave an error message and told me exactly where the error was! This is much better than the silent errors I was fearing, but it does mean that I'll basically have to get
everything right before I can even see anything.
...
I just discovered that you can test to see if a tileset can load without having to start a game: the Client Settings are available from the main menu!
This speeds up the process a bunch.
Also, you only get the insta-crash if you have a tileset that's missing
files.
If it's merely missing
definitions, then you don't get the crash until you attempt to load the tileset. Much more civilized. And it even says what you're missing!
It would be nice if the program didn't crash though, and simply didn't let you load an invalid tileset. Constantly re-launching freeciv gets a bit old.
Re: Make a Tileset from Scratch?
Posted: Sat Nov 14, 2020 1:18 am
by cazfi
Maybe it would be best to give your tileset as commandline option, and enabled sufficient level of logging so you see the problems right on when client is launching without need to play with the gui.
Assuming you are using gtk3.22-client, something like:
Re: Make a Tileset from Scratch?
Posted: Sat Nov 14, 2020 1:22 am
by cazfi
Hans Lemurson wrote:I just attempted a practice conversion of my RoundSquare tileset from 2.5 to 2.6
For updating tilesets, see relevant wiki page; in this case
http://www.freeciv.org/wiki/How_to_upda ... 2.5_to_2.6
Re: Make a Tileset from Scratch?
Posted: Sun Nov 15, 2020 7:05 am
by Hans Lemurson
cazfi wrote:Maybe it would be best to give your tileset as commandline option, and enabled sufficient level of logging so you see the problems right on when client is launching without need to play with the gui.
Assuming you are using gtk3.22-client, something like:
Ah, thanks. Never thought of using the command line. Don't think I've ever used it before.
Are these commands you give the server, or use from the Operating System's command line?
Yeah, I followed that, and about 80% of the problems I encountered were mentioned there. But it was also a test to see how frustrating trying to validate my tileset would end up being.
I hope I can get the command line running like you suggested, since being able to "fail fast" and know what the problem is will greatly help.
...
I also just realized that there IS a way to refresh a tileset without changing to a new one first:
Just type in the name with different capitalization! It evaluates to the same set, but it's technically a change in the String, so it actually bothers to load the tileset once again!
Re: Make a Tileset from Scratch?
Posted: Mon Nov 16, 2020 9:58 am
by Hans Lemurson
I'm now attempting to make a custom .tilespec file myself, using README.graphics as my guide.
I'm currently in the process of figuring out how much of the file has to be defined before Freeciv will actually recognize it as a tileset.
I hope soon I will graduate to "Actually get error messages".
Re: Make a Tileset from Scratch?
Posted: Fri Nov 20, 2020 10:44 pm
by Hans Lemurson
Apparently the <name>.tilespec file has to be absolutely perfect for Freeciv 2.6 to even deign to recognize it.
Then and ONLY then may you have the privilege of being given barely helpful error messages when it crashes.
Haven't tried this with debug launches from console, though. Maybe it would give the full list of problems as opposed to just #1 out of 137.