![]() |
Project Carrot
[img]https://i.imgur.com/w19gaLy.png[/img] 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 :p Good to see my million years old account still works :p 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 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 :) |
Well, I'm sold! Some initial thoughts:
|
I remember you!
This looks very promising.
|
Thank you for the kind thoughts and feedback :p
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
|
Quote:
Quote:
Quote:
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 :p |
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; |
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. :rolleyes:
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! ;) |
Quote:
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 :p Quote:
E: (De)activation routines have been implemented. Quote:
|
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 :)
|
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. |
Quote:
Quote:
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. |
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... 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. |
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.
|
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. :)
|
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.
|
Quote:
![]() |
I didn't have a whole weekend.
|
Quote:
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. |
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 |
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.
|
Quote:
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 :p 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:
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 ;) ) |
keep up the attitude and don't give up
this could be big |
Quote:
Quote:
Quote:
|
Do you plan for another video?
EDIT: What program do you use for the buttons on the title bar? |
Quote:
The title button software I'm using is Actual Title Buttons. Quote:
Quote:
|
Remembering how I wanted to make the JJ2 clone same way you did :D
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? |
Quote:
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. |
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.
|
Quote:
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. |
Any news?
|
Relax, it hasn't even been a month since the last time he posted
|
Quote:
|
http://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 :p |
Awesome! I'm sure we will all be excited the day you put it public!
|
Impressive! Excited to see where this goes next.
|
This looks so much like the original Jazz2! Absolutely amazing work. Keep doing this please! :D
|
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! ;)
|
Quote:
|
| All times are GMT -8. The time now is 05:30 AM. |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
JCF © 2001-Infinity Jazz2Online