Any good 2D LWJGL engines?

Started by Unknown, July 09, 2006, 12:00:27

Previous topic - Next topic

Unknown

Does anyone know any good lwjgl/java 2d game-engines? I'm mostly interested in rotateable and scalable sprites...

the2bears

SPGL, courtesy of Cas and Puppygames is very good... just not sure where to find it now.  There's a project for it at Sourceforge but no files there.  

Bill
the2bears - the indie shmup blog

Unknown

Does anyone know where it could be found? Cas?

princec

http://www.sourceforge.net/projects/spgl

No files, just a window onto my working code. Check it out and play with it.

Cas :)

orpheusx

Quotehttp://www.sourceforge.net/projects/spgl

No files, just a window onto my working code. Check it out and play with it.

Nice stuff, Cas. Curious though...I created projects from CVS in Eclipse and all the modules--"Puppygames GUI" etc--depend on another project called "Shaven Puppy Game Library." I thought all those modules *were* the Shaven Puppy Game Library, no?

Any way, thanks for making the code available. It's very helpful...

orpheusx

Oops, asked too quickly. The spgl module is the Shaven Puppy Game Library. Sorry about that.

wayne

Doeas anyone have any pointers to examples of using SPGL?

orpheusx

At risk of appearing to not totally appreciate Cas releasing so much of his code* I thought I'd post a list of the compile errors Eclipse is reporting. I started to fix them but quickly ran into cases where I wasn't sure what Cas was intending. For example in TextureRun (com.shavenpuppy.lglib.sprites) there appears to be missing an overloaded version of the init method--void init(GLBaseTexture texture0, Style style, int offset)--because without it IndexedSpriteEngine in SPGLExtra is unhappy. But maybe it's the latter that's wrong?

Anyway here are the rest of the errors I'm seeing:

Type mismatch: cannot convert from GLBaseTexture to GLTexture   Puppygames GUI/src/net/puppygames/gui   Background.java   line 210

The type ResourceConverter must implement the inherited abstract method Resource.Loader.getLoadedListener()   spgl-tools/src/com/shavenpuppy/jglib/tools   ResourceConverter.java   line 55

Same problem for the include(InputStream),is/setOverwrite(), and setLoadedListener(ResourceLoadedListener) methods

The import com.shavenpuppy.jglib.Rectangle cannot be resolved   spgl-tools/src/com/shavenpuppy/jglib/tools   TexturePacker.java   line 18

The constructor Wave(int, int, int, int, int, int, byte[]) is undefined   spgl-tools/src/com/shavenpuppy/jglib/tools   WaveConverter.java   line 123

Not sure if the Spaghetti module is essential but the MousePointer class has a bunch of missing methods for the abstract class it extends:

The type MousePointer.AnimationDelegate must implement the inherited abstract method Animated.addLoop(int)   Spaghetti/src/net/puppygames/gui   MousePointer.java   line 26   

Same for the getAnimation(), get/setLoop(), is/setPaused(), reset(), rewind(), and tick() methods.

*- I've been playing the crap out of the fantastically fun "Titan Attacks" and having continuous day dreams of writing something anywhere near as good.

tortoise

It's a wee bit early at this point, but my JASEL library is/was pretty good.

I had it completely done 2 years ago and was developing a game for it when my laptop got stolen and a decent chunk of the code base with it.

I salvaged what I had out of my SF CVS repository and am rebuilding it for Java 5 and LWJGL 1.0b3.

It has two layers, the lower handles rendering, audio and input, and the upper handling scripting, game entities, animation, etc etc. The upper layer is geared towards shooters (JASEL stands for "Java and Shmups Equals Love" :) ) and by shooters I mean R-Type, Gradius, etc. But the lower layer is good for just about any 2D LWJGL endeavor.

Anyway, like I said, still very early at this point (if my machine was not taken I would have finished that game and debuted JASEL a long time ago), but what the hell, maybe you'll like it in a month or two :)

http://sf.net/projects/jasel
nothing to download, but the complete current state of the library is in CVS.

Orangy Tang

Quote from: "orpheusx"At risk of appearing to not totally appreciate Cas releasing so much of his code* I thought I'd post a list of the compile errors Eclipse is reporting. I started to fix them but quickly ran into cases where I wasn't sure what Cas was intending. For example in TextureRun (com.shavenpuppy.lglib.sprites) there appears to be missing an overloaded version of the init method--void init(GLBaseTexture texture0, Style style, int offset)--because without it IndexedSpriteEngine in SPGLExtra is unhappy. But maybe it's the latter that's wrong?

Anyway here are the rest of the errors I'm seeing:

Type mismatch: cannot convert from GLBaseTexture to GLTexture   Puppygames GUI/src/net/puppygames/gui   Background.java   line 210

The type ResourceConverter must implement the inherited abstract method Resource.Loader.getLoadedListener()   spgl-tools/src/com/shavenpuppy/jglib/tools   ResourceConverter.java   line 55

Same problem for the include(InputStream),is/setOverwrite(), and setLoadedListener(ResourceLoadedListener) methods

The import com.shavenpuppy.jglib.Rectangle cannot be resolved   spgl-tools/src/com/shavenpuppy/jglib/tools   TexturePacker.java   line 18

The constructor Wave(int, int, int, int, int, int, byte[]) is undefined   spgl-tools/src/com/shavenpuppy/jglib/tools   WaveConverter.java   line 123

Not sure if the Spaghetti module is essential but the MousePointer class has a bunch of missing methods for the abstract class it extends:

The type MousePointer.AnimationDelegate must implement the inherited abstract method Animated.addLoop(int)   Spaghetti/src/net/puppygames/gui   MousePointer.java   line 26   

Same for the getAnimation(), get/setLoop(), is/setPaused(), reset(), rewind(), and tick() methods.

*- I've been playing the crap out of the fantastically fun "Titan Attacks" and having continuous day dreams of writing something anywhere near as good.
SPGL / SPGL Extra / Spaghetti does have some compile problems, mostly due to interfaces being extended and not all implementations being updated. However whats there does mostly work, as the things that are broken are either older implementations that have been replaced, or they're 'fringe' functionality thats not being used at the moment. (IndexedSpriteEngine in particular is obsolete, prefer StaticSpriteEngine or ResizingSpriteEngine instead).