Register FAQ Search Today's Posts Mark Forums Read
Go Back   JazzJackrabbit Community Forums » Open Forums » General Jazz Jackrabbit Talk

JCS+??

Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Nov 30, 2017, 12:17 PM
Darkhog is offline
Reply With Quote
JCS+??

Not sure if it should go in the JJ2+ threads, so I'll leave it there. I think that instead of working on external, third-party level editors like many people did, e.g. with WebJCS and others, why the programmers behind these projects can't take a clue from JJ2+ and just make a JCS mod in similar way to what JJ2+ does with JJ2? Most code would stay the same (no need to rewrite stuff like level loading/saving routines, for example), but areas where JCS is weak could be improved. Perhaps it could even be done as part of JJ2+.

I'd make following changes to the JCS, for example:
- Easier way to make animated tiles, such as a window that opens after you double click an animated tile where you can add, remove and rearrange frames.
- Fixing help system so it properly opens the help file
- Built-in AngelScript editor (syntax highlight and code completion are optional, but recommended) for JJ2+

If JCS+ would be done as part of JJ2+ this would make it possible to stop with weird JCS hacks for features not supported by it, like Text|AngelScript 1 thing. Instead, proper new events could be created. Perhaps it could also allow for editing function by opening aforementioned code editor and jumping to the line the function is on directly from the select event window.

