Quote:
Originally Posted by Stijn
Still looks nicely similar to the original, and it's encouraging to see some progress. I also had the feeling that the physics are "off" in some ways but at some point I suppose the law of diminishing returns kicks in and it's not really worth the effort of getting it pixel perfect. And things like enemies walking up slopes actually allow for more exciting gameplay than vanilla JJ2, so there's that too.
Could you tell a bit more about the end goal of this project? It would of course be nice to have a JJ2-compatible engine that is easier to tweak, but given the existence of JJ2+ (which you are surely aware of) it will probably see little use for playing existing levels. Would it be easy for people to use it as a general purpose 2D engine, for example?
|
Yeah, I'm aware of JJ2+ (though I have to admit I haven't come around to actually try it out yet). Can't tell if I had heard of it in early 2013 when I first started the project, though.
The main goal has always been primarily to provide an alternative, open-source engine that can be improved and eventually extended with relative ease. Not being bound to some of the technical limitations the original engine seems to have (see: fixed memory limits, somewhat limited colour support - though palette based graphics do make other things easier - etc.) could also be useful in the future. I already take advantage of that in places where it comes with no cost, for example with full alpha channel support with tilesets and assets, full freedom over the number of layers in a level (only made difficult by the lack of a dedicated level editor for now) or completely free window resolutions. (I don't
really know how feasible adding these to JJ2+ would be, or if they already are there, though.)
One factor, to be honest, is also just to gain programming experience in a language I don't typically use that much elsewhere, since having a wider arsenal of languages on one's belt is always useful. That alone makes it worthwhile for me even if I would be trying to win people over from JJ2+, which I don't really see as a goal I should be going for anyway. In particular, the flexibility AngelScript provides would be quite a beast to compete against after all
Content-wise, the current long-term goal is to bring the engine to a point that everything necessary to play single player levels from JJ2 is in place, with the exception that levels that depend on minor details or good bad bugs (read: MCEs and such) specific to the implementation may or may not work. Obviously, that is a matter of balance, and the closer it can be moved to the original with relative ease, the better. Since I have absolutely zero experience on netcode, I haven't taken anything it requires into account at all, so I might have already shot myself in the foot if I ever want to add online play without huge overhauls. Local modes will regardless stay as the primary target for now, so that's another reason for not trying to compete with JJ2+.
The point about a general purpose engine is one that I hadn't considered but that seems quite obvious in hindsight. At the moment it is already very easy to replace the graphics and sounds with something else – PC is not tied to any of the JJ2 formats after all but uses its own for everything – and with some minor changes you could already add gameplay elements that transform JJ2 into a new game altogether.
...Well, that was a lot of rambling. Maybe I answered the question, maybe not
TL;DR: Goal is a mostly compatible open-source engine with main targets as local game modes, extensibility – especially in the future – and the honing of own programming skills.