I concur to the arguments :) (and frankly I have no plan to work on gce's code, I'd rather learn Java, given that Gridarta is much more advanced imo)
Nicolas Le vendredi 18 juillet 2008, Andreas Kirschbaum a écrit : > Hi, > > I am one of the founders of Gridarta and I still maintain the editor. So > expect my viewpoint to be slightly biased ;) > > > I already mentioned on IRC some of the reasons why I think that this > > editor [gce] is interesting: it is fast (e.g., drawing walls or other > > features on a large map is much faster than with gridarta) > > It is known that Gridarta is quite slow on huge maps. The main reason is > a less-than-optimal implementation of the undo stack. Fixing this would > need a fair amount of work without having much effect for "real" maps: > Crossfire maps generally should not grow too large; instead tiled maps > should be used. Therefore I (still) consider fixing this issue a waste > of time since more important features are pending. > > Besides that, my observation with gce was just the opposite: I did > create a map with gce's default size (20x20 tiles). I hardly could edit > this map because gce's display updates were sluggish at best: just > moving around the mouse "cleared" the map view when the tooltip moved. I > had to stop doing anything (including mouse movements) and wait 3-5(!) > seconds until the map view was repainted and I could continue. > > The test was on the exact same machine that I use for Gridarta > development and testing; gce is the version available for download on > the Deliantra web site. > > > , it has a nice way to display the properties of all map objects as > > you move the mouse around > > Yes, this is a nice feature; I plan to add a similar one to Gridarta. > > > , it has less installation dependencies than gridarta > > I just can agree with Yann here that this is not correct. Gridarta needs > only Java 1.6; no other external libraries are needed. Building from > source additionally needs ant. According to the download web site gce > needs at least Perl, libgtk2, and libglib2. > > For the implicit "free software" meaning: OpenJDK is about to go into > Linux distributions. Therefore it is not (anymore) an argument for me. > > Also, the argument (as stated in another mail in this thread) that map > makers may want to use Debian stable, is not an argument: the gce > download page states that libglib2.0-0 version 2.12.6-2 is needed; > Debian stable has 2.12.4-2 only. > > Windows users can also use OpenJDK (I guess), or just download and > install Sun's JRE to run Gridarta. Not sure how easy it is to get Perl > (and GTK2) installed on a Windows machine. > > FYI: gcj fails to compile Gridarta because gcj does not comply to the > Java Language Specification (apart for other issues in the class > libraries). I filed a bug report more than four months ago > [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35410]. It is still in > state "NEW". > > > , etc. > > See below for a list of missing features. SCNR ;) > > > However, the current version also has some drawbacks: [...] > > All these drawbacks are just technical issues that can be fixed. > Therefore these issues are not really arguments against the editor (for > me). (Without actually having guessed how much work is needed to get > them fixed.) > > > If there are no objections against this plan, I would like to import > > the code in SVN as soon as possible. > > Given that Gridarta is still in active development (more than 4000 > commits since the project start about two years ago), and having > invested much time (I did more than half of all commits), I do object. > My main reasons are: > > - We (Crossfire) do not have that many (active) developers. Therefore > splitting these few into the maintainance of multiple > helper-applications that basically do the same seems just a waste to > me. We should rather focus on the game itself. > > With "game" I mean: in-game content, a decent client (which runs on > Windows, Linux, and hopefully on Macs), and a stable server [roughly > in this order], but definitely not the maintainance of redundant > helper-applications. > > Also, the main reason why we (Christian Hujer, Daniel Viegas (both > Daimonin developers), and me) did start the Gridarta project was to > fight resource splitting: at that time there have been two projects, > Crossfire and Daimonin (I'm ignoring Angelion because it did use the > unmodified Daimonin editor). Both projects did use and maintain > similar editors. > > Our idea was to join the developers of both projects to get more > development power. The intended outcome is a (mostly) unified editor > which shares most of the basic functionality but has special features > needed by either project. > > For Crossfire this merge process already did pay off since I could > take over many features from Daimonin to Crossfire. Besides that I got > quite some (constructive) feedback from Daimonin map makers. > > That said, I think starting a new editor would basically mean to split > off Crossfire from Gridarta: having an editor part of the project > (IMO) declares it as the "official" Crossfire editor. Which in turn > means we (the Crossfire developers) are at the same state as two years > ago: two editors to maintain (crossedit+CFJavaEditor vs. > gce+Gridarta) with just a hand-full of developers. > > - Gridarta includes a map validator module. It checks for common > mistakes when creating or editing map files. It is enabled by default > to prevent map makers from adding "bad" things to maps they create or > modify. > > This safeguard will not anymore work reliably if some maps are created > (or just modified) with a different editor lacking a (or featuring a > different) map validator. > > - A while ago I modified Gridarta to write object attributes in map > files in the same order as the Crossfire server. After that all map > files got normalized to this format. The reason for this effort was to > minimize the changesets when editing maps. > > Although a quick test did indicate that gce seems to use the same > attribute ordering, it inevitably will break from time to time when > new attributes are added. This means, we'll both get larger changesets > than necessary, and we'll have to modify both editors in the same way > to not loose this benefit. > > > That said, I strongly vote for having just one "official" editor. Of > course, we cannot dictate which editor a contributor wants to improve, > but IMO the Crossfire project/developers should select one (and only > one) "official" editor. > > Of course, I vote for Gridarta. ;) > > > Just FYI, some of Gridarta's features which I didn't find in gce (and > which are not at all "hidden" but easily accessible though menus in > Gridarta): > > - Map Validator: checks maps for common mistakes. The checks are run > automatically while editing but can be disabled by the map maker. > > - Pickmaps: allows a map maker to compose a set of related objects for > quick access. The objects can have custom modifications and > inventories. Pickmaps can be organized in folders. > > A possible use might be pickmaps defining walls and buildings used in > different areas of the world. > > - Treasure Lists: Treasure lists can be displayed in a tree view and > interactively explored. In the Game Object Attributes Dialog this > viewer is used to select the desired treasure list. Map makers are > prevented from using treasure lists used internally by the server > (such as the god information lists). > > - Plugins: Gridarta includes a plugin interface via a scripting language > (Beanshell). Scripts can access all of Gridarta's functionality. > > Currently existing scripts are: > > - LegacySpellConverter: a script I did write for converting spell > numbers into spell objects in all map files. It checks the actual > object type (including type modifications in map files) and > therefore does not produce false-positives a simple search&replace > would create. > > - MapNormalizer: load & save all map files. I did use this script to > make sure all map files have a consistent file format. It has been > run on all files in branch and trunk. > > - MapValidator: runs the map validator on a set of (or all) maps. The > result can be written to a log file. > > - WorldMaker: creates an overview image of the world maps. > Info/worldmap.png in the maps repository was created by this script. > > - Non-Rectangular Selections: Many functions (cut, copy, paste, fill, > selection from pickmaps, shift, etc.) operate on the selected area. > The selected area can have any shape; adding, removing, and flipping > is supported. > > - Safeguards: Gridarta tries hard to prevent the map marker from loosing > unsaved work. This includes prompting for unsaved maps, pickmaps, and > scripts when closing windows or exiting the application. > > - Map Previews: the file selector dialog optionally displays preview > images of the map files. This allows easy recognition of the map(s) > the map maker wants to open. > > - Auto-Updater: when using a pre-built editor, map makers can update > Gridarta via Help->Update. Additionally, Gridarta can automatically > check for updates on startup. > > - Non-English user interface: many of Gridarta's text messages are > translatable. Currently this includes German (all messages > translated), Swedish (about half translated), and French (few > translated). Adding more languages is very easy through text files. > > - Script Editor: Gridarta includes an editor for scripts. It supports > syntax-highlighting for Python (and more file types not normally used > in Crossfire maps). > > - Map View Filtering/Highlighting: the map view can hide and/or > highlight different object types. For example only walls and monsters > could be shown. Hidden objects are not affected by edit operations. > Available filters are not hard-coded but read from a configuration > file which allows easy customization. > > - Syntax Highlighting of msg...endmsg fields: for objects supporting > @match, the text is colored. Incorrect expressions (such as upper-case > characters) are highlighted. > > - Information Views: displays information about the current map. This > information is updated in real-time reflecting the current map state. > It includes connected objects, monsters, and map validation errors. > > - Map Views: one map file can be concurrently displayed in multiple map > views. This is useful when editing connected objects in different > parts of a larger map. > > - Zoom Tool: displays a map file with different scalings and allows to > save the result as image files. It can be used by map makers to > publish previews. > > - Recent menu: the file menu contains previously opened map files for > easy re-access. > > - Archetype Collection: Gridarta can collect archetypes (i.e., do the > same job as the collect.pl script). The created crossfire.0 file is > slightly smaller than the collect.pl one. > > - Opening Multiple Maps: the file selector allows to open multiple maps. > > - Reload Faces: reload faces without restarting the editor; this > simplifies the creation of new archetypes. (This feature is not yet > unified and therefore available only in DaimoninEditor.) > > - Control Server: Gridarta can control (i.e., start and stop) the server > and a client. This simplifies testing of maps without having to > manually starting server and client and issuing 'reset commands. (This > feature is not yet unified and therefore available only in > DaimoninEditor.) > > _______________________________________________ > crossfire mailing list > crossfire@metalforge.org > http://mailman.metalforge.org/mailman/listinfo/crossfire -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'aléatoire !]
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire