Home page

I’ve finally created a web page to keep track of my software projects: https://stephengold.github.io

Currently it’s just a list of projects with links and descriptions—nothing fancy. For libraries, I plan to add a table indicating the version number of the latest release. (I publish lots of releases.)

I’m open to other ideas how I might make the site more useful.


Looks nice.

My two cents,

Maybe you can add a bit more about yourself, when you get to know about JME, since when you joined the JME community,…

Some of the projects lack a screenshot, maybe you can add some screenshots for these projects on their GitHub page: JmePower, FuzeCreek, Acorus, Garrett.

And finally, a donation button if you like :slightly_smiling_face:

Kind Regards

Thanks for the suggestions. I love the idea of adding some screenshots!

Why not add “Releases” some people might not want to build them. Just want them and use them.

Think about doing releases with full zips if stand alone or zip with just the jar if a library to be added to JME.

Thanks for the feedback.

While I often provide detailed instructions for building my libraries from source, I don’t expect users to do so. For all my libraries, I publish artifacts to the Maven Central Repository (just like JMonkeyEngine does). The intent is for users to refer to libraries by Maven coordinates in their buildscripts, not to explicitly download ZIPs or JARs or source code.

All that’s probably gobbledygook to someone who doesn’t use Gradle or Maven, but I’ll try to clarify it in my webpage.

I’ve been skimming through the projects. (Quite a lot of things that you work on!)

One thing that might be helpful - and I’m not sure if this belongs on your homepage, the individual project readme pages, or both - is a consistent, clearly identifiable listing for for Maven target coordinates as a <group>:<artifact>:<version> triple. This seems to be a bit inconsistent across the various projects, some of which require scrolling past the manual build steps, etc.

1 Like

I personally download them also. Many time over the years they get removed or deleted and then you don’t have the libraries you need and forced to do it yourself or locate a new library.

But I’m one of those people that hate Digital ONLY software because you never own it or have a copy. When services remove those software they are gone. but that is me, if I don’t have a copy on my machine then you are up to the mercy of servers and such to make sure they are their 5 years later.


That is based on someone always using gradle or maven to do builds. During debugging inside an environment it gets harder to do.

Just like the the JME SDK, I can’t get it to build to check it out, with gradle and there is no help. If the release was not there they I wouldn’t have the SDK runtime to check out stuff.

@sailsman63: Thanks for the feedback.

I agree that consistency is important, and Maven coordinates should be highlighted in all library projects.

@kevinba99: After what happened to GoogleCode and JCenter (and with James Khan), I sympathize with your desire to retain copies of all dependencies. I was able to resurrect JBullet only because @normen thoughtfully archived source for ASM 3.1 and jstackalloc with the JBullet sourcecode.

By the way, another reason to build projects from source is to run applications. Few of my projects have reached the point where you can download pre-built apps—most provide only pre-built libraries.

I just don’t want people assuming they have to clone the repo before they can use Minie.

Just like the the JME SDK, I can’t get it to build to check it out, with gradle and there is no help. If the release was not there they I wouldn’t have the SDK runtime to check out stuff.

If the JME SDK can no longer be built from source, then it’s time to write it off as a dead project. But that discussion belongs in a different topic.

I understand the desire to grab back up copies of Jars (I have done that for slightly more unusual dependencies) but I’d say that downloading a jar from the library’s website is the wrong way to do that (as you then need to track down all the library’s dependencies and find their websites etc etc). I’d suggest the better way is to just do a build (using maven or gradle or whatever) and then just grab the jars it downloads.

In gradles case running distZip then they end up in the lib folder of the generated zip (and that means you have a full copy of everything you need, no missing anything)

I didn’t know that. Thanks.

SO I just tried the FC2D , just to see it. THis is what I got. If you are so to supply param? There was nothing to indicate this.

$ ./bin/FC2D.bat
Apr 18, 2022 1:49:31 PM jme3utilities.Validate positive
SEVERE: new width=0
Apr 18, 2022 1:49:31 PM com.jme3.app.LegacyApplication handleError
SEVERE: Uncaught exception thrown in Thread[jME3 Main,5,main]
java.lang.IllegalArgumentException: new width must be positive.
        at jme3utilities.Validate.positive(Validate.java:857)
        at jme3utilities.ui.AcorusDemo.onViewPortResize(AcorusDemo.java:393)
        at jme3utilities.ui.AcorusDemo$1.reshape(AcorusDemo.java:625)
        at com.jme3.renderer.RenderManager.notifyReshape(RenderManager.java:340)
        at com.jme3.renderer.RenderManager.notifyReshape(RenderManager.java:373)
        at com.jme3.app.LegacyApplication.reshape(LegacyApplication.java:577)
        at com.jme3.system.lwjgl.LwjglWindow$4.invoke(LwjglWindow.java:337)
        at org.lwjgl.glfw.GLFWFramebufferSizeCallbackI.callback(GLFWFramebufferSizeCallbackI.java:44)
        at org.lwjgl.system.JNI.invokeV(Native Method)
        at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3397)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:612)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:669)
        at java.base/java.lang.Thread.run(Thread.java:829)

1 Like

That’s interesting. When I try to run “FC2D.bat” on my Windows 11 laptop I get:

Error: could not find or load main class com.github.stephengold.fuzecreek.dd.FC2D

However, I’m able to run the app using Gradle:

$ cd FuzeCreek
$ ./gradlew :FC2D:run

Does running from Gradle work for you?

That works.

1 Like

FuzeCreek is a project I definitely want to spend more time on. It re-creates the mechanics of the first computer game I ever wrote: in BASIC, on a TRS-80 Model II. Its true purpose is to illustrate good separation between game objects and the scene graph. The next step would be to add a 3-D version with perspective and lighting and shadows and …

I’d still like to figure out what caused the IllegalArgumentException. Can you explain in more detail how you got it?


Cool, that’s a interesting fact, great to know it. My first game was written on a ZX Spectrum, in 1987.

1 Like

I did mine on an Amiga, and sold hundreds of copies and then sold it to a software company that took it and didn’t pay a dime to me even though we had a contract. Like many people in the day back in 80s, companies took advantage of independent developers, mine was very simple.

I sold mine through my BBS, which was pretty big for the central area in Texas, had 4 phones lines on an Amiga 2000 with accelerator card, and I also created an sold a FIDO message processor, because back then it was the only form to send messages over messages board from across the country. Amiga BBS’s didn’t have any at the time, so I created one and sold it through my BBS also. I was then contacted my the BBS owner (Cnet Amiga by Ken Pletzer) that wanted to make it part of the software and offered money for it.

But then again 16yrs old, didn’t know and learn from prior mistakes. Was taken advantage again and never saw any money other than what I was making selling it through the BBS. I could never get Ken to answer or return phone calls after he got the software, and 2 months later FIDO net message processor was in the Cnet update.

You still can find my BBS in the Amiga History pages with the original phone number, several of my Amiga game from the BBS are still out their and can be downloaded 30+ years later. I lost source code years ago, I wrote most of my software in C, back in the day

Those where the days.


I’d say that makes sense, the SDK was an attempt to make JME a complete one-stop collection of tools to write games with, akin to Unreal Engine. Since it’s back to its old state of being a 3D scenegraph library with an appendix of compatible user-maintained libraries I’d say the SDK is only confusing new users about its use. I’ll leave the rest of the discussion to the mentioned thread and the current community though, just giving permission to kill “my baby”. Its cool to see JME is still living on!


That is so sad. The SDK was the perfect solution for me and made the engine much more user friendly.
Trying to make everything from code now does seem a bit overwhelming now.
Thinks like setting up Materials, Particles, Model conversions, etc.
I have been part of this community for close to 18 years now and I can honestly say that the SDK was the best software in my eyes for jME.

All it needs is people to maintain it.