Tileset Editor 1.0 (Proof of Concept)

Okay, so using messageboxes as ad-hoc signals I was able to pinpoint the problem line, and fix a few other issues. Now it at least completes the whole cycle, although all it manages to do it make the backgrounds. But the foreground not drawing is a problem I at least understand and can work with.

And hopefully not earning an infraction for triple posting - I am prepared to humbly admit victory. :stuck_out_tongue:

Down at the bottom is all the generated tiles. It still needs some polish and proofing against user error (such as selecting a tileset of mismatched dimensions), but it can now autogenerate ASCII tiles from a bitmap file.

Updated program
Updated source
The RetroDays tileset padded with ASCII

Please do no increment my version number, unless itā€™s one of my releases. That will only confuse people.

If you want whatever you did in the program, please make a Pull Request.

Fair enough, renamed to ā€œ0.10 CSJM Customā€. :stuck_out_tongue:

Iā€™d make a Pull Request, but Iā€™d need to have properly checked out, branched, and modified your repository. I just downloaded the source as .zip and worked with it.

You can make a fork, pull to your PC and copy and paste over, commit those as changes, and then push for a PR.

Unlike Cataclysm I donā€™t really care about merging from master (it does complicate things if you plan to make several commits from your fork however).

Updated again. Files in the same places. Noticed that you were horribly off on color names, Chase, which made the tiles a little less colorful than they should have been.

(changes: changed gray, dgray, lred, lgreen, lblue, lmagenta to ltgray, dkgray, ltred, ltgreen, ltblue, pink. Added light_ versions of all ā€œltā€ colors, as well as dark_gray, because it seems interchangeable.)

(Iā€™ll try to figure something out with the commit/pullrequest thing)

Not sure how I am horribly off when I took the values straight from cataclysm.

[quote=ā€œChase, post:67, topic:5029ā€]Not sure how I am horribly off when I took the values straight from cataclysm.[/quote]Well, you either took them from the wrong place or the wrong version, then. The item .jsons have the colors I described, not the colors you list. I found it really suspect because the tiles for ā€œtough zombieā€ and ā€œcrawling zombieā€ ended up as white capital Zā€™s, when the curses UI clearly shows them as a light-red Z and a bright green Z respectively. I noticed you are checking against the actual color strings in the .json definitions for color, and decided to check - resulting in the changes I mentioned.

Aand did the pull request thing. Feel free to check it and release whenever.

Some testing is required for how the program would handle gradient alpha, but it should probably work well enough.

Addendum: Chase, Iā€™m thinking this program could be brought to ā€œinstant tilesetā€ level. I tried it right now, and Iā€™m getting a picture that could reasonably pass for a decent stand-in for SDL tiles, with several important ā€œbutsā€, namely the walls and similar items.

I canā€™t quite figure out what should be done to make the walls work though. Hmm. Maybe add a vertical slash to the ascii tile ID, signifying that itā€™s multitile? I.e. ā€œt_wall_v|centerā€? Or does the json parser not understand multitiles yet?

edit2: ah, okay, so there is no such thing as a ā€œmultitileā€ definition in object .jsons. Instead walls are ā€œLINE_XOXOā€ and ā€œLINE_OXOXā€, and I presume they are mostly the same except the center tile. Hrm. This is gonna take some doing.

edit3: now with walls! :smiley:

Could have gone for double walls, admittedly, but the game does not provide an easy way to differentiate thick and thin walls (i.e. regular and solid concrete), so this is good enough. All thatā€™s left now is to figure out the vehicle parts (I have an idea there), some of the built-in tiles, andā€¦ well, this will more or less be good to go.

And now with cars and stuff. Vehicle tiles set to rotating, conditionally selected vehicle parts have their symbols overridden on generation. Toned down the acid yellow a bit.

Everythingā€™s up in the repo, waiting for merge.

This looks really cool Sean. Is it done with ā€˜ASCII tilesā€™ only, or you are using other tiles as well?

This is entirely ASCII, generated from this tileset for now:

It works with others, like the 12x12 Herrbdogā€™s tileset I usually use for Dwarf Fortress:

Testing the capabilities revealed that the program doesnā€™t work with partial transparency too well (it seemingly just ignores any alpha that isnā€™t 0), and tilesets smaller than 8x8 cannot work. 9x9 works, 6x6 doesnā€™t. And yes, there are 6x6 tilesets for Dwarf Fortress.

(Also, 6x6 doesnā€™t work in that the tileset crashes Cataclysm - the program generates it just fine)

(edit: until Chase releases the next version properly (probably with optimizations), my unofficial version can be found in the same link as above: Link.)

Version 0.11
Pulled his work with his functionality, though I pretty much rewrote half of it.

Download

Yeah, my implementations are built with all the streamlined grace and elegance of a classic Russian automobile. Maybe thatā€™s the reason I never managed to make a game of my own. :stuck_out_tongue:

Iā€™ve had half a thought of hammering together a sort of a graphic tile editor (i.e. a primitive pixel art drawing window), so that a user could make new tiles or edit existing ones right in the editor without using external programs (making this a complete tileset editing and creation ā€œsuiteā€), but I think I should read up some more on standard Java functions and whatnot before that. Maybe find a Java IDE or something.

You mean this?

Thatā€™s the API documentation (and Iā€™ve used it extensively to get my bearings in the code). I mean an IDE, an integrated development environment, like MS Visual Studio. Edit, compile, debug, manage, all from the same program.

Off the top of my head, thereā€™s Eclipse, NetBeans, and BlueJ. These are the three I have personally used before (in order of preference).

I am on hiatus from this for probably another week. I am a little tired of looking at it after arguing with someone about a feature in it till I was blue in the face.

Speaking as the mentioned someone, I think Iā€™ll spare you from having to argue over features and Iā€™m going to just officially ask your permission to publish my own version of the program (not sure if I even need to, opensource and all), with full credit given to you for the most of it, me having just hammerbashed in some superfluous bells and whistles.

The ASCII generation feature may as well become useless when the game itself has proper ASCII fallback, but till then there will be a demand for it.

Nope, you donā€™t have to ask, anything that is on that git you can use under the terms of the licenses. But keep in mind, if you do, you canā€™t use my icon.

The icon license distinctly prohibits derivatives. This applies to the program as a whole in regard to the use of the icon and not just the image itself. That is because I regard it as an icon (as used in a program) and is licensed under that term, rather then just the image itself (which has no license, which means I retain all rights). That is to say, it can only be used with the unmodified (official) code. But I wonā€™t enforce this for slight modifications (but you are still technically breaking copyright law if you do so).

I use the license so that people can freely reupload the program (with icon) to other places, if somehow my version stopped being available, without breaking the law.