JazzJackrabbit Community Forums  

Go Back   JazzJackrabbit Community Forums > Jazz Jackrabbit Forums > Future Jazz Jackrabbit games

Reply
 
Thread Tools
Old May 9th, 2013, 01:24 PM   #1
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Project Carrot


Project Carrot homepage
GitHub:
Project Carrot ˇ PCAE ˇ PCTC ˇ PCLC

Current project status (1/2017): Semi-active
Slowly progressing, but also putting quite a bit of time into other things. Such as AGDQ'17

Good to see my million years old account still works

I've been writing a JJ2 engine clone, titled Project Carrot for now, since this February. The plan is, of course, emulate the whole game without losing compatibility to old levels and tilesets while adding new features (like you can already have as many foreground and background layers as you want to). There are though some secondary features I have already decided to drop such as Caption tiles (likely to cause a lot of extra headache for little profit) and level password protection (source code being eventually open source would render any kind of protection useless because user could just check how the game decrypts the data for its own use).

I decided against announcing the project here immediately back then as I'm painfully aware how game development by casuals works most of the time: announce a project, work on it for a week, forget it till eternity. So I've been holding this back for quite a while now, but as I'm still three months later still working on it, I thought it'd be great to show it off a bit.

I recorded a short-ish overview of the current state of the engine and put it on YouTube. You can see it here. The second preview video was recorded in October 2013 and is available here, and the third video from May 2016 is likewise here.

See the newest additions from the git commit history in the repository.

----

