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

OpenJazz vs. OpenJazz2

Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Jun 30, 2010, 11:10 AM
Alister is offline
Reply With Quote
OpenJazz vs. OpenJazz2

There have been many mentions of an OpenJazz2 over the years, but they never seem to have resulted in anything actually being released. Given Neobeo's documentation of the JJ2 file formats, this is a little tragic.

So, anyway. I was toying around with having JJ2 tilesets and layer 4 tiles substituted into JJ1 levels in OpenJazz. Of course, unlike JJ1 levels, not all JJ2 levels are 256 by 64. I decided it would be easier to separate the code out and load JJ2 levels in their own right. The separation was actually quite straightforward to do, following the refactoring I'd already done to support bonus levels.

If you get the latest OpenJazz source from SVN (https://openjazz.svn.sourceforge.net/svnroot/openjazz), you'll find you can load up JJ2 (inc. TSF) levels and have a bit of a run around. There aren't any events, which rather limits what you can do, but it's better than the very first OpenJazz release was for JJ1 levels.

So, what do people think? Instead of trying to recode JJ2 from scratch, how about using the existing OpenJazz infrastructure to fully support JJ2 levels?
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
minmay

JCF Member

Joined: Aug 2002

Posts: 1,181

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Jun 30, 2010, 11:24 AM
minmay is offline
Reply With Quote
Sound good, except that loading levels is hardly the most difficult part of replacing JJ2's engine.
Sonyk Sonyk's Avatar

JCF Member

Joined: Feb 2005

Posts: 2,409

Sonyk is doing well so far

Jun 30, 2010, 01:51 PM
Sonyk is offline
Reply With Quote
I wouldn't be against the idea. Especially if it eventually culminated in using JJ2's JCS to create playable JJ1 levels.

...eventually.
EvilMike EvilMike's Avatar

JCF Member

Joined: Jun 2001

Posts: 3,478

EvilMike is OFF DA CHARTEvilMike is OFF DA CHARTEvilMike is OFF DA CHARTEvilMike is OFF DA CHART

Jul 1, 2010, 02:30 AM
EvilMike is offline
Reply With Quote
Quote:
Originally Posted by Alister View Post
So, what do people think? Instead of trying to recode JJ2 from scratch, how about using the existing OpenJazz infrastructure to fully support JJ2 levels?
It's a very interesing idea, but I think if you want to *fully* support JJ2 levels, you'll need to support a lot of other JJ2 features as well. The two games have extremely different styles of movement, and JJ2 levels are often designed around special moves (which the jj1 sprites won't allow for) or general quirks in the game. Basically, some (maybe even most) levels will probably work fine if converted to JJ1, but there will be a number of cases where they are incompatible.

Still, what you have going right now is really good, and a lot easier than recoding JJ2 would be. Plus, it can work as a good starting point for adding more and more compatibility with JJ2 levels, perhaps to the point where there'd be no need for anything like an "OpenJazz2".
Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Jul 1, 2010, 08:39 AM
Alister is offline
Reply With Quote
I've just uploaded a build. Note that if you already have a version of OpenJazz, you'll also need a copy of zlib.dll.

Quote:
Originally Posted by minmay View Post
Sound good, except that loading levels is hardly the most difficult part of replacing JJ2's engine.
That's why I'm asking if people are interested in taking it further.

Quote:
Originally Posted by Sonyk View Post
I wouldn't be against the idea. Especially if it eventually culminated in using JJ2's JCS to create playable JJ1 levels.
If all you want to do is create a JJ1 level using layer 4's tiles, that's actually quite straightforward (but beyond the scope of OpenJazz). JCS won't be able to handle JJ1 events, though. They work in a completely different way.

Quote:
Originally Posted by EvilMike View Post
It's a very interesing idea, but I think if you want to *fully* support JJ2 levels, you'll need to support a lot of other JJ2 features as well. The two games have extremely different styles of movement, and JJ2 levels are often designed around special moves (which the jj1 sprites won't allow for) or general quirks in the game. Basically, some (maybe even most) levels will probably work fine if converted to JJ1, but there will be a number of cases where they are incompatible.
Player movement and animations will eventually be different. OpenJazz currently uses separate code for player movement/appearance for JJ1 and JJ2 levels. Admittedly, the code for JJ2 is just copied and pasted from the code for JJ1, but I will be modifying it.
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Jul 3, 2010, 01:10 AM
Violet CLM is offline
Reply With Quote
Making good progress on Sonyk's wish, which helpfully I was already working on:
__________________
Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Jul 3, 2010, 05:53 AM
Alister is offline
Reply With Quote
Awesome! I'm guessing you're taking event settings, animations etc. from the existing level? How are you dealing with the start position?
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Jul 3, 2010, 10:07 AM
Violet CLM is offline
Reply With Quote
Worries about animations and start positions are for a later project. I do want to make another program that'll get you playable JJ2 levels with only a little input (mostly along the lines of confirming its guesses about which events you want to use), but I don't know any GUI code yet, so that's going to be a bit later down the line. This is just for people who would rather edit level layouts (but not events, animations, background effects, etc.) in JCS than J1E, so all I have to be able to port back and forth is layout, tileset, mask, and event names.

ETA: Transparency and layers 5 and 8 are good to go. So is masking but you can't see that here.

I'll stop posting screenshots and let discussion of the actual topic resume now.
__________________

Last edited by Violet CLM; Jul 3, 2010 at 02:14 PM.
[GpW]Urbs [GpW]Urbs's Avatar

JCF Member

Joined: May 2001

Posts: 1,074

[GpW]Urbs is an asset to this forum

Jul 4, 2010, 05:15 AM
[GpW]Urbs is offline
Reply With Quote
I'm just amazed at how inventive some people in this community are. That doesn't get said often enough.
I mean, OpenJazz, then there's that whole JJ2plus thing going on and not to mention all the wicked levels and tilesets (although to be fair, with all that you guys are working on things like levels and tilesets have become so unkewl). And I believe there was even some JJ3 thing going on where the jj3 demo was playable online?
I mean... insane. And it's not just that you guys are inventive, all of this takes time!

*bows down and salutes*
__________________
U.R.B.S.
Unit Responsible for Battle and Sabotage

Gamer Pryde Worldwide

Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Jul 4, 2010, 10:37 AM
Alister is offline
Reply With Quote
*salutes while bowing down, and accidentally topples over*

There's a new version. It no longer messes up flipped tiles, or layers with widths not divisible by 4 (oops). There are also a few events.
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
plunK plunK's Avatar

JCF Member

Joined: Apr 2008

Posts: 514

plunK is an asset to this forum

Jul 9, 2010, 11:17 AM
plunK is offline
Reply With Quote
Wow... this is really impressive. Id really love to get onboard the openjazz team, but i have basically no coding knowledge so there aint alot i can do
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Aug 1, 2010, 02:01 PM
Violet CLM is offline
Reply With Quote
I did my thing
__________________
plunK plunK's Avatar

JCF Member

Joined: Apr 2008

Posts: 514

plunK is an asset to this forum

Aug 7, 2010, 07:33 PM
plunK is offline
Reply With Quote
Quote:
Originally Posted by Unknown Rabbit View Post
....And it looks like I need to start trying to make levels.

Excellent job, this is much needed and much easier imo.

Jealous of coding skills...... XD
Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Aug 14, 2010, 05:33 AM
Alister is offline
Reply With Quote
Awesome!

Unfortunately, now I have to panic about the bugs in Sonic With a Gun.
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Aug 14, 2010, 10:37 AM
Violet CLM is offline
Reply With Quote
I have no idea why so many sprites disappear, but it looks like most of the other problems stem from inaccurate calculation of speeds and distances. There's also some inaccurate checking of collision masks, in that the green shooty guys can only fire in OJ when they're on unmasked tiles and the spring plants rarely work (the same problem occurs in the original Jungrock). Looking ahead, the code for the thirty-eighth and thirty-ninth behaviors doesn't allow for reversing the y-axis (to create a downward sucker tube-like event), and the code for fourth behavior doesn't detect pits (it's supposed to be confined to a single platform, as in the third behavior) and doesn't stop just before reaching you.
__________________

Last edited by Violet CLM; Aug 19, 2010 at 06:51 PM.
Alister Alister's Avatar

JCF Member

Joined: Mar 2001

Posts: 908

Alister is doing well so far

Sep 26, 2010, 12:04 PM
Alister is offline
Reply With Quote
Sorry it's taken so long to respond. I moved the day after posting that, and I've only had an internet connection since Friday.

The sprite problem has now been fixed - it was caused by conflicting sprites in mainchar.000 and sprites.000. I don't know how JJ1 handles this, but this should probabaly be avoided - it could be causing a memory leak. Still, I'd assume DOSBox cleans up after itself. Either way, OpenJazz now handles this correctly.

Yes, the speeds are inaccurate. I spent ages trying to perfect them back when I first started OpenJazz, but a lot has changed since then. I've been reluctant to spend so long perfecting them again, in case things change radically again. Still, at least the levels are playable now.

Starting positions for bullets have proven difficult to get right. Perhaps I could get them to ignore the mask on their first tile, or the first sequence of mask they encounter when they are generated on a mask.

Would it be possible to get an example of a downward sucker tube?

It sounds like the fourth behaviour should be easy enough to fix.
__________________
OpenJazz: Site - Talk
Palette Suite: Site - Talk
Yours truly: Site
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Oct 15, 2010, 06:45 PM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Alister View Post
The sprite problem has now been fixed - it was caused by conflicting sprites in mainchar.000 and sprites.000. I don't know how JJ1 handles this, but this should probabaly be avoided - it could be causing a memory leak. Still, I'd assume DOSBox cleans up after itself. Either way, OpenJazz now handles this correctly.
JJ1 handles this by using the sprite from the planet-specific sprite file, rather than the general sprite file, whenever there's a conflict.
Quote:
Would it be possible to get an example of a downward sucker tube?
Behavior: Repel Jazz foreground
Modifier: Pull Jazz
Variable #1: 60
Variable #2: -1
It shoots Jazz up instead of down.
__________________
Old May 22, 2016, 10:52 AM
luke11685
This message has been deleted by Stijn. Reason: unwarranted thread revival
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 05:12 PM.