JazzJackrabbit Community Forums

JazzJackrabbit Community Forums (http://www.jazz2online.com/jcf/index.php)
-   JCS & Scripting (http://www.jazz2online.com/jcf/forumdisplay.php?f=5)
-   -   What would you like to see in a brand new JJ2 level editor? (http://www.jazz2online.com/jcf/showthread.php?t=15794)

EvilMike Oct 8, 2010 03:03 PM

Quote:

Originally Posted by Unknown Rabbit (Post 461940)
Do you have a suggestion for an exact way of implementing the Save & Run choices?

A simple options screen would suffice. Basically it would just be a menu where you choose the difficulty mode, game mode, and character you want to play as when you choose "save and run". This way, ctrl+r still takes you right into the game. The default options would be jazz + single player + normal mode (as it is now). These settings should probably be saved in jcs.ini.

As for the JJ2-specific things in my post, they are there because JCS is primarily a JJ2 level editor. Even if it is expanded to support a few other related games, it will still be used for JJ2 levels the most. Therefore, I think it's a good idea to focus on features that will be useful to the vast majority of people (leaving out features in the name of making the editor compatible with say, battery check, would be foolish). Besides that, this thread is specifically about a new JJ2 level editor.

However, there is nothing wrong with putting some very specific data (such as the radius of a steady light event) into some external file. MCE data could possibly be handled this way too, though it would have to be a bit more complicated. This way, a hypothetical JCS+ would still be able to fully serve the purposes of jj2 level editing, but it could easily be reconfigured to work with other games.

Also, if the editor supported multiple games, it should really have a different mode for each game. Opening a battery check level file would mean, for example, that the editor knows not check for JJ2-specific errors (instead it would check for battery check ones, whatever they might be). Sprites would be loaded from that game's anims file, rather than JJ2's. And so on. This way, the editor would (ideally) serve every game equally well, in whatever specific ways are needed, rather than clumsily trying to support everything at once (to the detriment of everything else).

In conclusion: I think it's possible to make an editor that supports JJ2-specific features and supports other games at the same time. But, JJ2 should be considered first, since it is always going to be the most popular game the editor is used for.

EvilMike Oct 8, 2010 03:29 PM

Another thing I'd like: Something I would describe as a custom "meta-tileset".

Basically, it would be a special window where you place tiles as you normally would in the level. However, nothing in this window is actually a part of the level. Instead, you copy and paste bits of it into the level itself, as you would from the tileset window. The window should probably have some sort of "lock" option on it, which if enabled, allows you to select tiles from it exactly as you would from the tileset window (no need to press B).

This would be especially useful for tilesets which are disorganized, or which have a lot of tiles you don't want to use, or lack a lot of empty tiles. Or if you want to set up certain patterns of tiles which you will use frequently, and aren't arranged nicely in the tileset itself. If you were particularly skilled, you could set up a "meta tileset" and build your level entirely from that, and hide the original tileset window. There wouldn't be any restriction on size (horizontal or vertical), you'd be free to have as much blank space as you want, and have lots of repetition. A feature like this would *greatly* increase the speed of making levels, if used properly. Oh yeah, and you'd be able to place animations in them too.

Basically, you'd be taking the tileset and rearranging it to your whims within JCS itself.

It should be possible to save what you make in this, so any other level with that tileset has the same meta-tileset(s) available. The filename would be something like [tileset filename].mj2t. If you have multiple different ones (useful for tilesets that are capable of a lot of different visual styles) then the filenames could be numbered. Particularly pro tileset makers could package their tilesets with these already made.

Finally, you should be able to import meta-tilesets which were designed for a different tileset. Under normal circumstances this would produce garbage (just like if you take a diamondus level and change it's tileset to tubelectric). But in specific cases this would be very useful (in particular, when a tileset has a lot of different versions, which is often the case).

Anyway, there is enormous potential in a tool like this. It sounds incredibly simple, but I estimate that it would speed up the process of level making by several hours, and remove a lot of the tedium. In fact, I already (clumsily) do something like this in JCS, by putting patterns of tiles I want in an empty part of the level (and deleting them when it's finished), or copying large portions from already finished parts of the level (almost all experienced level makers do some form of this, although we're usually good at hiding it). This method requires a lot of scrolling though, so it's not very efficient compared to what I'm suggesting.

Obi1mcd Oct 9, 2010 01:26 AM

How about the option to save a level as 1.23 or TSF? I really hate it when I save a level in my TSF JCS. Perhaps a warning box that pops up if you use TSF-only events or tilesets. Also, a built-in 1.23 converter would be cool.
Oh, and that meta-tileset thing would be terrific. That's one of the most time-consuming parts of level-making.

Jgke Oct 9, 2010 04:13 AM

Hmm, I know one feature but I don't know how to explain it... Umm, users could make a database of different tileset's tiles, so that changing tilesets would be easy. Database would be like:
Windstorm Fortress: [tile]Basic ground tile #1, [another tile]Basic ground tile #2, [third tile]Eyecandy style 1 basic tile etc.
WTF Borealis: [tile]Basic ground tile #1 etc.
so that the editor could automatically change the tileset correctly. This could also be used as auto-eyecandy and random levels :)

minmay Oct 9, 2010 06:56 AM

I'd like to see Save & Run (re)load the level in an existing JJ2 window instead of opening a new one every time. Obviously it would need some option to allow you to still play normal games while testing levels.

Jgke Oct 9, 2010 08:24 AM

^only affecting JCS-run JJ2 windows?

Olsen Oct 10, 2010 06:14 AM

Quote:

Originally Posted by EvilMike (Post 461948)
metatileset

This would be so, so awesome.

cooba Oct 10, 2010 06:18 AM

Quote:

Originally Posted by EvilMike (Post 461948)
Instead, you copy and paste bits of it into the level itself, as you would from the tileset window. The window should probably have some sort of "lock" option on it, which if enabled, allows you to select tiles from it exactly as you would from the tileset window (no need to press B).

I remember Pyromanus told me about doing something similar to this (forgot what it was for), except his idea worked like brushes in Photoshop. You could select a few tiles and make a brush out of them, and then use to your will.

Either way it'd be great to have something like this. (Instant Inferno trees?!)

Violet CLM Oct 15, 2010 06:51 PM

Quote:

Originally Posted by EvilMike (Post 461947)
As for the JJ2-specific things in my post, they are there because JCS is primarily a JJ2 level editor. Even if it is expanded to support a few other related games, it will still be used for JJ2 levels the most. Therefore, I think it's a good idea to focus on features that will be useful to the vast majority of people (leaving out features in the name of making the editor compatible with say, battery check, would be foolish). Besides that, this thread is specifically about a new JJ2 level editor... Also, if the editor supported multiple games, it should really have a different mode for each game. Opening a battery check level file would mean, for example, that the editor knows not check for JJ2-specific errors (instead it would check for battery check ones, whatever they might be). Sprites would be loaded from that game's anims file, rather than JJ2's. And so on. This way, the editor would (ideally) serve every game equally well, in whatever specific ways are needed, rather than clumsily trying to support everything at once (to the detriment of everything else).

I agree; perhaps Battery Check is a bad example. One problem with JJ2+ at the moment is that there's only so much that can really be stored in the .j2l file, meaning only so much innovation is possible. Sure, you can stick extra stuff in there, but JCS will kill it the moment you save anything. A new level editor would mean no longer worrying about JCS, so the .j2l format could be expanded to new versions compatible only with advanced versions of JJ2+. So maybe even the more ridiculous suggestions like "more layers" have their place, in time.

djazz Mar 24, 2011 03:16 AM

I have made a list of the stuff I found in this thread that I would like to see in a brand new JJ2 level editor. As I'm working on a new version on WebJCS, I'm open to suggestions and requests :)


LEVEL PROPERTIES

Textboxes
- Browse buttons for Next level, Secret level and the Music field
- Ability to open Next level/Secret level without having to manually open it (should open in a new tab/window)

Ambient lighting
- Ability to have a level start with lighting higher than 100 ("I've seen this in some hacked levels")
- Replacing the lighting bars with textboxes (not a big deal but can get annoying) (Maybe as an option?)

Text strings
- Ability to use 511 characters long text strings instead of 127, or more textstrings than 16
- A counter showing how many more characters may be used in a text string
- An easier way to browse through the text strings
- Displaying the text string contents in a box rather than a long line (Replacing newlines with "@")
- Allowing (live) preview of text strings (simplifying coloring)


ANIMATIONS

Animation properties
- Replacing the FPS bar with a textbox (not a big deal but can get annoying) (Maybe an option?)

Animations info
- A counter displaying how many animations can be stored in a level, how many that are currently in use and how many more you can add

Animation list
- Ability to arrange the animations
- Fixed view of the animation when scrolling horizontally (so you see the result if you have a very long animation)


SAVING/COMPILING/RUNNING

Tileset compiling
- Easier and clearer tileset compression (displaying the exact error once one happens for example)
- More advanced tileset compiler (choose palette, etc..)

Save & Run
- Run command line options

Saving
- Helpful warnings when user tries to save. Things like "Level does not contain proper start positions", "Warp on tile x,y would get player stuck", "No corresponding Warp Target for warp ID x", "Flipped animated tile at x,y could crash game", "No next level setting specified". User should be able to ignore warnings or turn off warnings entirely.


EVENTS

- Less cumbersome event listing
- A search/filter field
- Bitfield editor
- JCS.ini editor
- Searching for specific events in a level, add replacing features
- MCE list, and maybe a MCE generator (that places the desired MCE)
- Listen to the ambient sounds before you add them
- Show hints for events, like arrows on suckertubes, poles, wind, belts etc..
- Event window contains links to corresponding ERE entries for each event ;)
- Event window display mode where each event in the list contains an image of the event. Tuf turtle image above "Tuf Turt" event, etc. Like windows explorer thumbnail view.


LAYERS

Layer properties
- A colorpicker for the 16-bit Warp-Horizon textured background fade

Miscellaneous
- Export layer(s) as image(s) to PNG or other format
- Ability to manually set tile caches, such that tiles in the foreground layers can use the same tile cache as tiles in layer 4 etc..
- A function that changes all layer dimensions to the smallest values possible without removing tiles. Of course it should move the level up and left as far as possible on all layers with both speeds 1 and both autospeeds 0.
- 1x1 tile sized (or bigger) grid, 4x1 grid and ID for the tilecache

Drawing
- Flood fill/paint bucket, (random) tile patterns, lines, rectangles etc..
- Tile clipboard


PARALLAX VIEW

- Show sprites, like ammo, enemies, springs etc..
- Zoom in/out
- True in-game view


TILESETS

- Tileset extractor
- Working rightclick menu (Put event, grab event..)
- More hotkeys for adding/removing tiletypes on tiles


MISCELLANEOUS STUFF
- Random level generator (really? awesome!)
- Not only undo, but also redo
- A file manager specialized for JJ2 files
- Save as 1.23 or TSF
- A help file which incorporates everything in JCSref
- Built-in lists and appendices for the MCE list and ambient sounds and other lists
- Ability to remove level password (for your *own* level) once a password has been set.
- Episode editor/compiler?
- Collaborative level editing. Login, chat, draw, etc..


THE INTERFACE

- Tabs for having multiple levels opened at once
- Better working scrollbars for the tileset dropdown
- A better tileset picker, filtering, one that shows for example version of the tileset before you load it
- Skins/themes of the level editor
- Hex editor for low-level editing
- A (completely?) new interface? Or choose your own interface
- A mix between the layers and parallax window
- More hotkeys!
- Maybe a web interface? See WebJCS or try the new WebJCS

Jerrythabest Mar 24, 2011 06:52 AM

Quote:

Originally Posted by DJazz (Post 467661)
- Save as 1.23 or TSF

Or 1.10o :rolleyes:

Jgke Mar 24, 2011 08:09 AM

A mode at which editing and playing can be done at the same time, with multiple players.

Seren Mar 24, 2011 10:40 AM

I see that you included Reworder functions, but don't forget Violet's another find, being adding animations to animations. Also, you didn't mention any new better way of adding frames to animations; I'd myself recommend some drag & drop system, a possibility to multiply a given frame (like, right click > multiply > writing "30" in a text box > 30 frames of the same tile appear) and working ctrl+x, ctrl+c, ctrl+v. Or something.

Zerg Mar 25, 2011 10:00 AM

1 or 2 more background layers

Jgke Mar 25, 2011 10:14 AM

It's not a new game, it's only a level editor.

Zerg Mar 25, 2011 10:44 AM

ops.. more trigger ID and text strings available
I shouldn't write here... "good yob"- now I don't know if the person was sarcastic or accidentally gave negrep for this... but not problem(really don't care, but it makes me angry that I don't know who is him/her)...

Jgke Mar 25, 2011 11:02 AM

Trigger ID is the same thing, but text strings can be 511 characters long, and there COULD be theoretically 256 text strings... Nerd will count them and then say that there can be only 16 ;)

