RPGDXThe center of Indie-RPG gaming
Not logged in. [log in] [register]
 
 
Post new topic Reply to topic Goto page 1, 2  Next 
View previous topic - View next topic  
Author Message
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Fri May 21, 2010 10:14 am    Post subject: Itemizer - A generic (c)rpg item editor [quote]

Introduction

Recently I was involved in a discussion about the complexity of handling items and their usages and actions in (c)rpg projects. This made me think about a good and flexible way to store item attributes, also to make an editor for this data structure.

Item usages and actions are not in the scope of this project though, beyond storing usage lists or such.

Project Site

http://sourceforge.net/projects/itemizer/

UI Preview

Sourceforge scaled it down to 640x480 ...
http://sourceforge.net/dbimage.php?id=313795

Downloads

http://sourceforge.net/projects/itemizer/files/

Meanwhile there were newer versions released. Scroll down to read about the updates - I assume that particularly the plugin concept to import/export item data from/to other file formats and data sources will be interesting. With a bit of trickery you should even be able to link it to a database (just need a dummy file on disk with the proper extension to trigger your database plugin, which then can read and write to the database instead of the file).

Details

The editor is kind of a two-in-one package, since it allows to edit item attributes (edit their names, add new ones, remove existing attributes), as well as to create items, and edit their values.

The attribute structure is named "item configuration" in this project, while the actual item data is stored in an "item catalog". So far the editor stores both in plain text files.

[Old documentation lost]

If the tool looks useful to people I want to offer a plugin interface to load and save other formats as well. At the moment it's mostly a proof of concept tool, and tailored to my own rpg-ish projects.

Data structures

A sketch of the idea of the item data structure:
http://sourceforge.net/apps/mediawiki/itemizer/index.php?title=Item_data_structure


Last edited by Hajo on Sat Nov 26, 2011 12:19 pm; edited 2 times in total
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Fri May 21, 2010 10:21 am    Post subject: [quote]

Very innovative, and yes it is useful.
Back to top  
XMark
Guitar playin' black mage


Joined: 30 May 2002
Posts: 870
Location: New Westminster, BC, Canada

PostPosted: Fri May 21, 2010 4:01 pm    Post subject: [quote]

Neato! I might actually use this.
_________________
Mark Hall
Abstract Productions
I PLAYS THE MUSIC THAT MAKES THE PEOPLES FALL DOWN!
Back to top  
BDZ
Slightly Deformed Faerie Princess


Joined: 11 Jan 2007
Posts: 32
Location: Wisconsin

PostPosted: Fri May 21, 2010 8:04 pm    Post subject: [quote]

This looks really fantastic! I'm going to try it out tonight.
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Fri May 21, 2010 8:44 pm    Post subject: [quote]

Whee :)

But honestly, it's still very small, just starting. The next few days I'll not have so much time to continue, but today I could work a bit more on it, and got two things done.

A small but most likely important update for those who plan to use item configurations with a lot of attributes: The panels with the input fields now can grow and will get scrollbars if you add more attributes than the panels can keep at once.

[Old link lost]

Also, I've packaged a second plugin example with this release: SingleFilesIO. This registers with the ".item" file extension. In the package there is now also a "single_file_catalog" directory which is suitable to use with the new plugin. There is a bit of a trick involved here though: One would want to select the folder, but one must select a file within the folder to trigger the plugin.

So to load the example items from the "single_file_catalog", choose "Import Catalog", open the catalog directory and double click any of the *.item files. The plugin will read them all.

Likewise to save items this way, select "Export Catalog", open the catalog directory, and double click any of the files to save all items of the catalog into this directory. If you choose to export into an empty directory where the are no .item files yet, just enter "a.item", and confirm by return - the name doesn't matter, just the extension is needed to trigger the plugin. The plugin will be triggered and write the item files into the folder.

I've packaged the SingleFileIO plugin because I thought for some projects it will be better to have one file per item than the monolithic catalogs that Itemizer uses natively, and I wanted to show how this can be done with the plugin concept.


Last edited by Hajo on Sat Nov 26, 2011 12:16 pm; edited 1 time in total
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Sun May 23, 2010 4:10 pm    Post subject: [quote]

Another update v0.18, with two new features.

[Old link lost]