Unfortunately I don't have enough knowledge on either reverse engineering or the JCS' data structures, so I can't do this, but I know there are people here who have necessary skills.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,871

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Nov 30, 2017, 12:50 PM
Stijn is offline
Reply With Quote
Are you aware of MLLE?
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Nov 30, 2017, 02:34 PM
Darkhog is offline
Reply With Quote
Yes, but it's not JCS and as such there's no guarantee that it won't crash on some obscure level that doesn't crash JCS or the JJ2. It suffers from the same issues most of these projects, both replacements for JCS and the engine: potential incompatibilities with existing levels, having to reinvent the wheel regarding code (as in, you need to rewrite everything JCS does that doesn't need to be rewritten if "plus" route would be taken), different workflow if the program didn't take into account some obscure shortcut some people might've used and it also doesn't look as cool as JCS does.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Sir Ementaler Sir Ementaler's Avatar

JCF Member

Joined: Feb 2010

Posts: 776

Sir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to allSir Ementaler is a name known to all

Nov 30, 2017, 03:27 PM
Sir Ementaler is offline
Reply With Quote
Quote:
Originally Posted by Darkhog View Post
Not sure if it should go in the JJ2+ threads, so I'll leave it there. I think that instead of working on external, third-party level editors like many people did, e.g. with WebJCS and others, why the programmers behind these projects can't take a clue from JJ2+ and just make a JCS mod in similar way to what JJ2+ does with JJ2? Most code would stay the same (no need to rewrite stuff like level loading/saving routines, for example), but areas where JCS is weak could be improved. Perhaps it could even be done as part of JJ2+.

I'd make following changes to the JCS, for example:
- Easier way to make animated tiles, such as a window that opens after you double click an animated tile where you can add, remove and rearrange frames.
- Fixing help system so it properly opens the help file
- Built-in AngelScript editor (syntax highlight and code completion are optional, but recommended) for JJ2+

If JCS+ would be done as part of JJ2+ this would make it possible to stop with weird JCS hacks for features not supported by it, like Text|AngelScript 1 thing. Instead, proper new events could be created. Perhaps it could also allow for editing function by opening aforementioned code editor and jumping to the line the function is on directly from the select event window.

Unfortunately I don't have enough knowledge on either reverse engineering or the JCS' data structures, so I can't do this, but I know there are people here who have necessary skills.
Quote:
Originally Posted by Darkhog View Post
Yes, but it's not JCS and as such there's no guarantee that it won't crash on some obscure level that doesn't crash JCS or the JJ2. It suffers from the same issues most of these projects, both replacements for JCS and the engine: potential incompatibilities with existing levels, having to reinvent the wheel regarding code (as in, you need to rewrite everything JCS does that doesn't need to be rewritten if "plus" route would be taken), different workflow if the program didn't take into account some obscure shortcut some people might've used and it also doesn't look as cool as JCS does.
Hello, I am a JJ2+ programmer and my stance on this matter is as follows:

No.

Best regards.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,532

Violet CLM has disabled reputation

Nov 30, 2017, 03:46 PM
Violet CLM is offline
Reply With Quote
Look, I...

...

I have no idea how you think this is a sensible idea.
__________________
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Nov 30, 2017, 03:51 PM
Darkhog is offline
Reply With Quote
The same reason JJ2+ team though JJ2+ was one instead of reimplementing it from scratch.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,871

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Nov 30, 2017, 04:18 PM
Stijn is offline
Reply With Quote
But MLLE is already here. You can go use it to make levels with right now. Whether it's worth the effort to re-implement basic JCS functionality is a moot point since either way that effort has already been spent. MLLE is functional, more compatible and flexible than JCS, and it's even open source. At this point in time figuring out how to hook into JCS would be re-inventing the wheel, since there's a perfectly functional editor that can do more than JCS already.

Anyway, ideas are a dime a dozen. Go start a JCS+ project if you prefer it to MLLE, if others agree with you they'll surely follow your example and contribute.
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Nov 30, 2017, 04:52 PM
Darkhog is offline
Reply With Quote
JCS looks cool. MLLE looks just like another windows app.

Not to mention MLLE may produce levels inopenable with JCS (or JJ2 for that matter) whlle levels made with JCS will always make levels that can be opened and played properly. Also JCS is included with the game and MLLE is not. I wouldn't even bother with Plus if it wasn't directly on gog.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,871

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Nov 30, 2017, 05:10 PM
Stijn is offline
Reply With Quote
Quote:
Originally Posted by Darkhog View Post
Not to mention MLLE may produce levels inopenable with JCS (or JJ2 for that matter) whlle levels made with JCS will always make levels that can be opened and played properly.
You keep saying this, but unless you actually have a reason for expecting this to be the case based on MLLE's current performance, it's just vague fearmongering twaddle.

Really, your arguments amount to "JCS looks cooler" and while that is indisputably true, it's also not super relevant. It's probably more productive to fork MLLE and make it look fancy than to stick with JCS for the sole reason that it looks nice.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,532

Violet CLM has disabled reputation

Nov 30, 2017, 05:34 PM
Violet CLM is offline
Reply With Quote
Okay, let's be fair though. MLLE does sometimes produce levels that are not universal in their openability. There are two reasons for this, broadly speaking.

1: It's supposed to. The last few releases of MLLE have seen it adding a bunch of JJ2+-exclusive features, like custom palettes, recolored sprites, infinite layers, and infinite tilesets. If JCS tried to open such a level, it would have no idea what to do with it, and would only corrupt its data... so MLLE makes sure JCS can't open them.
2. MLLE has bugs. It does nobody any good to pretend this is not the case. The current one I'm wrestling with (you can help, if you like, it's open-source) is that the zlib library I'm using is occasionally spitting out incorrectly compressed byte sequences based on [I have absolutely no idea why this happens]. Fortunately this happens only very rarely, though reliably when it does occur, but it has happened.

But here's the thing. There is no reason to think that editing JCS—once you overcame, as Stijn alluded to, the enormous startup cost involved with that—wouldn't be any different. It'd still be us same people writing the code and making the exact same mistakes we do or would with MLLE. Just because a JCS+ started out as JCS doesn't mean it wouldn't be modified to do different things as time goes on—otherwise there'd be no point in at all. Switching from MLLE to a JCS+ in no way would eliminate human error.

(As for MLLE's color scheme, that's because the level editor that Epic Games actually used to make Jazz 2 looked just like that. JCS's pinkpurple makeover was just to make it fancier for the players. But I'd love to see a more colorful MLLE if you felt like forking it, like Stijn said; it's just never been a priority for me.)

Also, fun fact: it's possible to create .j2l files that unpatched JJ2 can open just fine, yet if JCS saves them, they get corrupted or lose information.
__________________
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Nov 30, 2017, 05:34 PM
Darkhog is offline
Reply With Quote
And the MLLE is such a stable editor. So stable, in fact, that it crashes right at the start and doesn't even display parallax correctly, unlike JCS.

https://pastebin.com/NsMEg69k

Such a stable and properly working editor indeed.

//edit: And if you're wondering, the level I've opened was a bog-standard "my first level", just starting position, some background tiles to avoid trail effect and an exit sign. Not even a single enemy.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Jelly Jam Jelly Jam's Avatar

JCF Member

Joined: Oct 2014

Posts: 672

Jelly Jam is doing well so far

Dec 1, 2017, 02:49 AM
Jelly Jam is offline
Reply With Quote
MLLE is already good and Violet will (hopefully!) keep working on it. So none of the things you said will stay an issue forever.
__________________
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Dec 1, 2017, 03:27 AM
djazz is offline
Reply With Quote
I should continue my work on WebJCS someday...
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Slaz Slaz's Avatar

JCF Member

Joined: Aug 2004

Posts: 1,225

Slaz is a forum legendSlaz is a forum legendSlaz is a forum legend

Dec 1, 2017, 04:00 AM
Slaz is offline
Reply With Quote
Quote:
Originally Posted by djazz View Post
I should continue my work on WebJCS someday...
I was just about to mention WebJCS here. I've made 2 levels entirely with the original version of WebJCS, and had no compatibility issues with any 1.23 or 1.24 version of JJ2 or the original JCS. While it doesn't have Plus compatibility other than JCS.ini properties, it does have the unique ability of collaboration with multiple people editing on the fly.

It also looks somewhat like the original JCS if that's of any value.

I'm still hosting a public non-collab version on my server that you can use to load and save files locally, as long as the tileset is present on the server: http://jj2.nl:1998
__________________
Add SlazRabbit on Xbox Live if you want to play some GoW1/2/3/J or Destiny.
Join JazzJackrabbit.net for the best online play experience.
Jazz Jackrabbit 2 Forever!!
Civilian Defence Force - JJ.net - mIRC.com
Primpy Primpy's Avatar

JCF Member

Joined: Nov 2014

Posts: 754

Primpy is an asset to this forum

Dec 1, 2017, 04:48 AM
Primpy is offline
Reply With Quote
Quote:
Originally Posted by djazz View Post
I should continue my work on WebJCS someday...
I highly encourage you to do so. WebJCS is much more comfortable to use than MLLE and regular JCS, at least in my point of view. It has a few tweaks *cough* Not being able to run the level *cough*, fixing those would greatly improve the level creation experience.
__________________
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Dec 1, 2017, 11:49 AM
Darkhog is offline
Reply With Quote
Quote:
Originally Posted by Slaz View Post
I'm still hosting a public non-collab version on my server that you can use to load and save files locally, as long as the tileset is present on the server: http://jj2.nl:1998
I wonder what would it take to wrap it inside something like nodewebkit so it can work as a stand-alone app.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Slaz Slaz's Avatar

JCF Member

Joined: Aug 2004

Posts: 1,225

Slaz is a forum legendSlaz is a forum legendSlaz is a forum legend

Dec 1, 2017, 12:12 PM
Slaz is offline
Reply With Quote
Quote:
Originally Posted by Darkhog View Post
I wonder what would it take to wrap it inside something like nodewebkit so it can work as a stand-alone app.

You may be able to use Nexe for that, although I do not have experience with that.
__________________
Add SlazRabbit on Xbox Live if you want to play some GoW1/2/3/J or Destiny.
Join JazzJackrabbit.net for the best online play experience.
Jazz Jackrabbit 2 Forever!!
Civilian Defence Force - JJ.net - mIRC.com
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,532

Violet CLM has disabled reputation

Dec 2, 2017, 06:37 PM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Darkhog View Post
And the MLLE is such a stable editor. So stable, in fact, that it crashes right at the start
This only happened for users with specific setups, and it could always be remedied in ten seconds if they asked. But the update I uploaded to J2O today should fix it altogether.

Quote:
and doesn't even display parallax correctly, unlike JCS.
Try clicking the "Parallax" button or reading the mentions of "Parallax" in the J2O download description.
__________________
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Dec 3, 2017, 01:22 PM
Darkhog is offline
Reply With Quote
Yes, clicked it, it went to the "button pressed" graphic, no other effect whatsoever. But I guess since it's crashes anyway (see the pastebin), it's too buggy to use anyway. Will check the update to see if it fixes it.

//edit: Seems to work nice. Though when I've clicked the tileset with ctrl key... What's the proper channel to give feedback on MLLE?
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.

Last edited by Darkhog; Dec 3, 2017 at 01:35 PM.
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,532

Violet CLM has disabled reputation

Dec 3, 2017, 02:11 PM
Violet CLM is offline
Reply With Quote
to be sure, the Parallax button will only have a visible effect in levels that have more than one layer
__________________
Darkhog Darkhog's Avatar

JCF Member

Joined: May 2012

Posts: 220

Darkhog is notorious for his worthless posts

Dec 3, 2017, 02:28 PM
Darkhog is offline
Reply With Quote
I know. But I'm using layers (I have to anyway at least for layer 8 or the trail will be present) and it did nothing in the previous version. Seems to work now though.
__________________
Code:
    .──.
   │O_O │
   ││_╱ │
  ╱╱   │╲
 (|▔╲  │ )
╱'╲_▔ _╱`╲
╲___) (___╱  TUX LOVES YOU.
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

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