Violet CLM Mar 25, 2011 01:28 PM

There can be at most 256 text strings, but it's worth noting that a) some of the earlier numbers (I think maybe 17-65 or so?) shouldn't be used because they'd conflict with animations, and b) TSF doesn't seem to support text strings above 16 at all. Also you can totally have a text string more than 512 characters: if you fill one all the way up, JJ2 will continue reading the next one until it hits a blank byte.

Cosmo Mar 26, 2011 02:34 AM

The events updated and also more text strings characters to write . If it is possible ,
you should edit default colors which are enabled by # with normal jj2 color key | to make different colors , not the variants of colors when you have # on a text string .

Nerd Mar 26, 2011 02:58 AM

It isn't really possible to alter how text strings work without patching JJ2 itself, no. Creating a feature that automatically adds the correct amount of |'s might be possible, though (an option that displays text strings differently?).
What do you mean by "updated events"?

Quote:

Originally Posted by Unknown Rabbit (Post 467722)
some of the earlier numbers (I think maybe 17-65 or so?) shouldn't be used because they'd conflict with animations

I think you could use the part of the animation area that isn't used by animations (its size depends on the static tile count field). I'm not sure, though, as I haven't ever tested it.

Violet CLM Mar 26, 2011 12:51 PM

Oh, I'm pretty sure you could. It's more of a user interface question; what do you do if the user later decides to add more animations so that they conflict with the text strings?