Once, it now supports cut-copy-paste of item data, at least within the tool. Not yet into the clipboard for other applications, but that should be possible in a future release, too. Copy&paste are very handy for quick duplication of item data, to create a number of item variants from a base item. Cut&paste is a way to change item keys, since the paste operation asks for a new item key.

Second, it can now align item data with item configuration changes. Before, if you changed the item configuration after loading a catalog, the item data was just gone. Now the tool aligns the data with the new configuration - if you add new attributes, the item data will be expanded and filled with default values (empty strings, zeroes). If you remove attributes, the data will also be aligned so that the data which belonged to removed attribute is cut out and the order of the remaining data is kept. This way one can more easily work with item configurations, without having to edit a lot of items after removing an attribute, as it was needed before.


Last edited by Hajo on Sat Nov 26, 2011 12:17 pm; edited 1 time in total
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Sun May 23, 2010 4:49 pm    Post subject: [quote]

I recommend creating a simple vs advanced mode. Your new features are going way over my head. :\
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Mon May 24, 2010 10:05 am    Post subject: [quote]

Most of the functionality is fully automatic, and for Copy&Past you only need to press ctrl-C and ctrl-V. I'm somewhat confident that the changes rather helped to make it "work as expected" than complicating anything. I'm just good at disguising simple things with many words :P
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Mon May 24, 2010 12:32 pm    Post subject: [quote]

Uh I should mention at this point how esoteric your interface for Drops was. Ruined an otherwise excellent program. Couldn't have been more counter-intuitive....
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Thu May 27, 2010 11:06 am    Post subject: [quote]

Drops was born on the Amiga and therefore pretty alien to Windows users. Also, it started as a project only for myself, so I never cared about usability beyond my own needs.

But I'm amazed that someone still knows it :)

Having said that, what would you suggest to simplify in "simple mode"? Or, more general, how could the user interface be improved? I'm aware that usability is important for such a tool.

Since the last release not much happened yet, but I added tool tips to the "e", "x" and "Add new attribute" buttons since I assume the labels "e" and "x" are not much of a help for new users.
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Mon May 31, 2010 8:09 am    Post subject: [quote]

I have put up a new version, but it has almost no new functionality. Since I reuse parts of the code in other projects too, there were some refactorings and cleanup in the code, also some bugfixes (which should not affect the tool itself, but might be good to have anyways).

New version and more details:

[Old link lost]


Last edited by Hajo on Sat Nov 26, 2011 12:17 pm; edited 1 time in total
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Mon May 31, 2010 10:26 am    Post subject: [quote]

I think the program already does everything that's needed. One thing I think would be helpful is to jettison the plug-in system and replace it with a script engine. Would make a huge difference in usability. As for the language to use, I recommend Minimal BASIC because of its low overhead and suitability to working with data.
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Mon Jun 07, 2010 11:41 am    Post subject: [quote]

Here's an idea that would be useful: a map editor that included a macro language, that you could use to load in both data files and map files, no matter their format.

Basically this language would need the ability to compute mathematical formulas, such as compression routines. It would be able to access loaded files through an array into which the entire file data was loaded.

In essence, something akin to core Javascript, but plainly a little simpler. GW-BASIC comes immediately to mind... something simple like that. It would be useful to have something that could read the files of some of the games on this site.
Back to top  
Hajo
Demon Hunter


Joined: 30 Sep 2003
Posts: 779
Location: Between chair and keyboard.

PostPosted: Mon Jun 07, 2010 12:05 pm    Post subject: [quote]

A generic/extensible map editor is something that I could use too, but I thought there would already be good ones out there ...

At the moment I'm working on a simple tile set editor. A mix of drawing utility and management facility for groups of images.

I haven't really made up my mind on scripting yet. I used Lua as scripting language in the past and it worked very nicely with C++. Having a Java core and Java based plugins was just simpler, because all components use the same technology this way.
Back to top  
tcaudilllg
Dragonmaster


Joined: 20 Jun 2002
Posts: 1731
Location: Cedar Bluff, VA

PostPosted: Mon Jun 07, 2010 11:12 pm    Post subject: [quote]

Well Tiled's using the plug-in approach.... No, the solution is to use a lightweight "VBA"-style scripting language that just plays with data. As it is, everybody's fighting over different formats. Plug-ins should increase/change the functionality of the program... using them to support different file formats is a misuse.
Back to top  
Post new topic Reply to topic Page 1 of 2 All times are GMT
Goto page 1, 2  Next 



Display posts from previous:   
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum