View Full Version : Jazz 2 Resurrection
DeathKiller
Jun 29, 2017, 11:48 AM
http://deat.tk/public/jazz2-yellow.gif
Jazz² Resurrection is reimplementation of the game Jazz Jackrabbit 2 released in 1998. Supports various versions of the game (Shareware Demo, Holiday Hare '98, The Secret Files and Christmas Chronicles). Also, it partially supports some features of JJ2+ extension and MLLE.
This game requires assets from the original game.
Jazz² Resurrection supports various versions of the original game, but it is recommended to use The Secret Files. Also, if you have more than one version, you can import all of them, but it's recommended to import TSF as the last one. If you don't have any JJ2 version, you can run Import.exe by double-click (without parameters) and it will download and import Shareware Demo.
What's implemented:
Singleplayer mode (story episodes + home cooked levels)
All 3 playable characters, 99% of enemies (+ bosses), all weapons - but not 100% accurate
All episodes are playable to the end
Textured backgrounds, lighting, water, snow, rain, ...
Springs, collectibles, crates, save points, bonus warps, ambient sounds, steam notes, explosions, airboards, ...
Some JJ2+ specific events/parameters
Renders at fixed resolution 720x405, but automatically adapts to different aspect ratios
Several scaling filters
Normal maps for lighting
Uses some unused animations and sounds
And many other things...
Instructions: http://deat.tk/jazz2/#running-the-application
Download:
Windows / Linux / macOS: http://deat.tk/jazz2/
Requires .NET Framework 4.5.2 on Windows, or Mono 4.6 on Linux/macOS.
Android: http://deat.tk/jazz2/
Requires device with Android 4.4 or newer and OpenGL ES 3.0 support.
Release Notes: http://deat.tk/jazz2/release-notes
Controls:
Arrows - Move
Space - Fire
V - Jump
C - Run
X - Change Weapon
GitHub: https://github.com/deathkiller/jazz2
This software is licensed under the GNU General Public License v3.0.
Discord: https://discord.gg/Y7SBvkD
Gameplay video (v0.5.8): https://youtu.be/M794QHwfMXg
https://raw.githubusercontent.com/deathkiller/jazz2/master/Docs/Screen1.png
Treylina
Jun 29, 2017, 02:30 PM
Okay...I'll be honest. I'll give a plus for some effort, though there are quite a few issues..
For a start, the camera needs work. It should lead the player ahead, not follow them. It's kinda nauseous to watch.
Secondly, I noticed quite a lot of features missing not mentioned, that were actually good, for example, ambient lighting on shot projectiles - they give extra clarity, especially in light areas of levels. And there's lots of missing sounds/animations. Also, is running implemented? It's not featured in the video at all. That's the bread and butter of JJ2, despite some newbies overlooking it.
Thirdly, I'm also not a fan of how Spazzes and Jazzes shooting sound effects have been changed at all. This wouldn't be bothersome if they were new sounds altogether, but when you swap clearly established sounds that were within the original game, it's very misleading and sounds buggy.
As much as it's great to still see people passionate about the series, I've seen many JJ2 remakes that never get finished, that I have little hope and higher standards. And the fact that JJ2+ offers so much more - even if one remake was done, it would be unlikely that many, if any would move over. Except for those allergic to piracy and second-hand copies, and tileset makers who can't stand working with an 8-bit pallette. I've been repressing that thought a lot to not piss people off, though I didn't want to hold it in anymore. I would prefer to see more players and JCSers in the current game, or a truly new fangame altogether. Perhaps even more working in the plus team.
However, if this is simply for the sake of practice/doing a hobby - don't mind the above paragraph.
Stijn
Jun 29, 2017, 02:44 PM
Nice work - looks like you've gotten pretty far already. It makes me wonder what makes JJ2 so compelling to remake, as this is maybe the 5th reproduction that's been announced here so far... though I suppose it's a fun game to remake as a hobby project and relatively easy to get to a somewhat decent level of reimplementation. Linux and Android support is a particularly nice feature.
Love & Thunder
Jun 29, 2017, 04:50 PM
Looks good so far. My only real complaint is that I personally am not a fan of the scaler used, but otherwise, looks great!
I look forward to future updates on this. :)
DeathKiller
Jun 30, 2017, 12:27 AM
Thank you for your feedback.
Okay...I'll be honest. I'll give a plus for some effort, though there are quite a few issues..
For a start, the camera needs work. It should lead the player ahead, not follow them. It's kinda nauseous to watch.
Smooth camera is experiment and can be adjusted (or even turned off). Smoothing is completely turned off for vertical MP levels, because player easily gets off screen.
Secondly, I noticed quite a lot of features missing not mentioned, that were actually good, for example, ambient lighting on shot projectiles - they give extra clarity, especially in light areas of levels. And there's lots of missing sounds/animations. Also, is running implemented? It's not featured in the video at all. That's the bread and butter of JJ2, despite some newbies overlooking it.
Yes, running is implemented. I don't think there are lots of missing animations, I know that idle animations, ledge and airboard are missing (and End Of Level animation is not implemented properly right now). Lighting system doesn't support "oversaturation" (values over 1.0), so it must be rewritten first. It's using HW 3D rendering, so some features are complicated to implement.
Thirdly, I'm also not a fan of how Spazzes and Jazzes shooting sound effects have been changed at all. This wouldn't be bothersome if they were new sounds altogether, but when you swap clearly established sounds that were within the original game, it's very misleading and sounds buggy.
Sound effects could be different, I assigned them as I found them in game files and didn't compare them with original game. I will fix it. They can be changed without source code change, this mapping is saved in external file.
As much as it's great to still see people passionate about the series, I've seen many JJ2 remakes that never get finished, that I have little hope and higher standards. And the fact that JJ2+ offers so much more - even if one remake was done, it would be unlikely that many, if any would move over. Except for those allergic to piracy and second-hand copies, and tileset makers who can't stand working with an 8-bit pallette. I've been repressing that thought a lot to not piss people off, though I didn't want to hold it in anymore. I would prefer to see more players and JCSers in the current game, or a truly new fangame altogether. Perhaps even more working in the plus team.
However, if this is simply for the sake of practice/doing a hobby - don't mind the above paragraph.
It's hard to overcome the original game, because everybody is used to play it. This game will never be the same, it would be similar. It's a hobby, because original data files are still copyrighted and it's hard to distribute or do something more with it. That's why I didn't post download link for playable game yet.
Nice work - looks like you've gotten pretty far already. It makes me wonder what makes JJ2 so compelling to remake, as this is maybe the 5th reproduction that's been announced here so far... though I suppose it's a fun game to remake as a hobby project and relatively easy to get to a somewhat decent level of reimplementation. Linux and Android support is a particularly nice feature.
I didn't want to show another incomplete remake/fangame, but the game is playable right now, so I thought that I could show it here. It's mainly because the original game looks very good (altough it's 19 years old) and data files format is well documented here.
Looks good so far. My only real complaint is that I personally am not a fan of the scaler used, but otherwise, looks great!
I look forward to future updates on this. :)
Thanks. I know that some people don't like these scaling algorithms (although I like them), so it can be turned off in settings.
Primpy
Jun 30, 2017, 07:00 AM
While I agree with Treylina, I'm very happy to see a yet another attempt to remake Jazz2. Project Carrot and the Unreal Engine Jazz 2 are pretty much paused (or maybe even dead) at this point so it's always exciting news to see a Jazz project going on. Looking forward to see more of this!
Treylina
Jun 30, 2017, 11:06 AM
Thank you for your feedback.
Smooth camera is experiment and can be adjusted (or even turned off). Smoothing is completely turned off for vertical MP levels, because player easily gets off screen.
It's not smoothness that's the problem, it's that it leads them behind, instead of leading them ahead.
The original JJ2 camera system is smooth, stays still enough when it needs to be and leads the player ahead. That's what makes it so great.
There's actually an article which helps explain how it works. In relatively simple terms though, the camera budges to the direction to where the player is going, which offsets the sprite a little. It is also stronger the faster they are going. When the player reaches a corner of the level, it stops (for example, if they reach the very top position of the level, it stops moving above). When they hit a wall horizontally and not jump, the camera slowly adjusts to the center. Setting to a smaller resolution demonstrates this more clearly.
As for missing animations, there's no spawn/consume animation (its the same). It's to do with getting pickups and respawning. Also not really an animation, but enemies/bosses appear to not blink white when they are hit. Which I think is important, since it shows they took the hit. The spinning sprite for going up from a spring/tube is also missing.
Something I also noticed odd about the physics is that you don't go up after buttstomping an enemy. Going up with that does have some utility. Best case scenario though would be to let the player go up after only if they hold jump. That makes it more versatile and flow better if they want to go down. Also, can you keep jumping if you hold on jump? Especially on one-ways.
Anyway..good luck. ;p
DeathKiller
Jul 1, 2017, 01:49 AM
... Info about camera ...
Thanks, I will try to fix it according to this.
Something I also noticed odd about the physics is that you don't go up after buttstomping an enemy. Going up with that does have some utility. Best case scenario though would be to let the player go up after only if they hold jump. That makes it more versatile and flow better if they want to go down
Fixed!
Also, can you keep jumping if you hold on jump? Especially on one-ways.
Yes, it already works like this.
Other changes:
Blaster sounds were fixed.
Spawn/consume animation is implemented.
White blink of enemies is implemented now (and player blinking too).
Spring jump sprite is used/implemented.
And some other things...
umisery
Jul 1, 2017, 10:35 PM
This looks really cool! :)
Are you going to add support for different resolutions/FOV?
Roobar
Jul 2, 2017, 05:46 AM
This looks amazing!
DeathKiller
Jul 2, 2017, 01:40 PM
Thanks. It supports any resolution you want. FOV is automatically adjusted, but could be tweaked in next versions.
If you want to try it, here is the first version to download. It's alpha version, It should work, but maybe it will not.
This version is old, see the first post!
Download (v0.4.3 - Preview 1): https://drive.google.com/uc?id=0B8bpor58RNwHeHljLTZuZlYxMGM&export=download
Extract the archive
Drag and drop the original TSF game directory (with JJ2+ installed) on Import.exe (or run: Import.exe "Path to TSF")
Wait few seconds/minutes (Normal map generator supports multithreading and is CPU intensive)
Run Jazz2.exe
It checks for updates on startup (so you can block it in firewall, if you don't need it). It should work on Windows 7 or newer (with .NET Framework 4.5.2 installed) or Linux (with Mono installed).
Controls
Arrows - Move
Space - Fire
V - Jump
C - Run
X - Change Weapon
Controls can't be reconfigured in this version.
Marijn
Jul 3, 2017, 05:04 AM
Did you figured out the license yet? Github?
Slaz
Jul 3, 2017, 05:23 AM
Good job on creating the most complete JJ2 remake yet! :-)
I'd say, prioritize stability, compatibility, and ease of use above physics accuracy. There is definitely room for improvement on things like movement and speeds for various events, but it's fine as long as it plays all custom singleplayer levels (that don't rely on quirks) as expected by the established player.
DeathKiller
Jul 4, 2017, 02:06 AM
It seems that my previous post with release of the game is still waiting for administrator approval...
I decided to release the source code on GitHub, see the updated first post.
Primpy
Jul 4, 2017, 01:55 PM
Gah, I wrote a pretty long post where I was pointing out stuff I've noticed in Jazz 2 Resurrection but when I wanted to post it, JCF just decided to screw up with me.
http://i.imgur.com/iAV3CGB.png
...anyway, I'll just make a quick summary of what I wrote in that:
- The animations are weird at times. Jazz convulsively crouches (more precisely, uses his high jump ability animation) when running and shooting at the same time. The side pole animations are very weird as well. Also Jazz's animation when trying to stop from his momentum kind of screws up the other animations.
- You can't spam your weapon which is kind of weird, probably your choice though. Same for Queen dealing damage upon touching.
- If you exit the boss room, you win. This applies for the Queen, I don't know about the other bosses.
- Sometimes the character falls through the rope instead of, well, catching it. This occurred in level 2 for me.
- The spikes under the level 1 first rope don't deal damage.
- The collisions are a bit too restrictive sometimes. For example, when jumping on a spring to go through a tight gap in the air you will most likely fall because you were not close enough to the middle of that gap.
- One of those red floaty enemies just killed me from a distance. I think it was a 1-2 cm distance. The deflated floaty enemies can't be killed through butt stomps or their collision is too small.
- Somehow I pulled off a glitch that launched me far into the air in level 5. I couldn't replicate it after, it's probably related to the collision.
- This.
https://i.imgur.com/jX6B9Ho.png
- This. (Not sure how it happened, probably because of a pole. I got out of it by butt stomping, I think.)
http://i.imgur.com/I9U8GVO.gif
- Just go inside a boss' collision box and Crouch + Jump for an instant kill. (Oh boy, vanilla JJ2 memories!)
That's all I can remember. I really loved playing it (even though I've played the first levels for like a millionth time) and looking forward to this project. It's neatly done and very similar to the original JJ2 in terms of quality. Those things I pointed out are meant to help you. Best wishes! ^^
DeathKiller
Jul 5, 2017, 12:36 AM
Thank you for report.
"Animation when running and shooting at the same time" is fixed now.
Queen is fixed.
"You can't spam your weapon which is kind of weird" - I'm not sure this should be allowed, but probably yes...
"If you exit the boss room, you win." - Yes, I know, it's a bug. That's why you are respawned near boss after death. Also camera lock is not implemented yet.
Physics is buggy (mainly at higher speeds). I didn't have time to fix it.
"The spikes under the level 1 first rope don't deal damage." - Yes, because spike tile has empty mask, and if I allow it, it will break Psych levels. I don't know what do with it...
"Somehow I pulled off a glitch that launched me far into the air in level 5." - I know, it's because of bug in Jazz's copter. It was partially fixed, but it's not enough.
Poles can't collide with other objects. My "engine" can't check collisions of angled objects yet.
"Just go inside a boss' collision box and Crouch + Jump for an instant kill. (Oh boy, vanilla JJ2 memories!)" - Fixed!
DeathKiller
Jul 6, 2017, 11:48 AM
New version (0.4.4) released, see the first post. You can try Windows/Linux and Android version. :)
Matan2001
Jul 7, 2017, 03:25 AM
I don't know if this is just a mistake on my behalf, but for the last half hour I've been trying to test out this remake with no success:
I have downloaded perhaps 10 versions of JJ2 TSF.
Sometimes JJ2+ refused to install, and when it did, the Import tool of the remake complained that files were missing (and when I entered the program and tried to play an episode, it just didn't work and crashed :confused:)...
DeathKiller
Jul 7, 2017, 06:02 AM
Which files were missing?
Logface202
Jul 8, 2017, 08:23 PM
*suddenly gains urge to use footage of this and make a sonic mania style trailer*
SzymekRak
Jul 14, 2017, 06:19 AM
I've just rediscovered this forum and it is very nice to see it alive. When I looked at my old posts though, I felt a mix of amusement and shame(actually I hoped they were deleted long ago).
Naturally when I saw this remake, I wanted to try it out, especially that it allegedly runs on GNU/Linux. Sadly, it doesn't work for me. At first I tried to build it from Git source, but I failed. I am not sure whether it was my total lack of Mono skills or broken files. There were complains about the Android version, but I wanted a PC one. It even built at some point, but didn't start.
So I tried the release package. The Import application did its job, but the game still doesn't really work. It seems that the problem lies in case-sensitive filenames in Linux. For example, I got errors like this:
Cannot prerender textured background: System.IO.DirectoryNotFoundException: Could not find a part of the path "/home/username/Jazz2/Content/Tilesets/Easter99/tiles.png".
because the directory is actually named "easter99" with small "E".
So, the question is: is it possible to make one convention of naming files and directories within the project? I have never written anything in C# but I would be happy to help with testing.
DeathKiller
Jul 14, 2017, 06:54 AM
Yes, sorry, I forgot that Linux is case-sensitive (but VMware HGFS not). Filenames should be fixed now, but I'm not sure. At the start the naming convention was different, I changed it then, but I forgot to check case-sensitivity.
Build on Linux should work, but I didn't test it. You have to restore nuget packages and build only Jazz2 project (it needs Jazz2.Core shared project) and then Import project.
New version released (v0.4.5) in first post.
Reworked lighting
Added some events, fixed enemies, physics and generators
Fixed filename case-mismatch
SzymekRak
Jul 14, 2017, 01:00 PM
I tested the latest version. Now I can browse the menu(there are minor glitches, but I am not sure whether it is the fault of the game or drivers: https://my.mixtape.moe/udiwkh.png), the background music plays but no success when trying to play a level.
Here I uploaded the output of Import.exe: https://pastebin.com/8FJwRgyG
The "missing" tilesets are where they should be anyway: https://my.mixtape.moe/cojcog.png
The error logs are about Animations/Jazz/spring.png.res and other "spring-related" files related to the other characters. The files themselves have filenames with capital "S".
After manually changing these, it complains about Animations/Pickup/fast_fire_lori.png.res
This file is missing.
Is it possible that using LK Avalon version of JJ2 1.24 breaks it? I don't have the original English version, and on 1.23 there are even more absent files.
DeathKiller
Jul 14, 2017, 01:17 PM
I reuploaded new version (but still v0.4.5) about 2 hours ago. It should show version 0.4.5 in main menu now and fixes errors you mentioned. So please, redownload it.
fast_fire_lori.png - You have to install JJ2+ (or at least copy plus.j2a file to JJ2 directory)
Menu glitch is linux-specific and not fixed yet.
umisery
Jul 15, 2017, 12:23 AM
Android version doesn't work for me. Opens and has a white screen for a few seconds, before crashing. I followed the instructions exactly, so I'm not sure what's wrong.
Phone: Galaxy S4 on Android 7.1.2 (LineageOS 14.1)
DeathKiller
Jul 15, 2017, 01:44 AM
You can install CPU-Z from Google Play store and check that your system/device supports OpenGL ES 3.0.
The application doesn't have any crash handler right now, and I don't know how to implement it to get some crash report, but I will try to do something with it.
umisery
Jul 15, 2017, 02:25 AM
It does :)
https://i.imgur.com/gSk2rD4.png
DeathKiller
Jul 15, 2017, 05:06 AM
It should work then...
Download new version from the first post, copy Jazz2.Android directory from the archive again and install the app. It will show error report after crash, so please send it (screenshot) to me.
ionut
Jul 15, 2017, 08:59 AM
I have a problem with the android version. I followed the instructions and when I run the application I get this
https://i.imgur.com/4abgv65_d.webp?maxwidth=640&shape=thumb&fidelity=high
DeathKiller
Jul 15, 2017, 09:43 AM
Thanks, fixed! New version is in first post.
SzymekRak
Jul 15, 2017, 12:48 PM
I report some success with Linux. The file "plus.j2a" had to be renamed to "Plus.j2a" like it is in the code, and after that I was able to play the game. It feels pretty accurate and enjoyable, although game physics differs from the original.
If I have some free time, I will try to figure out building the project under Linux too.
Nice work, anyway. I wouldn't have this much patience on doing such a remake.
ionut
Jul 16, 2017, 02:14 AM
https://i.imgur.com/3AImRWy_d.webp?maxwidth=640&shape=thumb&fidelity=high
DeathKiller
Jul 16, 2017, 04:03 AM
I report some success with Linux. The file "plus.j2a" had to be renamed to "Plus.j2a" like it is in the code, and after that I was able to play the game. It feels pretty accurate and enjoyable, although game physics differs from the original.
If I have some free time, I will try to figure out building the project under Linux too.
Nice work, anyway. I wouldn't have this much patience on doing such a remake.
Thank you for your help to resolve this issue. I will try to fix Import tool to be case-insensitive, somehow.
On the other side, I don't think that we need the game that is 100% same as the original. It's something like very flexible engine, which can be used to create sequel or something like that.
https://i.imgur.com/3AImRWy_d.webp?maxwidth=640&shape=thumb&fidelity=high
It seems that your device doesn't support OpenGL ES 3.0 (or it's not implemented properly). You can check OpenGL ES version in CPU-Z app. However, this is not going to be fixed in near future. I don't have time to support older/low-end devices (which this device probably is), but the game is open-source, everyone can fix this issue.
umisery
Jul 18, 2017, 05:44 AM
Sorry for not replying sooner, haven't had access to my phone for a couple of days. On the latest version I get this:
https://i.imgur.com/r45GIk1.png
DeathKiller
Jul 18, 2017, 07:34 AM
'Content\Internal\Minimal.vert' is included in Jazz2.Android directory in the Android archive. You should put it in the right directory on SDCard (as described). If it's already there, it's strange and will be investigated further.
Edit: It seems that the application can't find Jazz2.Android directory. If you are sure that the directory is accessible, you can send me full path to this directory and content of /proc/mounts file.
SAMI
Jul 19, 2017, 06:24 AM
Great work dude. The best thing about this project, is that, it's playable on Android! This makes it different from all other projects and I'm really interested in this.
ionut
Jul 21, 2017, 07:10 AM
A tutorial to install the application would be very useful
DeathKiller
Jul 22, 2017, 04:12 AM
There are already simple 4-step instructions in the first post. I don't know how to make it any easier to install...
Slaz
Jul 26, 2017, 12:38 AM
I played some levels with this yesterday. Would like to point out some issues with the characters:
1: You should be able to fire your guns as fast as you can tap the button. The current interval feels off especially for enemies that require more hits.
2: While doing a buttstomp, you should be allowed to steer it slowly horizontally as soon as the animation starts, until you hit something. You should also be able to cancel the animation that plays when hitting the ground and start moving right away.
3: Once you reach horizontal momentum by walking or running, you should be able to lose that momentum and turn around quicker if you move to the opposite direction.
4: Jumping momentum is slightly too floaty while top height is reached.
I'm sure fixing these things (with 1 being highest priority) can make gameplay a lot more pleasing. That said, I'm amazed by how far this remake has come. I'm sure this can at some point exist alongside JJ2+ like OpenJazz did with JJ1.
umisery
Jul 28, 2017, 04:06 AM
https://i.imgur.com/u8laNQC.png
As you can see it's in the correct directory, but I still get that 'Minimal.vert' error. I'm not sure where to find '/proc/mounts' either :(
DeathKiller
Jul 28, 2017, 05:33 AM
Try to put Jazz2.Android directory to HTC 10\Internal shared storage\Jazz2.Android\ (so Internal directory will be in HTC 10\Internal shared storage\Jazz2.Android\Content\Internal\).
/proc/mounts is special file and can be found only by apps on device. If this issue still remains, I will create new version of the game that will show this information automatically.
I played some levels with this yesterday. Would like to point out some issues with the characters:
1: You should be able to fire your guns as fast as you can tap the button. The current interval feels off especially for enemies that require more hits.
2: While doing a buttstomp, you should be allowed to steer it slowly horizontally as soon as the animation starts, until you hit something. You should also be able to cancel the animation that plays when hitting the ground and start moving right away.
3: Once you reach horizontal momentum by walking or running, you should be able to lose that momentum and turn around quicker if you move to the opposite direction.
4: Jumping momentum is slightly too floaty while top height is reached.
I'm sure fixing these things (with 1 being highest priority) can make gameplay a lot more pleasing. That said, I'm amazed by how far this remake has come. I'm sure this can at some point exist alongside JJ2+ like OpenJazz did with JJ1.
Thanks.
The issue number 1 is already fixed on Github (new version will be released later). I think that the issue number 4 is bug in the original game. The rest of issues will be investigated later.
umisery
Jul 28, 2017, 07:44 AM
Thanks, that fixed it! :D
On-screen gamepad is transparent, is it meant to be like that?
https://i.imgur.com/rEagqU8.png
DeathKiller
Jul 28, 2017, 09:52 AM
I hope the game is enjoyable for you. Yes, gamepad is transparent. I know it's a bit ugly, but it's provisional. When you get used to it, you will not need to see it anyway.
DiarrheaBird
Aug 2, 2017, 04:17 AM
Will the game include cut and unused content in the future?
DeathKiller
Aug 2, 2017, 06:36 AM
What features would you like to see? I want to implement all features from the original game and JJ2+, but some additional easy-to-implement features could be implemented first. I know that Tweedle and Rocket Turtles are not used in the original game. These enemies probably will be implemented, but I don't plan to create new levels for them.
GoGi
Aug 3, 2017, 02:29 PM
For the exact physics, you could do a clean-room implementation.
Someone who is familiar with the disassembled JJ2 code should write a precise specification. Maybe someone working on JJ2+ could help you. Then, someone who has never looked at the code (!) should implement the physics from that specification. In this way, you do not infringe on the copyright of the original version.
https://en.wikipedia.org/wiki/Clean_room_design
DeathKiller
Aug 4, 2017, 08:53 AM
New version released (v0.4.6) in first post.
Added experimental Thunderbolt weapon (with ammo) - but there is no ammo for it in any level
Player can shoot as fast as you can tap the button
Player can shoot up on Hook/Vine
Added a few Player animations (Fire to Idle, FallFire to Fall, HookFire to Hook, CopterFire to Copter)
Decreased V-pole force and jump distance
Added boss health bar
Applied fix to Toaster PowerUp to match other PowerUps
1up (and other collectibles) supports illuminate surroundings
Added lights to some objects
Adjusted animation of Collectibles
Added ability to limit camera view
Missing animations/sound will be skipped instead of crash
All Retail versions can be imported (even Shareware Demo, with limited functionality)
Shareware Demo can be automatically downloaded and imported by running Import without any parameter (double-click)
MainMenu looks better
Fixed destructible tiles
Adjusted movement of camera
Changed internal event numbers
Fixed Airboard Generator, TNT, Queen, Devan, Pepper weapon, particles and tiles
Fixed collision detection (partially)
Fixed Linux-specific glitch in MainMenu and issues with filename case-sensitivity
JJ2 data have to be Imported again, don't use data from previous versions!
To enable all animations, import first base game (v1.20/1.23) and then TSF with JJ2+
For the exact physics, you could do a clean-room implementation.
Someone who is familiar with the disassembled JJ2 code should write a precise specification. Maybe someone working on JJ2+ could help you. Then, someone who has never looked at the code (!) should implement the physics from that specification. In this way, you do not infringe on the copyright of the original version.
https://en.wikipedia.org/wiki/Clean_room_design
Physics is not so bad in the latest version, but it's still different. It would be good, if someone could help me with this.
GoGi
Aug 4, 2017, 09:17 AM
Does this indeed not build with Mono 4.6?
DeathKiller
Aug 4, 2017, 09:25 AM
It's built with Visual Studio 2017 and I think these 2017 features are available only in Mono 5.0, but building on Linux is not tested (I don't even know how to build it on linux yet). I only test that every executable I release can be run on Linux with Mono 5.0.
GoGi
Aug 4, 2017, 10:50 AM
I tried to build it with Mono 5 on Linux, but when running it says that it cannot find "Lidgren.Network".
Also, your build process tries to call "copy" somewhere, which obviously will not work on Linux, but that should not be a big problem. By the way, your own build runs fine even under Mono 4.6.
Unfortunately, I have not much experience with Mono. I will try to setup a clean environment with all dependencies when I have the time.
DeathKiller
Aug 4, 2017, 10:59 AM
Download new commit, please. "Lidgren.Network" was removed, because multiplayer is not completed yet. "copy" command is Windows-specific, you have to copy these files manually, but it should work then.
Primpy
Aug 5, 2017, 08:33 AM
Once again, I'm trying to help you with this project by explaining the bugs and issues I have with it. Due to a headache and to Schwartzenguard being broken, I couldn't play more than 4 levels.
Lori's buttstomping sound is most likely incomplete. I remember that in the original JJ2 it's just slightly longer and actually feels finished.
You can't chain Lori's special attack. Lori is already objectively the worst character, removing that just makes her completely useless.
Animations in general are still buggy, sorry for bringing this again. Things such as jumping in a direction yet being displayed the regular jump animation is pretty weird. Also, falling on a spring with helicopter ears doesn't change the animation into the spring one.
You can kinda build some speed while pushing walls towards the push direction. It's a tad strange to see character glued to the wall for like one second when trying to run in the opposite direction.
The turtle shell physics are not really accurate and don't feel right. It's like the shell is on ice or something, has exaggeratedly much momentum after shooting it.
In the first level, you can move while the pole animation is playing. The blue spring is required for that to happen though.
Ropes in general are still pretty glitchy but I don't think it's necessary to explain why.
When eating a carrot, the sound played when playing as Lori is Jazz's "Yummy!" sound.
The large gem in level 2 is missing, yet the one in level 4 is there and fully functional.
Both The Queen and Schwarzenguard are very buggy (it's just a statement, I hope it doesn't offend you in any way). You can shoot projectiles between The Queen and her shield and it just keeps being deflected by both, causing an annoying sound. You can jump over her rather easily, get behind her etc. The camera transition for bosses is too sudden. They remain active after death, their health and music is still there. Schwartzenguard's animation is too quick compared to the one in the original game. If you die to Schwartzenguard, you're pretty much screwed because of his throwing attack coming at you at an insanely fast speed while you're trying to return to the boss arena.
That's all I could find this time, I hope this helps.
DeathKiller
Aug 5, 2017, 10:19 AM
Thank you for report, again.
Sound was different. - Fixed!
I already know, it will be fixed later.
I don't know what you mean, jump animation is correct. Copter ears are fixed now!
I already know, it will be fixed later.
Fixed! (At least I think it's better now.)
I don't know how did you glitch it, I can't reproduce that. (but it could be already fixed somehow...)
Physics is glitchy, it's more visible at higher speeds/low FPS. I tried to fix it in past, but unsucessfully.
Fixed!
There should be Gem Ring in level 2 and Gem Rings are not implemented yet. (but it could be better to spawn Giant Gem at least)
Issue with the shield will be fixed. I know that you can jump over the queen, but I don't know how to fix it yet... If you don't try to glitch it, it works well :D
There is no camera transition yet, only camera lock and it's a bit buggy, but better something than nothing.
I know, all bosses aren't (can't be) despawned/deactivated now.
I think Schwartzenguard's animations looks better now and at least it's not so easy but still possible to beat him.
DeathKiller
Aug 20, 2017, 10:57 AM
New version released (v0.4.7) in first post.
Jazz and Spaz can climb ledges, if the base game (v1.20/1.23) is imported first, just press directional arrow against the wall in the air. Lori can't do this, because there are not sprites for this...
Episodes have to be played sequentially (episode unlocks next episode, progress and lives/ammo/upgrades are saved and carried over to next episode)
Added Gem Rings
Added 3D Spike Boll
Gems have the original colors now
Updated water shader (water looks better now)
Updated textured background shader (textured backgrounds look better now)
Asynchronous resource loading (should eliminate lags)
True palette-based rendering support, but not used much, because it can't be linearly filtered then
Bosses are deactivated properly when player dies
Fixed Springs and Poles ("springs combos" from the original game are now possible) + smaller Spring hitbox
Fixed "gluing to walls", smaller Player hitbox and some other physics-related and animations-related fixes
Particles of dead enemies flys in the direction of bullet
Reworked TurtleTube enemy
Reworked Electro weapon
Partially implemented Caterpillars
Added Shield PowerUps, Stopwatch (shields are not implemented yet)
Added boss health bar animation
Fixed Robot boss
Fixed Sucker deflating
A lot of bugfixes
Android: Vibrations can be turned off in Settings
JJ2 data have to be Imported again, don't use data from previous versions!
To enable ledge climbing and all animations, import first base game (v1.20/1.23) and then TSF with JJ2+
paulix96
Sep 7, 2017, 02:53 AM
Hi DeathKiller! I'm also a C# programmer, can I help you?
DeathKiller
Sep 8, 2017, 02:08 AM
Of course, I sent you a private message, so I hope you get it.
ionut
Sep 30, 2017, 10:56 PM
Hello ! can someone upload the Content directory (After performing the instructions)from windows / linux and post a link from where they can download it, they do not currently have a computer.
Love & Thunder
Oct 2, 2017, 01:15 AM
We try to stay away from piracy on these boards, so I doubt anyone will be able to post that here.
On another note, is that you Jasonspidey?
DeathKiller
Oct 25, 2017, 06:25 AM
New version released (v0.4.8) in first post.
Added episode images
Added "Save & Exit" - you can start right from the last level in episode, where you exited before
New compressed file format
Configurable control scheme and basic gamepad support
All sprites are affected by tileset palette
Reworked tubes and fixed horizontal springs
Turtle shells are changing angle on movement
Fixed enemies getting stuck in the ground
Decreased speed of Player pushing solid objects
Decreased speed of Player on vine
Added invisible block above Queen
Non-EventMap Collectibles are automatically destroyed after 90 secs.
Better detection of correct orientation for horizontal Springs
Fixed glitch of falling enemies
Added CRT shader and 4xBRZ shader (can be enabled in Settings, PC only)
Import user-interface improvement
Some JJ2+ files are automatically downloaded, if missing
A lot of bugfixes and other changes
JJ2 data have to be Imported again, don't use data from previous versions!
To enable ledge climbing and all animations, import first base game (v1.20/1.23) and then TSF with JJ2+
I started to work on level editor, but there is still a lot of work to do...
Darkhog
Dec 5, 2017, 10:54 AM
I hope this project won't die like the others given the extra motivation from release of the game on GoG. Maybe even when it's 100% compatible with vanilla Jazz (plus features can be implemented later) you could even go after GoG guys and ask them if the engine, at least in vanilla jazz could be replaced with it.
DeathKiller
Dec 6, 2017, 12:31 AM
I'm not planning to stop working on this project, but I don't think it will be ever replaced, because it's different and people don't play this version (but I don't care). Right now, the single player works, only few events missing. Additionally, there are some features that are not present in the original game (ledge climb, shaders, normal mapping, easier modification, multi-platform support, ...).
I'm still working on the editor, but I don't know when it will be released...
Slaz
Dec 6, 2017, 01:05 PM
I'm still interested in this project, if that means anything. At the moment, all the news and excitement surrounding the original JJ2 (and Plus) being digitally distributed is the center of attention, and for good reasons! But in the long term, a highly portable and expandable JJ2 engine-clone such as this is really awesome. Much like what OpenJazz is for JJ1.
Even if it's just to have a more than decent JJ2 experience on Linux or MacOS without using Wine. (y)
darknior
Dec 7, 2017, 09:30 AM
WOAW i discover your project today because i search for on Jazz Jackrabbit 2 for my PI and it is incredible :)
I will try it to see if it works fine.
Thanks
Darkhog
Dec 7, 2017, 11:17 AM
I suppose it won't work on a Pi. Maybe it'll somewhat work on Pi 3, but I wouldn't hold my breath for that as Pi hardware is weak in general.
darknior
Dec 7, 2017, 11:47 AM
I speak about Pi3 for sure, PI1 is dead lol
PI3 is not really strong, but can perfect 100% emulate Nintendo DS, play PSX games, Dreamcast, and some PSP 2D games ... why not your D game ?
DeathKiller
Dec 7, 2017, 10:43 PM
It seems that Pi 3 does not support OpenGL ES 3 (only 2) and Jazz 2 Resurrection has only OpenGL ES 3 backend, so you will not see anything right now... I will try to do something with it.
But if it works on mobile devices, I don't see any reason why it shouldn't work in Pi.
Slaz
Dec 8, 2017, 12:26 AM
Not sure if it's helpful, but there's this thing DJazz once posted that runs Windows stuff on a Raspberry Pi: https://www.jazz2online.com/jcf/showthread.php?t=19924
darknior
Dec 8, 2017, 01:09 AM
Thanks but i don't want to use Eltech's ExaGear Desktop or Wine.
I prefer i real Linux port i can launch from ES like all other games with RETROPIE and add it to Retropie-Extra to help every one to use it.
https://github.com/zerojay/RetroPie-Extra/issues/263
Windows desktop on PI is not interesting.
And i prefer use JJ2 Resurection, more modern code and that continue to evolve :)
darknior
Dec 8, 2017, 01:12 AM
Thanks a lot for this :D
Yes we only have OpenGL 2, i wish one day in 2019 with PI4 we will finally have the GL ES 3 :p
If you can make something to make your game using GL2 it will work on PI. PI is a good computer.
Darkhog
Dec 8, 2017, 02:08 PM
Heck, it would be better if he was able to do software rendering. Many of the effects JJ uses are hard to do with shaders or are plainly faster in software, especially in ES space where how compact shader is is even more important than on a PC with proper GPU and full GLSL/HLSL.
Plus, JJ2 breaks anyway on higher resolutions, so best would be to render in 640x480 or 640x360 if you want 16:9 preset and upscale to fill the screen. And software 2d rendering in 640x480 is fast enough for any modern CPU, even cheapo ARMs used in Pi2) - then hardware can do upscaling.
DeathKiller
Dec 8, 2017, 10:56 PM
Can you tell me all of these many JJ effects that will be faster in software, so SW renderer has to be made? I'm not going to do software rendering, Jazz 2 Resurrection is modern shader-based game and it's not possible to render all Jazz 2 Resurrection effects in software (e.g. normal mapping).
And auto upscaling is present in Jazz 2 Resurrection from the first release, it supports any resolution/aspect ratio you want.
ES2 Backend is almost done, but I have to rewrite all shaders and probably make them more simple...
DeathKiller
Dec 9, 2017, 04:14 AM
ES 2.0 backend is working (at least with Google ANGLE), but normal mapping is turned off, because there is no MRT (Multiple Render Targets) support, and rescale shaders are not ready, so only nearest neighbour rescaling is used.
https://github.com/deathkiller/jazz2#opengl-es-20
Darkhog
Dec 9, 2017, 09:17 AM
That's fine though. I prefer my bunies sharp and pixelated anyway instead of really blurry. And normal mapping really doesn't do anything to improve JJ2 anyway.
x_dub_cz
Dec 15, 2017, 07:56 AM
Imprting file
mono Import.exe /check '/home/dub/Dokumenty/Project carrot/Jazz2_SE'
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░▒░▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒░▒
▒░░▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒░▒▒
▒░▒▒▒▒▒▒▒░░░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░░▒▒▒
▒░░░▒░▒▒░░░░▒▒▒▒▒▒░░▒▒▒░░▒▒▒▒▒▒▒▒░▒▒░▒▒▒░▒
▒▒▒▒▒▒▒▒▒░░░▒░░░▒░▒▒▒▒▒▒░▒▒░░░░░░░▒░░░░░░▒
▒▒▒▒▒░▒▒░░▒░░▒░░▒░░░░▒▒░▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒
▒░░▒▒░▒▒▒░▒░▒▒▒▒▒░░▒▒▒░▒▒░▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒
░▒▒░░░▒▒▒░░▒▒░▒▒▒░░▒▒░▒▒▒▒▒░▒▒▒░▒▒▒▒▒▒▒▒▒▒
░▒▒▒░▒▒▒▒░░▒▒▒▒░░▒▒░░░░░▒▒░▒▒░░▒▒▒▒▒▒▒▒▒▒▒
▒░▒░▒▒░░░▒▒░░░░▒░▒░░▒░░░░░░▒▒▒▒▒░▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒
· Importing path "/home/dub/Dokumenty/Project carrot/Jazz2_SE"...
· Importing assets...
· Reading compressed stream...
· Detected Jazz Jackrabbit 2: The Secret Files.
· Importing animations...
· Applying "Toaster PowerUp" palette fix.
· Importing audio samples...
· Downloading JJ2+ (3 MB)...
· Extracting files...
· Reading compressed stream...
· Detected Jazz Jackrabbit 2 Plus extension.
· Importing animations...
· Recreating default palette...
· Importing episodes...
· Episode "secretf" (#Secret@Files) converted.
· Importing levels...
· Level "arace1" [TSF] converted.
· Level "arace2" converted.
· Level "battle3" converted.
· Level "battle1" converted with 1 warnings.
· Level "battle2" converted with 2 warnings.
· Level "bbswing" converted with 24 warnings.
· Level "battlea" converted with 1 warnings.
· Level "abattle1" [TSF] converted.
· Level "70s_grove" converted with 1 warnings.
· Level "bbswinga" converted with 24 warnings.
· Level "bocarrot" converted with 2 warnings.
· Level "capture3" converted with 2 warnings.
· Level "ddash2" converted.
· Level "capture1" converted with 2 warnings.
· Level "dinolab1" converted with 2 warnings.
· Level "capture2" converted with 50 warnings.
· Level "diam001" converted.
· Level "capture4" converted with 2 warnings.
· Level "elechaos" converted.
· Level "guess" converted.
· Level "funky_chicken" converted with 3 warnings.
· Level "easter2" [TSF] converted.
· Level "ml_qobcred" converted.
· Level "easter1" [TSF] converted.
· Level "easter3" [TSF] converted.
· Level "falkenrace" converted.
· Level "ml_qobmenu" converted with 3 warnings.
· Level "haunted2" [TSF] converted.
· Level "fastrace3" converted.
· Level "ml_qobonus" converted with 9 warnings.
· Level "meztrs01" converted.
· Level "ml_qobpuke" converted.
· Level "spam201" converted with 3 warnings.
· Level "haunted3" [TSF] converted.
· Level "haunted1" [TSF] converted with 1 warnings.
· Level "treasur1" converted with 3 warnings.
· Level "town2" [TSF] converted with 1 warnings.
· Level "treasur3" converted.
· Level "meztrs02" converted.
· Level "treasur2" converted.
· Level "ml_sting" converted.
· Level "undrsieg" converted with 2 warnings.
· Level "whitechristmas" converted.
· Level "phils1" converted with 276 warnings.
· Level "spam003" converted with 2 warnings.
· Level "peachb" converted.
· Level "town1" [TSF] converted with 1 warnings.
· Level "town3" [TSF] converted with 1 warnings.
· Level "creamclone" converted with 1 warnings.
· Level "ml_qob" converted.
· Level "ml_qobclone" converted with 74 warnings.
· Summary of unsupported events:
· WATER_BLOCK 366
· ENEMY_BUTTERFLY 35
· MODIFIER_ECHO 27
· ENEMY_BEEBOY 24
· CTF_BASE 20
· SCENERY_GEMSTOMP 10
· COPTER 9
· CHESHIRE_2 2
· Importing music...
· Importing tilesets...
· Cleaning "Music" and "Tileset" directories...
· Removed 0 files.
· Cleaning "Animations" directory...
· Removed 1084 files.
· Compressing content into ".\Content\.dz" file...
· Adding new content...
· Saving changes...
· Removing unnecessary files...
· Checking "Music" and "Tileset" directories for missing files...
· "Music/70's grove.mod" is missing!
· "Tilesets/hauntedh" is missing!
· "Music/funck-2.mod" is missing!
· "Music/metal.mod" is missing!
· "Music/m16a.mod" is missing!
· "Music/m16a.mod" is missing!
· Checking "Animations" directory for missing files...
· "Animations/Jazz/unused_jump_shoot_end.png" is missing!
· "Animations/Jazz/unused_jump_shoot_end.png.res" is missing!
· "Animations/Jazz/unused_ledge_climb.png" is missing!
· "Animations/Jazz/unused_ledge_climb.png.res" is missing!
· "Animations/Spaz/unused_jump_shoot_end.png" is missing!
· "Animations/Spaz/unused_jump_shoot_end.png.res" is missing!
· "Animations/Spaz/unused_ledge_climb.png" is missing!
· "Animations/Spaz/unused_ledge_climb.png.res" is missing!
Trying to run:
mono ./Jazz2.exe
Using 'DefaultAssemblyLoader' to load plugins.
Environment Info:
Current Directory: /home/dub/Jazz2
Command Line: /home/dub/Jazz2/Jazz2.exe
Operating System: Unix 4.10.0.42
64 Bit OS: True
64 Bit Process: True
CLR Version: 4.0.30319.42000
Processor Count: 8
Currently Loaded Assemblies:
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Jazz2, Version=0.4.8.0, Culture=neutral, PublicKeyToken=null
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Plugin Base Directories:
Extensions
Available Assembly Paths:
Extensions/OpenALSoft.x64.dll
Extensions/OpenALSoft.x86.dll
Extensions/OpenTKBackend.core.dll
Assembly loaded: OpenTKBackend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Loading auxiliary libraries...
Assembly loaded: OpenTK, Version=1.1.8.0, Culture=neutral, PublicKeyToken=null
Initializing OpenTK...
Platform Backend: Default
EnableHighResolution: True
Assembly loaded: System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Available display devices:
First : 1920x1080 at 60 Hz, 32 bpp, pos [ 0, 0] (Primary)
Available audio devices:
VnitÅ™nÃ(-) zvukový systém Analogové stereo
HDA NVidia Digital Stereo (HDMI)
Current device: OpenAL Soft
OpenAL Version: 1.1 ALSOFT 1.16.0
Vendor: OpenAL Community
Renderer: OpenAL Soft
Effects: True
Initializing core plugins...
DualityApp initialized
Debug Mode: False
Command line arguments:
Window Specification:
Buffers: 2
Samples: 0
ColorFormat: 24 (8880)
AccumFormat: 64 (16161616)
Depth: 24
Stencil: 0
VSync: On
SwapInterval: 1
OpenGL Version: 4.5.0 NVIDIA 384.90
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 750 Ti/PCIe/SSE2
Shader Version: 4.50 NVIDIA
Initializing default content...
Unhandled Exception:
System.IO.FileNotFoundException: Could not find file "/home/dub/Jazz2/Content\.dz"
File name: '/home/dub/Jazz2/Content\.dz'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <62f5937022004555807e6c57c33f6684>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <62f5937022004555807e6c57c33f6684>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,Sy stem.IO.FileShare)
at Jazz2.Storage.Content.CompressedContent.ReadConten tTree () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Storage.Content.CompressedContent..ctor (System.String path) [0x0000d] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver..ctor () [0x00030] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver.get_Current () [0x00007] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.Controller.ShowMainMenu () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.App.Main (System.String[] args) [0x00073] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not find file "/home/dub/Jazz2/Content\.dz"
File name: '/home/dub/Jazz2/Content\.dz'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <62f5937022004555807e6c57c33f6684>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <62f5937022004555807e6c57c33f6684>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,Sy stem.IO.FileShare)
at Jazz2.Storage.Content.CompressedContent.ReadConten tTree () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Storage.Content.CompressedContent..ctor (System.String path) [0x0000d] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver..ctor () [0x00030] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver.get_Current () [0x00007] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.Controller.ShowMainMenu () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.App.Main (System.String[] args) [0x00073] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
AL lib: (EE) alc_cleanup: 1 device not closed
x_dub_cz
Dec 15, 2017, 07:58 AM
Imprting file
mono Import.exe /check '/home/dub/Dokumenty/Project carrot/Jazz2_SE'
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░▒░▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒░▒
▒░░▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒░▒▒
▒░▒▒▒▒▒▒▒░░░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░░▒▒▒
▒░░░▒░▒▒░░░░▒▒▒▒▒▒░░▒▒▒░░▒▒▒▒▒▒▒▒░▒▒░▒▒▒░▒
▒▒▒▒▒▒▒▒▒░░░▒░░░▒░▒▒▒▒▒▒░▒▒░░░░░░░▒░░░░░░▒
▒▒▒▒▒░▒▒░░▒░░▒░░▒░░░░▒▒░▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒
▒░░▒▒░▒▒▒░▒░▒▒▒▒▒░░▒▒▒░▒▒░▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒
░▒▒░░░▒▒▒░░▒▒░▒▒▒░░▒▒░▒▒▒▒▒░▒▒▒░▒▒▒▒▒▒▒▒▒▒
░▒▒▒░▒▒▒▒░░▒▒▒▒░░▒▒░░░░░▒▒░▒▒░░▒▒▒▒▒▒▒▒▒▒▒
▒░▒░▒▒░░░▒▒░░░░▒░▒░░▒░░░░░░▒▒▒▒▒░▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒
· Importing path "/home/dub/Dokumenty/Project carrot/Jazz2_SE"...
· Importing assets...
· Reading compressed stream...
· Detected Jazz Jackrabbit 2: The Secret Files.
· Importing animations...
· Applying "Toaster PowerUp" palette fix.
· Importing audio samples...
· Downloading JJ2+ (3 MB)...
· Extracting files...
· Reading compressed stream...
· Detected Jazz Jackrabbit 2 Plus extension.
· Importing animations...
· Recreating default palette...
· Importing episodes...
· Episode "secretf" (#Secret@Files) converted.
· Importing levels...
· Level "arace1" [TSF] converted.
· Level "arace2" converted.
· Level "battle3" converted.
· Level "battle1" converted with 1 warnings.
· Level "battle2" converted with 2 warnings.
· Level "bbswing" converted with 24 warnings.
· Level "battlea" converted with 1 warnings.
· Level "abattle1" [TSF] converted.
· Level "70s_grove" converted with 1 warnings.
· Level "bbswinga" converted with 24 warnings.
· Level "bocarrot" converted with 2 warnings.
· Level "capture3" converted with 2 warnings.
· Level "ddash2" converted.
· Level "capture1" converted with 2 warnings.
· Level "dinolab1" converted with 2 warnings.
· Level "capture2" converted with 50 warnings.
· Level "diam001" converted.
· Level "capture4" converted with 2 warnings.
· Level "elechaos" converted.
· Level "guess" converted.
· Level "funky_chicken" converted with 3 warnings.
· Level "easter2" [TSF] converted.
· Level "ml_qobcred" converted.
· Level "easter1" [TSF] converted.
· Level "easter3" [TSF] converted.
· Level "falkenrace" converted.
· Level "ml_qobmenu" converted with 3 warnings.
· Level "haunted2" [TSF] converted.
· Level "fastrace3" converted.
· Level "ml_qobonus" converted with 9 warnings.
· Level "meztrs01" converted.
· Level "ml_qobpuke" converted.
· Level "spam201" converted with 3 warnings.
· Level "haunted3" [TSF] converted.
· Level "haunted1" [TSF] converted with 1 warnings.
· Level "treasur1" converted with 3 warnings.
· Level "town2" [TSF] converted with 1 warnings.
· Level "treasur3" converted.
· Level "meztrs02" converted.
· Level "treasur2" converted.
· Level "ml_sting" converted.
· Level "undrsieg" converted with 2 warnings.
· Level "whitechristmas" converted.
· Level "phils1" converted with 276 warnings.
· Level "spam003" converted with 2 warnings.
· Level "peachb" converted.
· Level "town1" [TSF] converted with 1 warnings.
· Level "town3" [TSF] converted with 1 warnings.
· Level "creamclone" converted with 1 warnings.
· Level "ml_qob" converted.
· Level "ml_qobclone" converted with 74 warnings.
· Summary of unsupported events:
· WATER_BLOCK 366
· ENEMY_BUTTERFLY 35
· MODIFIER_ECHO 27
· ENEMY_BEEBOY 24
· CTF_BASE 20
· SCENERY_GEMSTOMP 10
· COPTER 9
· CHESHIRE_2 2
· Importing music...
· Importing tilesets...
· Cleaning "Music" and "Tileset" directories...
· Removed 0 files.
· Cleaning "Animations" directory...
· Removed 1084 files.
· Compressing content into ".\Content\.dz" file...
· Adding new content...
· Saving changes...
· Removing unnecessary files...
· Checking "Music" and "Tileset" directories for missing files...
· "Music/70's grove.mod" is missing!
· "Tilesets/hauntedh" is missing!
· "Music/funck-2.mod" is missing!
· "Music/metal.mod" is missing!
· "Music/m16a.mod" is missing!
· "Music/m16a.mod" is missing!
· Checking "Animations" directory for missing files...
· "Animations/Jazz/unused_jump_shoot_end.png" is missing!
· "Animations/Jazz/unused_jump_shoot_end.png.res" is missing!
· "Animations/Jazz/unused_ledge_climb.png" is missing!
· "Animations/Jazz/unused_ledge_climb.png.res" is missing!
· "Animations/Spaz/unused_jump_shoot_end.png" is missing!
· "Animations/Spaz/unused_jump_shoot_end.png.res" is missing!
· "Animations/Spaz/unused_ledge_climb.png" is missing!
· "Animations/Spaz/unused_ledge_climb.png.res" is missing!
Trying to run:
mono ./Jazz2.exe
Using 'DefaultAssemblyLoader' to load plugins.
Environment Info:
Current Directory: /home/dub/Jazz2
Command Line: /home/dub/Jazz2/Jazz2.exe
Operating System: Unix 4.10.0.42
64 Bit OS: True
64 Bit Process: True
CLR Version: 4.0.30319.42000
Processor Count: 8
Currently Loaded Assemblies:
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Jazz2, Version=0.4.8.0, Culture=neutral, PublicKeyToken=null
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Plugin Base Directories:
Extensions
Available Assembly Paths:
Extensions/OpenALSoft.x64.dll
Extensions/OpenALSoft.x86.dll
Extensions/OpenTKBackend.core.dll
Assembly loaded: OpenTKBackend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Loading auxiliary libraries...
Assembly loaded: OpenTK, Version=1.1.8.0, Culture=neutral, PublicKeyToken=null
Initializing OpenTK...
Platform Backend: Default
EnableHighResolution: True
Assembly loaded: System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Available display devices:
First : 1920x1080 at 60 Hz, 32 bpp, pos [ 0, 0] (Primary)
Available audio devices:
VnitÅ™nÃ(-) zvukový systém Analogové stereo
HDA NVidia Digital Stereo (HDMI)
Current device: OpenAL Soft
OpenAL Version: 1.1 ALSOFT 1.16.0
Vendor: OpenAL Community
Renderer: OpenAL Soft
Effects: True
Initializing core plugins...
DualityApp initialized
Debug Mode: False
Command line arguments:
Window Specification:
Buffers: 2
Samples: 0
ColorFormat: 24 (8880)
AccumFormat: 64 (16161616)
Depth: 24
Stencil: 0
VSync: On
SwapInterval: 1
OpenGL Version: 4.5.0 NVIDIA 384.90
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 750 Ti/PCIe/SSE2
Shader Version: 4.50 NVIDIA
Initializing default content...
Unhandled Exception:
System.IO.FileNotFoundException: Could not find file "/home/dub/Jazz2/Content\.dz"
File name: '/home/dub/Jazz2/Content\.dz'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <62f5937022004555807e6c57c33f6684>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <62f5937022004555807e6c57c33f6684>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,Sy stem.IO.FileShare)
at Jazz2.Storage.Content.CompressedContent.ReadConten tTree () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Storage.Content.CompressedContent..ctor (System.String path) [0x0000d] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver..ctor () [0x00030] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver.get_Current () [0x00007] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.Controller.ShowMainMenu () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.App.Main (System.String[] args) [0x00073] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not find file "/home/dub/Jazz2/Content\.dz"
File name: '/home/dub/Jazz2/Content\.dz'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <62f5937022004555807e6c57c33f6684>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <62f5937022004555807e6c57c33f6684>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,Sy stem.IO.FileShare)
at Jazz2.Storage.Content.CompressedContent.ReadConten tTree () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Storage.Content.CompressedContent..ctor (System.String path) [0x0000d] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver..ctor () [0x00030] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.ContentResolver.get_Current () [0x00007] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.Game.Controller.ShowMainMenu () [0x00000] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
at Jazz2.App.Main (System.String[] args) [0x00073] in <52d5f83e1bd04f8f8c8ec692df69ab23>:0
AL lib: (EE) alc_cleanup: 1 device not closed
DeathKiller
Dec 16, 2017, 12:33 AM
That's strange, because it works for me. It looks like the game want to use "\" (backslash) as directory separator, but Linux has "/".
Try to download new version (0.4.8.1) from the first post. If the problem persists, tell me your Linux version/distribution, so I can test it myself.
x_dub_cz
Dec 16, 2017, 11:48 AM
Thanks, now it's OK. But sometimes there are funny moments. :-D
https://img15.pixhost.org/images/322/59364813_snimek-obrazovky-porizeny-2017-12-16-21-07-28.png
DeathKiller
Dec 16, 2017, 03:07 PM
Yes, I know about this issue, but I really don't know how to calculate this position/offset correctly, so if there is someone who knows how it is calculated, it would be awesome. :D
Seren
Dec 17, 2017, 12:37 AM
Initially trees are spawned in the middle of their tile like all objects, then their event parameters determine how to adjust their position. The first parameter is unsigned 5 bits and is added to the Y coordinate in pixels, except that if it's 0, it's treated as 24. The second parameter is signed 6 bits and its value plus 16 is added to the X coordinate in pixels.
DeathKiller
Dec 17, 2017, 03:25 AM
Thank you very much. :-) It's fixed in 0.4.8.2 (in first post), but collision with player is not implemented yet, because the engine doesn't support collision of hitbox (Player) with angled pixel-perfect (Pole), and pixel-perfect with pixel-perfect collision checking can't be used in this situation... Game have to be imported again!
DeathKiller
Jan 7, 2018, 11:11 PM
I made new gameplay video, because the previous one was very old. - https://youtu.be/l3-wd1vTTPk
Also, the next version will be able to convert levels that use some of MLLE features, for example extra layers, order of layers, multiple tilesets, level palette, snow parameters, darkness color...
Virus666
Jan 8, 2018, 02:00 AM
Looks great! Will you upload Linux and Android version of the latest version? What's the gamepad support for those OS? Thank you!
Stijn
Jan 8, 2018, 04:31 AM
MLLE support would be cool! Is it your goal to eventually support AngelScript as well? Many MLLE-based levels use scripting, so while some of them may work with just basic support many would still be unplayable without further support for JJ2+ features.
DeathKiller
Jan 8, 2018, 05:14 AM
Thanks! New version (0.4.9) for all platforms will be released next week, because I have to test it. But version 0.4.8.2 (already released for Windows/Linux) is almost the same but without these MLLE features.
Gamepads are already supported Windows/Linux version. You can adjust controls in Settings menu, but button mapping is not saved on exit. Analog buttons are not supported yet. Gamepad support on Android doesn't work that good.
I know, but AngelScript is not supported in C#. I would have to make some wrapper for AngelScript library, or own AngelScript interpreter/recompiler, or use different solution.
ShadowGPW
Jan 9, 2018, 11:10 AM
A little offtopic, but your video made me smile a bit. Saw HH '17 in your menu! ^_^
ontopicwize, this is so cool! What are your short / long term goals?
DeathKiller
Jan 10, 2018, 06:28 AM
My long-term goal is to add all features of JJ2 and JJ2+ (and create good engine for 2D platformers). It's already not that bad as it was.
HH'17 was released short time ago and it demonstrates a lot of JJ2+ features, so I tought it could be nice to have these features too. HH'17 levels look almost the same at first look, but are unplayable because it's heavily scripted. I can make a video of it at the weekend.
Anyway, HH'17 looks very good and I'm going to play it. :-)
DeathKiller
Jan 23, 2018, 11:33 AM
New version released (v0.4.9) in first post.
Implemented some MLLE features (extra layers, vertically flipped tiles, multiple tilesets, level palette, order of layers, ...)
Fixed order of episodes
Optimizations (use of dynamic tree for collision checking)
Some enemies were adjusted
A lot of bugfixes and other changes
JJ2 data have to be Imported again, don't use data from previous versions!
sqiksaagodt
Feb 3, 2018, 06:03 AM
Hi,
I tried downloading the android APK, followed all the steps and all, but can't seem to get it working.
Instead of installing on the sdcard, mine installed here: /data/user/0/Jazz2.Android
I tried dumping the extracted content folder, to that dir but that didn't solve it.. Hope it helps :)
Kind regards
luke11685
Feb 3, 2018, 07:18 AM
You should wait for 1.0.0 version of jazz2 resurrection.apk first so in that case you'll be able to bypass github files compilation. Then this android application will start working properly and correctly.
DeathKiller
Feb 3, 2018, 07:35 AM
You have to create new "Jazz2.Android" directory on sdcard or internal storage yourself and then copy files into it. The application tries to find it.
If it still doesn't work, take a screenshot or tell me error message, please.
Version number means nothing, binaries posted in the first post works for me and it should work for other people too, if their device meets minimal requirements. If it doesn't work, I will try to fix it.
sqiksaagodt
Feb 3, 2018, 08:07 AM
Hi again,
I tried making a dir on the root of internal and the sdcard, moving the content folder over, but still the same.
The only error i get is when i open the app, it says:
Jazz2 Resurrection keeps stopping
Im using a Galaxy S8
luke11685
Feb 3, 2018, 10:38 AM
Any plans for offline achievements?
DeathKiller
Feb 3, 2018, 11:41 AM
This is strange. Try to download new version from the first post and install new apk file. It should show at least an error message now.
Achievements are not planned for now, but it's not hard to implement them.
sqiksaagodt
Feb 3, 2018, 12:32 PM
Aight, i got this error message:
Could not find file "/storage/emulated/0/Download/Jazz2.Android/Content/.dz"
I found the folder it was talking about, and moved the content to that folder - now when i opened up the app, I get a black screen - there is sounds when i press on the screen at random, but i can't see anything
edit: getting another error now after reinstall:
content diirectory was not found!
Searched mount points:
- /mnt/runtime/default/SDCARD (Removable)
- /storage/emulated/0 (Fixed)
DeathKiller
Feb 8, 2018, 12:01 AM
There is a bug with graphics initialization sometimes, you have to kill the app somehow and run it again. Back button is sometimes enough to kill/crash it in this situation.
Also, It could be an issue with shaders, but I checked all shaders with reference compiler and it's OK. Make sure that you copy "Content" directory from Android download to destination directory as final step.
To resolve "Content directory was not found" error - the application searches in these specified mount points. It tries to find "./Android/Data/Jazz2.Android/Content/", "./Jazz2.Android/Content/" or "./Download/Jazz2.Android/Content/" - relative to currently searched mount point, for example "/mnt/runtime/default/SDCARD/Jazz2.Android/Content/"... So ensure that files are there, please.
pantynpc
Jun 15, 2018, 02:15 PM
Hi guys, love your work DeathKiller but i can't play the game on android .. (Huawei Mate 10 Lite) , i get a black screen and that's it.
https://ibb.co/gHg7vJ
https://ibb.co/hgbJ2y
umisery
Aug 18, 2018, 07:57 PM
https://www.youtube.com/watch?v=-GOUZ6S_3VE
DeathKiller
Mar 10, 2019, 04:22 AM
I didn't write a post about new release very long time. So here it is...
If you want to get notified about new releases, you can join Discord - https://discord.gg/Y7SBvkD. I made a bot that posts notifications there automatically, so I don't have to do it myself.
New version released (v0.5.5) in the first post.
Installation on Android is simplified
Android: Added welcome screen for incomplete installs
Changes between v0.4.9 and v0.5.5
Added fullscreen mode
Added in-game settings menu
Added better water shader
Added some player idle animations
Added water splash sound
Added menu transition
Added adjustable music and SFX volume
Optimized memory usage
Added copters and flying carrots
Added scene transitions
Better HUD and touch controls for Android version
Many optimizations, faster loading, no lags
Enabled ahead-of-time compilation for Android version - better performance and bigger application size
A lot of bugfixes and other changes
JJ2 data have to be Imported again, don't use data from previous versions!
DeathKiller
Oct 19, 2019, 12:56 PM
I didn't write a post about new release very long time again. New version was released - v0.6.1. It can be downloaded here - http://deat.tk/jazz2/. There are too many changes (more than 100 changes) between v0.5.5 and v0.6.1, full list is posted here - http://deat.tk/jazz2/release-notes. The last version fixes gamepad support.
Also, I made another gameplay video, but it was made for older version (v0.5.8) - https://youtu.be/M794QHwfMXg.
Stijn
Oct 27, 2019, 01:57 AM
Impressive!
DeathKiller
Oct 30, 2019, 01:21 AM
Thank you :D
DeathKiller
Nov 8, 2019, 01:24 PM
I worked on Multiplayer feature last few days. There are still some glitches, but it's almost playable. It's not released yet, but here is preview - https://youtu.be/tUampdOZRH4
DeathKiller
Dec 14, 2019, 12:42 AM
New version was released - v0.6.2. It can be downloaded here - http://deat.tk/jazz2/. List of changes is here - http://deat.tk/jazz2/release-notes.
Playable (but incomplete) multiplayer was added, there are still some bugs, so it's up to you if you want to play it or not. Also, there is a lot of other changes, so I didn't want to block the release because of incomplete multiplayer. Game saves settings to %appdata% by default now, create Jazz2.settings in game directory to enable portable mode to work as before. Reimport is required!
JohnAsen01
Apr 25, 2020, 11:58 PM
Hi ! I followed the instructions but failed. Could someone send me the Content folder in a link? Send me the link in a private message.
kubeko8848
Apr 26, 2020, 02:28 PM
So, i have a problem because when i install The gamę i mean (Download android and desktop version) and when i pastę Content folder to jazz2.android IT says i need to run import.exe, but i have The good version🤨 please help me
I cant do anything, i tried anything
Oktan
May 12, 2020, 02:58 AM
Are you planning to implement support for regular USB HID controllers? Only supporting XInput means that you either have to use an Xbox controller, which works atrociously bad for 2D games compared to for example a Super Famicom controller connected through an adapter. Or use some keyboard emulator like Joy2Key, and while this is workable since this is a 2D game without analog controls, is still an unnecessary step and might introduce some input lag.
vBulletin® v3.8.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.