Obi1mcd Mar 26, 2011 09:25 PM

Would an option to display different event lists be within reason? As in, the option to show/hide Christmas events or the TSF addon enemies.

TomoAlien Mar 27, 2011 09:58 AM

Quote:

Originally Posted by Obi1mcd (Post 467783)
Would an option to display different event lists be within reason? As in, the option to show/hide Christmas events or the TSF addon enemies.

This, and also the ability to save levels as either TSF maps or 1.23 maps.
Oh, and choosing launch settings (Character and difficulty to use when testing).

Jerrythabest Mar 27, 2011 10:03 AM

Quote:

Originally Posted by Unknown Rabbit (Post 467722)
There can be at most 256 text strings, but it's worth noting that a) some of the earlier numbers (I think maybe 17-65 or so?) shouldn't be used because they'd conflict with animations, and b) TSF doesn't seem to support text strings above 16 at all. Also you can totally have a text string more than 512 characters: if you fill one all the way up, JJ2 will continue reading the next one until it hits a blank byte.

Maybe it's a solution to remove the Text ID stuff from the UI, assigning the ID's to the texts only when saving the level.

In the Select Event window, drop the 'Text ID' box and replace it with a dropdown list containing the texts that are in use elsewhere in the level, plus an option to 'Add a new text string...'. The user is allowed to create any number of unique text strings and animated tiles, as long as it's technically possible to save them without interference or other issues. Possibly, a warning message should be displayed in the status bar whenever this is not possible. JCS should still allow additional text strings to be added, as the user may be planning to reduce the number of text strings or animations later on.

Violet CLM Mar 27, 2011 01:13 PM

Hmm, that does sound nice. It requires expanding the capabilities of the event selection window/JCS.ini/whatever a little, but I suppose in this hypothetical context that's hardly an obstacle. (It should still be noted that text strings higher than id #16 have been tested very little at all, and blur suspects they may lead to bugs that we just don't know about yet.)

WhiteBlaster Mar 28, 2011 05:16 AM

Another useful thing may be a warning for game errors. For example, when you put too many enemies in a level, the JCS should warn you in some way.

EDIT: Answering negrep: whatever. As I said nothing. Sorry if my tiny, single, little post smeared this forum.

djazz Aug 18, 2011 12:16 AM

Quote:

Originally Posted by DJazz (Post 467661)
THE INTERFACE
- Skins/themes of the level editor

I'm working on this atm. For now you can change the light/dark background colors:
[IMG]http://i.imgur.com/GmroF.png[/IMG]
(The OS is Ubuntu 11.04)
I made the colorpicker from scratch.

This development version don't work in latest Chrome stable (13), but it works in Chrome dev (14). I can't release the new version until they fixed it. The current version of WebJCS should run just fine in Chrome 13. If you have access to Chrome/Chromium 12, that works too with both WebJCS versions.
Here is a comparison between Chrome 13 and Chromium 12.