Once I feel the code is complete enough, the game will be available for download and the source code will be made public (I'll put it on git or something) it already is. Or if I decide to scrap it, the source code will still be published. Until then, you'll just need to wait (I have so many personal projects that don't expect anything completely implementing all of Jazz2 for a year or two at least.)

So, yeah. Any thoughts, ideas I should record for later, etc.?

E: And of course, I need to express my gratitude to everyone who has been involved with taking apart the proprietary formats during the many years after the game was released. Making this would be a thousandfold harder without all the knowledge floating around
__________________

Last edited by Soulweaver; January 10th, 2017 at 11:57 AM..
Soulweaver is offline   Reply With Quote
Old May 9th, 2013, 01:57 PM   #2
Violet CLM
JCF Éminence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Well, I'm sold! Some initial thoughts:
  • The framerate, and the turtles' movement in particular, looks a bit slow. Is this an artifact of running recording software?
  • The layer speeds look accurate, though it's harder to tell for non-standard resolutions. I notice layer 8 is also moving, which makes total sense, but is also some sort of statement about how you view emulation. Or just something you haven't cared enough to change yet, whichever.
  • I noticed an "Actors" count, which would appear to be the number of active objects, since it increases when you shoot a bullet and decreases when you collect a pickup or shoot an enemy. I also noticed that it's totally global and counts all the active objects anywhere in the level. Obviously this is a work in progress, but I might as well ask sooner rather than later: you know that's not how Single Player works?
  • "I haven't yet extracted the animation for [shooting while hanging] nor specified the ammo starting point." But they're in anims.j2a in the exact same place as Jazz's other animations, and internally specify their "ammo starting point" in the exact same way as Jazz's other animations. What's the problem here? Are you not reading the .j2a file?
  • What's with the weird converting .j2l and .j2t files into other formats thing? Wouldn't it be easier for everyone to be able to play them directly?
  • What are you basing your code on, physics and animation code in particular? Careful observations of JJ2 in action, or a disassembly of the executable, or what?
__________________
Violet CLM is offline   Reply With Quote
Old May 9th, 2013, 01:59 PM   #3
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Wink I remember you!

This looks very promising.
cooba is offline   Reply With Quote
Old May 9th, 2013, 02:34 PM   #4
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Thank you for the kind thoughts and feedback

Quote:
Originally Posted by Violet CLM View Post
"I haven't yet extracted the animation for [shooting while hanging] nor specified the ammo starting point." But they're in anims.j2a in the exact same place as Jazz's other animations, and internally specify their "ammo starting point" in the exact same way as Jazz's other animations. What's the problem here? Are you not reading the .j2a file?
I am indeed not reading the .j2a file but instead specifying hard coded filenames coupled with fixed center points and FPSes from inside the code. That will probably change later, though, for both structural and legal reasons.

Quote:
Originally Posted by Violet CLM View Post
The framerate, and the turtles' movement in particular, looks a bit slow. Is this an artifact of running recording software?
Some of the speed differences come indeed from recording software which both slows down drawing a bit and can only record at max. 30FPS itself. It might be that I have typed an incorrect FPS for the turtle walk animation as well.

Quote:
Originally Posted by Violet CLM View Post
The layer speeds look accurate, though it's harder to tell for non-standard resolutions. I notice layer 8 is also moving, which makes total sense, but is also some sort of statement about how you view emulation. Or just something you haven't cared enough to change yet, whichever.
I can see what you mean; I didn't play around with JJ2 to notice this. Castle1.j2l seems to have non-zero speeds on layer 8 and I am just blindly using those At the same time it is a feature as you can define a speed to it just like any other layer (except sprite layer). A proper solution to this would probably be to ignore Layer 8 speeds at the conversion phase. The sky layer in Carrotus should not be moving in the video though, I'll need to double check that

Quote:
Originally Posted by Violet CLM View Post
What's with the weird converting .j2l and .j2t files into other formats thing? Wouldn't it be easier for everyone to be able to play them directly?
That is also temporary at least to some degree. Not sure how it will be done later on, other than that players will not need to tinker around with command line tools later on

Quote:
Originally Posted by Violet CLM View Post
I noticed an "Actors" count, which would appear to be the number of active objects, since it increases when you shoot a bullet and decreases when you collect a pickup or shoot an enemy. I also noticed that it's totally global and counts all the active objects anywhere in the level. Obviously this is a work in progress, but I might as well ask sooner rather than later: you know that's not how Single Player works?
I haven't done too much research on that; the only effect actors have when they are not in the field of vision is that they don't try to draw themselves off-screen. If there's anything crucial I need to know here, do tell

Quote:
Originally Posted by Violet CLM View Post
What are you basing your code on, physics and animation code in particular? Careful observations of JJ2 in action, or a disassembly of the executable, or what?
Only personal observations. That means the physics might be off here and there.
__________________

Last edited by Soulweaver; May 9th, 2013 at 02:50 PM..
Soulweaver is offline   Reply With Quote
Old May 9th, 2013, 02:52 PM   #5
Violet CLM
JCF Éminence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Quote:
Originally Posted by UltimateSephiroth View Post
I can see what you mean; I didn't play around with JJ2 to notice this. Castle1.j2l seems to have non-zero speeds on layer 8 and I am just blindly using those At the same time it is a feature as you can define a speed to it just like any other layer (except sprite layer). A proper solution to this would probably be to ignore Layer 8 speeds at the conversion phase.
It's basically a bug in the original. They wanted layer 8 to snap to the upper left corner of the screen at all times when xSpeed=0 and ySpeed=0, which isn't how other layers work, in order to make backgrounds look better, but then they took that too far and made it true even if the speeds aren't zero. As a result, there isn't really a right way to treat layer 8 speeds, so much as there are various different statements it's possible to make by treating them one way or another.
Quote:
I haven't done too much research on that; the only effect actors have when they are not in the field of vision is that they don't try to draw themselves off-screen. If there's anything crucial I need to know here, do tell
Broadly speaking, in local play single player, objects more than about 32 tiles away from the player will be deleted from the active object list. There are a handful of exceptions -- rotating rocks in particular are never deleted -- but for the most part that's how it works. It's supposed to be a memory/speed-saving measure, but it does end up having various side effects, positive and negative, for real gameplay and level design. (For example: without it, all swinging vines are synced with one another.)
__________________
Violet CLM is offline   Reply With Quote
Old May 9th, 2013, 03:36 PM   #6
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by Violet CLM View Post
It's basically a bug in the original. They wanted layer 8 to snap to the upper left corner of the screen at all times when xSpeed=0 and ySpeed=0, which isn't how other layers work, in order to make backgrounds look better, but then they took that too far and made it true even if the speeds aren't zero. As a result, there isn't really a right way to treat layer 8 speeds, so much as there are various different statements it's possible to make by treating them one way or another.
Ah, I see Also, you have stated another difference in my implementation just now: any layer with zero speeds is treated equally in PC. I set Layer 3 to zeros in JJ2 and tested it, from what I gathered it just disappeared, so I guess not mimicing that wouldn't really hurt.

Quote:
Originally Posted by Violet CLM View Post
Broadly speaking, in local play single player, objects more than about 32 tiles away from the player will be deleted from the active object list. There are a handful of exceptions -- rotating rocks in particular are never deleted -- but for the most part that's how it works. It's supposed to be a memory/speed-saving measure, but it does end up having various side effects, positive and negative, for real gameplay and level design. (For example: without it, all swinging vines are synced with one another.)
Performance was the first thing I thought of, but if it indeed affects other things too, then I suppose I should do something about it. Just not running their tick events would work otherwise but I launched JJ2 and I can see they also lose whatever changes they were affected to (gems shot down are floating again) so I guess I'll need to think into this a bit more.

Quote:
Originally Posted by cooba
I remember you!
Ha, just noticed that How's that possible when I barely posted any posts here or even logged in for four years (according to what "you last visited" told me, anyway)?
E: Oh, it seems we had a PM conversation back then at least. God, I can't stand to look at my posts, my English was so simple back then
__________________
Soulweaver is offline   Reply With Quote
Old May 9th, 2013, 04:09 PM   #7
Violet CLM
JCF Éminence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
Zero speed layers are used from time to time for HUDish effects... look at e.g. Tomb Rabbit or Another Story, though those naturally assume a 640x480 resolution.

Here's what deactivating does, using some very verbose names:
Code:
object.pointerToBehaviorFunction = NULL;
//The object is no longer is counted as active,
and its location in memory may be overwritten at any later time.
if (object.wasCreatedDirectlyFromTheLayer4EventMap()) {
    eventMap[object.xTileOfCreation, object.yTileOfCreation] = object.eventID;
    //e.g. 158 for a peach, whatever. For the most part this is
    //redundant, but it does mean that when an object created
    //directly from the event map changes event ID, e.g. a spring
    //crate changing into a green spring, that change will be
    //permanent even if the object is later deactivated.
    setEventMapBit(object.xTileOfCreation, object.yTileOfCreation, 11, false);
    //The event map, of course, is a series of thirty-two bit slots
    //for each tile in layer 4. The first eight bits are used for the
    //event ID. The next three are used for the difficulty and the
    //"Illuminate Surroundings" checkbox. The bit after that is
    //whether the the object created by the event at that tile
    //has already been created or not: setting it to false tells JJ2
    //that the next time that tile comes into active memory, the
    //object should be created, since it hasn't been created already.
}
__________________
Violet CLM is offline   Reply With Quote
Old May 10th, 2013, 01:43 AM   #8
Slaz
JCF Member
CDF Clan Member
 
 
Join Date: Aug 2004
Location: Netherlands
Reputation: Slaz is a forum legendSlaz is a forum legend
I watched your YouTube video and like what you did so far. I'm not into coding, nor do I know how JJ2's physics work. But I can only encourage progress on projects such as this. A remake of JJ2 such as OpenJazz is for JJ1 would make dreams come true and stuff like that.

Perhaps consider talking to DJazz on these forums? And read through some of his findings he wrote on his WebJJ2 thread. I'm sure he has some interesting solutions on JJ2's physics that're reade to use!
__________________
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
Slaz is offline   Reply With Quote
Old May 10th, 2013, 08:56 AM   #9
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by Violet CLM View Post
Zero speed layers are used from time to time for HUDish effects... look at e.g. Tomb Rabbit or Another Story, though those naturally assume a 640x480 resolution.
Hmm, I see, I'll need to look into those levels then. Can't do it right now as I traveled elsewhere for Mothers' Day and JJ2 doesn't apparently want to cooperate with Windows 8 on my lappy, but will do so on Monday.

E: I looked at the first level and I can see how it works, but now I need to understand why it works that way

Quote:
Originally Posted by Violet CLM View Post
Here's what deactivating does, using some very verbose names:
Code:
object.pointerToBehaviorFunction = NULL;
//The object is no longer is counted as active,
and its location in memory may be overwritten at any later time.
if (object.wasCreatedDirectlyFromTheLayer4EventMap()) {
    eventMap[object.xTileOfCreation, object.yTileOfCreation] = object.eventID;
    //e.g. 158 for a peach, whatever. For the most part this is
    //redundant, but it does mean that when an object created
    //directly from the event map changes event ID, e.g. a spring
    //crate changing into a green spring, that change will be
    //permanent even if the object is later deactivated.
    setEventMapBit(object.xTileOfCreation, object.yTileOfCreation, 11, false);
    //The event map, of course, is a series of thirty-two bit slots
    //for each tile in layer 4. The first eight bits are used for the
    //event ID. The next three are used for the difficulty and the
    //"Illuminate Surroundings" checkbox. The bit after that is
    //whether the the object created by the event at that tile
    //has already been created or not: setting it to false tells JJ2
    //that the next time that tile comes into active memory, the
    //object should be created, since it hasn't been created already.
}
That makes sense. I don't actually even store the event IDs currently anywhere after the objects have been spawned but doing something like this would make simulating the effect easier. (Also storing the event IDs and all would kinda make emulating MCEs easier; I'm kinda on the fence with them in that they allow for some special stuff not otherwise possible, but at the same time are essentially a large scale bug and not really a feature.)

E: (De)activation routines have been implemented.

Quote:
Originally Posted by Slaz View Post
I watched your YouTube video and like what you did so far. I'm not into coding, nor do I know how JJ2's physics work. But I can only encourage progress on projects such as this. A remake of JJ2 such as OpenJazz is for JJ1 would make dreams come true and stuff like that.

Perhaps consider talking to DJazz on these forums? And read through some of his findings he wrote on his WebJJ2 thread. I'm sure he has some interesting solutions on JJ2's physics that're reade to use!
Thanks Yeah, I checked some threads involving him, I suppose he could have useful information and insight on some aspects
__________________

Last edited by Soulweaver; May 14th, 2013 at 06:12 AM..
Soulweaver is offline   Reply With Quote
Old May 11th, 2013, 07:52 AM
Grytolle
This message has been deleted by Grytolle.
Old May 16th, 2013, 12:16 PM   #10
Foly
JCF Member
Just a member
 
 
Join Date: Jan 2009
Location: In a house
It's nice to see someone working on a jazz jackrabbit game. But like you said most projects have died so far. So far your video shows you've made quite some progress, so i hope you don't give up where others did! If you do succeed i also hope this can help to attract more players to jj2. But untill then, keep up the good work
__________________
[13:07:13] *** Foly is on a KILLING SPREE!
[13:07:14] *** you killed yourself
[13:07:14] *** Foly was looking good but died instead...
Foly is offline   Reply With Quote
Old May 21st, 2013, 06:14 AM   #11
MrAlextov
JCF Member
Killed by rabbit ;P
 
 
Join Date: Apr 2010
Formerly: RedComputer
Send a message via MSN to MrAlextov
Keep it going! I Love this project to be finished.

I Have some questions...
It would support more colours at the tilesets? We now living at modern world and 8 bit colours are NOT ENOUGH!

It would possible to expand the tiles 1024 (4096 for TSF) limit? It looks too small and I love mixing 2 or more tilesets on 1 tileset.
__________________
Sega Satan somewhat
MrAlextov is offline   Reply With Quote
Old May 23rd, 2013, 05:34 AM   #12
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by Foly View Post
It's nice to see someone working on a jazz jackrabbit game. But like you said most projects have died so far. So far your video shows you've made quite some progress, so i hope you don't give up where others did! If you do succeed i also hope this can help to attract more players to jj2. But untill then, keep up the good work
Thank you I'm not planning to give up so don't worry

Quote:
Originally Posted by RedComputer View Post
Keep it going! I Love this project to be finished.

I Have some questions...
It would support more colours at the tilesets? We now living at modern world and 8 bit colours are NOT ENOUGH!

It would possible to expand the tiles 1024 (4096 for TSF) limit? It looks too small and I love mixing 2 or more tilesets on 1 tileset.
I guess I have good news for you

Essentially, all the tileset conversion process shown in the video does is that it generates two PNG images: one for the tiles and one for the mask. Naturally, an original tileset can thus be made using PNG images as well. Since PC runs in full colour, there are no restrictions on available colours (and while I haven't tested it with anything else but fully opaque and transparent, other alpha channel transparency values should be supported out of the box as well). The mask image meanwhile works sort of like binary collision map (white or any pixel with full transparency is unmasked, everything else is masked). Tilesets are also not confined to being 10 tiles wide anymore; how this will be handled in the to-be level editor is yet to be seen.

The tile amount limit isn't nearly as strict anymore either. In theory, only the tileset image dimensions themselves limit the available number of tiles; the current temporary layer format I'm using allows up to 65536 static (first one still reserved for empty tile) and 65536 animated tiles, but that could be upped. Though, there's currently a yet unsolved graphics memory issue related to how SFML handles textures; i.e. large tilesets currently will fail to load on cheap GPUs because the image won't fit to a single texture vertically in their video memory. But if that is solved, then the max. tile amount can be raised significantly.
__________________
Soulweaver is offline   Reply With Quote
Old May 23rd, 2013, 06:53 AM   #13
Robo4900
JCF Member
The Almighty Tallest
 
 
Join Date: Sep 2011
Location: Dimension C-137
Wow, that is awesome! I mean, it's awesome anyway, but what you just said made it even more awesome(I would point out all the good things about the PNG format and RGB/Alpha, but anyone who doesn't know what all this means can just google it).
By the way, do you think it will be possible to have a high-resolution/HD mode, which would have double-sized sprites(Perhaps it could include an "animsHD.j2a" file, or something?), and allow tilesets with double-sized tiles?
__________________
Robo4900 is offline   Reply With Quote
Old May 23rd, 2013, 08:16 AM   #14
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: 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
Send a message via Skype™ to Sir Ementaler
I... might sound somewhat harsh. I admit I dislike it when people admire another community member for creating another level previewer, again. Hopefully you realize this thing here is little more than a level previewer. Collision detection is no philosophy and everything else will have to be completely rewritten later on if you want it to work like JJ2. So yeah, I consider it hard to be excited about this so far and I'm just bothered by apparent lack of common sense in this thread, no offense to anybody.

I know this is not quite a constructive message and I was holding myself back from posting it until now. I'll try to compensate it with an honest offer to help; I consider myself familiar with a good number of quirks of JJ2, most of which you should learn if you want to replicate its mechanics correctly. Also, although you're obviously not coding the game in it, judging by your signature you may be interested in a piece of GML code I'm coincidentally in possession of that draws what pictured below, if just for reference. Use PMs.

Click to view in full size, didn't want to stretch the page.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old May 23rd, 2013, 09:15 AM   #15
Stijn
Administrator
 
 
Join Date: Mar 2001
Reputation: 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 behold
Oh come on, it's clearly further along than any "level previewer" we've seen so far. There's item pickup, animations, lots of working events (vines, ammo, hurt), enemies, more-or-less accurate physics (you can shoot down items), sound effects, running/jumping/buttstomping... It's obviously not complete yet, but there's a substantial amount of gameplay implemented already, in a way that seems to mimic JJ2 fairly well so far.
Stijn is offline   Reply With Quote
Old May 23rd, 2013, 11:18 AM   #16
burnout92
JCF Member
Burnout92's profile
 
 
Join Date: Dec 2012
Location: Jászladány, Hungary
Reputation: burnout92 is doing well so far
Send a message via MSN to burnout92
I saw the above posts in this thread. I'm think this game or whatelse is promising but is a good idea the high color (16-bit) or true color (32-bit) and higher tilesets. I wish good luck for developing.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation
burnout92 is offline   Reply With Quote
Old May 23rd, 2013, 11:51 PM   #17
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: 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
Send a message via Skype™ to Sir Ementaler
If you say so, Stijn. I just believe most of the presented features that aren't necessary for a level previewer to be a matter of one weekend, but what do I know.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old May 24th, 2013, 12:09 AM   #18
cooba
JCF Veteran
 
 
Join Date: Jan 2004
Reputation: cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light
Quote:
Originally Posted by Sir Ementaler View Post
If you say so, Stijn. I just believe most of the presented features that aren't necessary for a level previewer to be a matter of one weekend, but what do I know.
Wow, you convinced me, I no longer care about this primitive and plebeian level previewer
cooba is offline   Reply With Quote
Old May 24th, 2013, 12:17 AM   #19
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: 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
Send a message via Skype™ to Sir Ementaler
I didn't have a whole weekend.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old May 24th, 2013, 12:18 AM   #20
Stijn
Administrator
 
 
Join Date: Mar 2001
Reputation: 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 behold
Quote:
Originally Posted by Sir Ementaler View Post
If you say so, Stijn. I just believe most of the presented features that aren't necessary for a level previewer to be a matter of one weekend, but what do I know.
Looks a lot less complete than what UltimateSepiroth showed, to me.

Ether way, when does something stop being a "level previewer" and start being a "game engine"? Allowing you to navigate a level is a pretty big part of the game, after all.
Stijn is offline   Reply With Quote
Old May 24th, 2013, 12:22 AM   #21
Violet CLM
JCF Éminence Grise
JCF Member
 
 
Join Date: Mar 2001
Location: The Intergalactic Repneck Bar
Send a message via MSN to Violet CLM
guys this is the STUPIDEST FIGHT

you BOTH are good at doing stuff and have promising projects should you care to continue developing them and we're proud of BOTH OF YOU and it's perfectly all right to have competing projects (I've done one! I think I kinda lost.) without being NASTY about it

don't make me call this a bunny game, the JCF censors it so it's kind of difficult to do so
__________________
Violet CLM is offline   Reply With Quote
Old May 24th, 2013, 12:29 AM   #22
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: 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
Send a message via Skype™ to Sir Ementaler
Oh, thanks Violet, but to be honest I'm not developing anything and really don't intend to fight. Just took my own level previewer and added events and physics to it once Stijn mentioned this being more advanced. Then it took me the night to upload it to YT.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old May 24th, 2013, 02:13 AM   #23
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by Sir Ementaler View Post
I... might sound somewhat harsh. I admit I dislike it when people admire another community member for creating another level previewer, again. Hopefully you realize this thing here is little more than a level previewer. Collision detection is no philosophy and everything else will have to be completely rewritten later on if you want it to work like JJ2. So yeah, I consider it hard to be excited about this so far and I'm just bothered by apparent lack of common sense in this thread, no offense to anybody.

I know this is not quite a constructive message and I was holding myself back from posting it until now. I'll try to compensate it with an honest offer to help; I consider myself familiar with a good number of quirks of JJ2, most of which you should learn if you want to replicate its mechanics correctly. Also, although you're obviously not coding the game in it, judging by your signature you may be interested in a piece of GML code I'm coincidentally in possession of that draws what pictured below, if just for reference. Use PMs.

Click to view in full size, didn't want to stretch the page.
Point taken, though I honestly don't know what you expected this thread to contain I'm not here to show off a completed game but a prototype. I'm not very sure what you mean by the rewriting point either - while I am going after the mechanics of the JJ2 engine, I am certainly not rewriting a JJ2 engine on structural or any other level. The "correctness" of mechanics isn't completely black and white; what is a bug to one might be a feature to someone else. While I strive to replicate the game behavior closely, I won't be throwing deliberate mistakes or unnecessarily complicated special cases into my code just to make it a 100% clone.

I expect the demo you just put up there was also written in GML; bear in mind that Game Maker provides the whole framework for handling sprites, drawing and different events built-in, while I've built my own engine that implements most of that stuff from the ground up all by myself. The way objects are handled in GML (basically almost nonexistent encapsulation) and preferred use of globals also simplifies things a lot.

Of course I could've started writing this in some game-centric engine like Game Maker or Stencyl but I wanted to use a more mainstream language to 1) learn C++ better, 2) make it easier for, erm, people with a better mindset to contribute later on, 3) not be too environment dependent (Qt, SFML, BASS all should work just fine in both Win, Mac and Linux). So, because of that decision, I'm required to write a lot more code that is specific to the engine but not necessarily the JJ2 experience. The TileMap class, which contains pretty much all tileset and layer handling (i.e. the core part of what would be a level previewer), doesn't even cover a fifth of the codebase

As for the textured background algorithm, I might be interested later; implementing it now is not a high priority so I'll PM you when it becomes topical (unless I decide to write it myself).

Quote:
Originally Posted by Violet CLM View Post
guys this is the STUPIDEST FIGHT

you BOTH are good at doing stuff and have promising projects should you care to continue developing them and we're proud of BOTH OF YOU and it's perfectly all right to have competing projects (I've done one! I think I kinda lost.) without being NASTY about it

don't make me call this a bunny game, the JCF censors it so it's kind of difficult to do so
I'm not much into fighting either, and I don't think I've been fighting at all at this point yet I also don't have any problem if someone else decides to start a separate project; if anything, that shows JJ2 still has enough appeal for multiple projects to appear.



As for the lack of new bullet points under the link in the OP, I've been busy with the exams for the last two weeks but I hope to get back into writing code next week (Though pauses in general shouldn't be taken as signs of abandonment, I do have other things in my life going on as well )
__________________

Last edited by Soulweaver; May 24th, 2013 at 02:44 AM..
Soulweaver is offline   Reply With Quote
Old May 24th, 2013, 03:12 AM   #24
DoubleGJ
JCF Member
"household composer"
 
 
Join Date: Sep 2002
Location: what the hell, man
Formerly: ?JSZż JaZz!
Send a message via MSN to DoubleGJ Send a message via Skype™ to DoubleGJ
keep up the attitude and don't give up
this could be big
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM

Two Games Joined releases:

Control / Splinter (twin singles)
Ballistic Bunny (EP)
Beyond (maxi-single)
Beyond: Remixed (remix EP)
Inner Monsters OST (mini-album)
DoubleGJ is offline   Reply With Quote
Old May 24th, 2013, 03:43 AM   #25
Sir Ementaler
JCF Member
Currently sadistically consuming marshmallows
 
 
Join Date: Feb 2010
Location: Fridge
Reputation: 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
Send a message via Skype™ to Sir Ementaler
Quote:
Originally Posted by Soulweaver View Post
Point taken, though I honestly don't know what you expected this thread to contain I'm not here to show off a completed game but a prototype.
I expected it to contain less exaggerated reactions, everything else is fine.
Quote:
Originally Posted by Soulweaver
I expect the demo you just put up there was also written in GML; bear in mind that Game Maker provides the whole framework for handling sprites, drawing and different events built-in, while I've built my own engine that implements most of that stuff from the ground up all by myself. The way objects are handled in GML (basically almost nonexistent encapsulation) and preferred use of globals also simplifies things a lot.
Yes, although you must realize simplifying things doesn't always make them easier to use. And large portions of C++ code for drawing sprites, collision detection etc., can be successfully copied from older projects, assuming you had any. If I had had a ready level previewer in C++, I'd have used that to record the demo instead, but all I had at that moment was a GML one, so I used that.
Quote:
Originally Posted by Soulweaver
Of course I could've started writing this in some game-centric engine like Game Maker or Stencyl but I wanted to use a more mainstream language
God bless you.
__________________

I am an official JJ2+ programmer and this has been an official JJ2+ statement.
Sir Ementaler is offline   Reply With Quote
Old July 13th, 2013, 05:05 AM   #26
MrAlextov
JCF Member
Killed by rabbit ;P
 
 
Join Date: Apr 2010
Formerly: RedComputer
Send a message via MSN to MrAlextov
Do you plan for another video?
EDIT: What program do you use for the buttons on the title bar?
__________________
Sega Satan somewhat
MrAlextov is offline   Reply With Quote
Old July 13th, 2013, 12:18 PM   #27
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by RedComputer View Post
Do you plan for another video?
EDIT: What program do you use for the buttons on the title bar?
Eventually, when there's actually enough new stuff to show I got a bit sidetracked with playing several visual novels (Rewrite, Steins;Gate, Muv-Luv) recently, so I haven't been working on Project Carrot too much, but rest assured I haven't forgotten about this at all.

The title button software I'm using is Actual Title Buttons.

Quote:
Originally Posted by Robo4900 View Post
Wow, that is awesome! I mean, it's awesome anyway, but what you just said made it even more awesome(I would point out all the good things about the PNG format and RGB/Alpha, but anyone who doesn't know what all this means can just google it).
By the way, do you think it will be possible to have a high-resolution/HD mode, which would have double-sized sprites(Perhaps it could include an "animsHD.j2a" file, or something?), and allow tilesets with double-sized tiles?
I just noticed I completely missed this post earlier, so better late than never. A HD mode could be a nice feature, but while I won't say that won't happen, implementing such mode is not a high priority at the moment.

Quote:
Originally Posted by Sir Ementaler View Post
Yes, although you must realize simplifying things doesn't always make them easier to use. And large portions of C++ code for drawing sprites, collision detection etc., can be successfully copied from older projects, assuming you had any. If I had had a ready level previewer in C++, I'd have used that to record the demo instead, but all I had at that moment was a GML one, so I used that.
Late response to this as well. Yes, I'm well aware. For instance, I struggled to make proper looking menus back when I actively used GM; they always ended up looking simple or awkward and utilized way too many objects. As for code snippets, I guess that's true, though I don't really have any
__________________

Last edited by Soulweaver; July 13th, 2013 at 12:32 PM..
Soulweaver is offline   Reply With Quote
Old August 7th, 2013, 05:34 AM   #28
MrAlextov
JCF Member
Killed by rabbit ;P
 
 
Join Date: Apr 2010
Formerly: RedComputer
Send a message via MSN to MrAlextov
Remembering how I wanted to make the JJ2 clone same way you did
The tileset would have the simular format but they are on zip file instead normal folder.

Do you add support for Palette just for the GUI and sprites?
__________________
Sega Satan somewhat
MrAlextov is offline   Reply With Quote
Old August 14th, 2013, 08:18 AM   #29
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by RedComputer View Post
Remembering how I wanted to make the JJ2 clone same way you did
The tileset would have the simular format but they are on zip file instead normal folder.

Do you add support for Palette just for the GUI and sprites?
To be honest, I haven't really put much effort into solving the problems related to not using palette based graphics (SFML handles it all as 24-bit color + 8-bit alpha), though the only place where I currently remember palette based graphics being vital is multiplayer with its character sprites. I cannot say much at this point, but it's very likely there won't be much palette functionality in the end.

Packed level and tileset support is something I've looked into but haven't worked on yet at all; the actual format will stay as a folder with multiple files, but for distribution a single file approach is much nicer.
__________________
Soulweaver is offline   Reply With Quote
Old September 4th, 2013, 12:39 PM   #30
abraker
JCF Member
 
Join Date: Jul 2009
Reputation: abraker is doing well so far
Formerly: dOLDIZ
Keep working on the project and don't stop until it's finished (please). Just post at least once a month for the community to know you are still there.
abraker is offline   Reply With Quote
Old September 7th, 2013, 07:34 PM   #31
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by dOLDIZ View Post
Keep working on the project and don't stop until it's finished (please). Just post at least once a month for the community to know you are still there.
I visit the forum at least once a week and post either if someone asks something or if I make progress warranting a new reply instead of a new item in the first post, so I guess that's enough. Speaking of progress, there hasn't been any and I know it doesn't look very promising; I have a bit of trouble trying to do everything I have under way, and programming has probably suffered the worst. Regardless of the slow pace, I'm not quitting

I actually put together last month a narrated short video about the changes I've listed in the first post but never uploaded it since I came to the conclusion that I can't talk English spontaneously at all. Maybe I'll try again later or just scrap the narration.
__________________
Soulweaver is offline   Reply With Quote
Old September 28th, 2013, 05:52 AM   #32
MrAlextov
JCF Member
Killed by rabbit ;P
 
 
Join Date: Apr 2010
Formerly: RedComputer
Send a message via MSN to MrAlextov
Any news?
__________________
Sega Satan somewhat
MrAlextov is offline   Reply With Quote
Old September 28th, 2013, 07:23 AM   #33
abraker
JCF Member
 
Join Date: Jul 2009
Reputation: abraker is doing well so far
Formerly: dOLDIZ
Relax, it hasn't even been a month since the last time he posted
abraker is offline   Reply With Quote
Old September 29th, 2013, 06:25 AM   #34
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
Quote:
Originally Posted by RedComputer View Post
Any news?
Nothing more than what's written on the first post; as said in the previous post, having trouble fitting everything on my schedule currently, hoping it'll turn out better later on.
__________________
Soulweaver is offline   Reply With Quote
Old October 17th, 2013, 02:50 PM   #35
Soulweaver
JCF Member
Some kinda silly fellow
 
Join Date: Aug 2007
Location: Finland
Reputation: Soulweaver is an asset to this forum
Formerly: UltimateSephiroth
https://www.youtube.com/watch?v=_uFeWwbaKcg

I posted a new video on YouTube showing all (or at least most of) the new tiny bits of code added since the last video in May. As said, I would've hoped to get more done in five months, but at least the project isn't dead
__________________
Soulweaver is offline   Reply With Quote
Old October 17th, 2013, 03:09 PM   #36
abraker
JCF Member
 
Join Date: Jul 2009
Reputation: abraker is doing well so far
Formerly: dOLDIZ
Awesome! I'm sure we will all be excited the day you put it public!
abraker is offline   Reply With Quote
Old October 17th, 2013, 03:37 PM   #37
Stijn
Administrator
 
 
Join Date: Mar 2001
Reputation: 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 behold
Impressive! Excited to see where this goes next.
Stijn is offline   Reply With Quote
Old October 18th, 2013, 01:25 AM   #38
Jerrythabest
JCF Member
Can I has cookie?
 
 
Join Date: Apr 2005
Location: Wassenaar, the Netherlands
Reputation: Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend
Send a message via MSN to Jerrythabest Send a message via Skype™ to Jerrythabest
This looks so much like the original Jazz2! Absolutely amazing work. Keep doing this please!
__________________
Jerrythabest is offline   Reply With Quote
Old October 22nd, 2013, 02:02 AM   #39
Slaz
JCF Member
CDF Clan Member
 
 
Join Date: Aug 2004
Location: Netherlands
Reputation: Slaz is a forum legendSlaz is a forum legend
I guess you've already read my YouTube commenting, but keep up the good work. I honestly didn't expect such a project to last this long!
__________________
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
Slaz is offline   Reply With Quote
Old October 22nd, 2013, 02:35 AM   #40
Jerrythabest
JCF Member
Can I has cookie?
 
 
Join Date: Apr 2005
Location: Wassenaar, the Netherlands
Reputation: Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend
Send a message via MSN to Jerrythabest Send a message via Skype™ to Jerrythabest
Quote:
Originally Posted by Slaz View Post
I honestly didn't expect such a project to last this long!
Indeed, after pretty much all the previous projects we have seen got abandoned. So it's really quite a relief to see progress reports like this! All is looking very promising
__________________
Jerrythabest is offline   Reply With Quote
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 02:25 AM.


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