If you want to try out the latest dev version (with this colorpicker and some other new features) click this link.
You always find the current stable version of WebJCS on the Chrome Web Store.

FOX292 Aug 18, 2011 07:43 AM

I WANT MORE THAN 15 TXT STRINGS!!!

Quote:

Some function which disables choosing music files bigger than 2MB (and 1.5MB for multiplayer?)
There are ppl uploading heavy modules / MP3 files for SP episodes, You know.

Obi1mcd Aug 18, 2011 10:47 AM

The number of text strings is nothing to do with JCS.
EDIT: Ouch, maybe that wasn't the right way to phrase it, but basically what UR said. If he added strings over 16 in a TSF level, it might not work. Sorry about that.

cooba Aug 18, 2011 10:55 AM

Quote:

Originally Posted by Obi1mcd (Post 469743)
The number of text strings is nothing to do with JCS.

Yes it does, thanks for reading the thread.

Violet CLM Aug 18, 2011 11:17 AM

Quote:

Originally Posted by Unknown Rabbit (Post 467722)
There can be at most 256 text strings, but it's worth noting that a) some of the earlier numbers (I think maybe 17-65 or so?) shouldn't be used because they'd conflict with animations, and b) TSF doesn't seem to support text strings above 16 at all. Also you can totally have a text string more than 512 characters: if you fill one all the way up, JJ2 will continue reading the next one until it hits a blank byte.

^Earlier on this page.

Quote:

Originally Posted by Unknown Rabbit (Post 469614)
1.23 (and presumably lower versions) will display text strings all the way up to #255, although #16 to about #63 run the risk of overlapping other data stored in the .j2l. Adding text strings higher than #~63 to a .j2l file does not interfere with any data in the .j2l itself, but does overlap with and apparently overwrite memory internal to JJ2. However, we know absolutely nothing about what deleterious effects this might or might not have, because it's so untested. TSF, by contrast, will only display text strings #0-15.

^Pretty much the same thing in another thread, but with more caution.

Crazy Rabbit Aug 21, 2011 06:29 PM

Would be cool if JCS can be used online...
Then whole command or just two JCSers can do ONE level in same time...

Sean Aug 21, 2011 07:01 PM

Quote:

Originally Posted by Crazy Rabbit (Post 469775)
Would be cool if JCS can be used online...
Then whole command or just two JCSers can do ONE level in same time...

^ I support this.


All times are GMT -8. The time now is 09:23 AM.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
JCF © 2001-Infinity Jazz2Online