My friend and I created this game for an Independent Study project. It's our first game created using Slick2D and was written in Scala. It's missing sound and the graphics are just programmer art, but it can still provide some amusement. Sound likely won't be added until the future when we have time to port it to libGDX so it can run on android and in browsers. Also, our code structure started showing some weaknesses towards the end of development which made us have to cut some features. It was a great learning experience and our next game(s) will be much better because of it.

Game Objectives:The goal of the game is to find your way through Castle's containing various puzzle elements. Most of the time it's just finding the right key for the right door, but there are objects that allow for creation of ice sliding puzzles (like in pokemon), teleporters, hidden rooms, and more.Currently, there is only the intro level available but the other half of the game is the editor which allows you to create your own Castles.

I don't know what's going on, I run the jar file and it works just fine, I upload it to GitHub, I then redownload it from GitHub and it works just fine again. Then after awhile it just becomes a 0kb jar file. I'll try reuploading it again but if it still doesn't work, there will be a mediafire mirror.

edit: ok I know what I did. It's going to be broken for awhile, I'll fix it as soon as I have time later today.

Definitely looks cool! Any plans for monsters/enemies/bosses/treasure in the future?

Busy between school, work, life, games, programming and general screwing around.If you'd like some pixel art for your game, send me a PM, i'll see what I can do.Current project: http://elementalwarblog.wordpress.com/

It works but I get several exceptions:Loading jar at /home/gouessej/Téléchargements/CastleForge-1.0.jarMoving /natives/natives from jar to /home/gouessej/.castleforge/natives/1.0/nativesjava.lang.NullPointerException at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at org.nolat.castleforge.NativeExtractor$.org$nolat$castleforge$NativeExtractor$$extractFromJar(NativeExtractor.scala:48) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:29) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:24) at scala.collection.Iterator$class.foreach(Iterator.scala:772) at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:578) at org.nolat.castleforge.NativeExtractor$.extractNatives(NativeExtractor.scala:24) at org.nolat.castleforge.App$.main(App.scala:13) at org.nolat.castleforge.App.main(App.scala)Moving /natives/jinput-dx8.dll from jar to /home/gouessej/.castleforge/natives/1.0/jinput-dx8.dllMoving /natives/jinput-dx8_64.dll from jar to /home/gouessej/.castleforge/natives/1.0/jinput-dx8_64.dllMoving /natives/jinput-raw.dll from jar to /home/gouessej/.castleforge/natives/1.0/jinput-raw.dllMoving /natives/jinput-raw_64.dll from jar to /home/gouessej/.castleforge/natives/1.0/jinput-raw_64.dllMoving /natives/jinput-wintab.dll from jar to /home/gouessej/.castleforge/natives/1.0/jinput-wintab.dllMoving /natives/libjinput-linux.so from jar to /home/gouessej/.castleforge/natives/1.0/libjinput-linux.soMoving /natives/libjinput-linux64.so from jar to /home/gouessej/.castleforge/natives/1.0/libjinput-linux64.soMoving /natives/libjinput-osx.jnilib from jar to /home/gouessej/.castleforge/natives/1.0/libjinput-osx.jnilibMoving /natives/liblwjgl.jnilib from jar to /home/gouessej/.castleforge/natives/1.0/liblwjgl.jnilibMoving /natives/liblwjgl.so from jar to /home/gouessej/.castleforge/natives/1.0/liblwjgl.soMoving /natives/liblwjgl64.so from jar to /home/gouessej/.castleforge/natives/1.0/liblwjgl64.soMoving /natives/libopenal.so from jar to /home/gouessej/.castleforge/natives/1.0/libopenal.soMoving /natives/libopenal64.so from jar to /home/gouessej/.castleforge/natives/1.0/libopenal64.soMoving /natives/lwjgl.dll from jar to /home/gouessej/.castleforge/natives/1.0/lwjgl.dllMoving /natives/lwjgl64.dll from jar to /home/gouessej/.castleforge/natives/1.0/lwjgl64.dllMoving /natives/META-INF from jar to /home/gouessej/.castleforge/natives/1.0/META-INFjava.lang.NullPointerException at java.io.FilterInputStream.read(FilterInputStream.java:133) at java.io.FilterInputStream.read(FilterInputStream.java:107) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at org.nolat.castleforge.NativeExtractor$.org$nolat$castleforge$NativeExtractor$$extractFromJar(NativeExtractor.scala:48) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:29) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:24) at scala.collection.Iterator$class.foreach(Iterator.scala:772) at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:578) at org.nolat.castleforge.NativeExtractor$.extractNatives(NativeExtractor.scala:24) at org.nolat.castleforge.App$.main(App.scala:13) at org.nolat.castleforge.App.main(App.scala)Moving /natives/MANIFEST.MF from jar to /home/gouessej/.castleforge/natives/1.0/MANIFEST.MFjava.lang.NullPointerException at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at org.nolat.castleforge.NativeExtractor$.org$nolat$castleforge$NativeExtractor$$extractFromJar(NativeExtractor.scala:48) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:29) at org.nolat.castleforge.NativeExtractor$$anonfun$extractNatives$1.apply(NativeExtractor.scala:24) at scala.collection.Iterator$class.foreach(Iterator.scala:772) at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:578) at org.nolat.castleforge.NativeExtractor$.extractNatives(NativeExtractor.scala:24) at org.nolat.castleforge.App$.main(App.scala:13) at org.nolat.castleforge.App.main(App.scala)Moving /natives/openal.dylib from jar to /home/gouessej/.castleforge/natives/1.0/openal.dylibMoving /natives/OpenAL32.dll from jar to /home/gouessej/.castleforge/natives/1.0/OpenAL32.dllMoving /natives/OpenAL64.dll from jar to /home/gouessej/.castleforge/natives/1.0/OpenAL64.dllSet org.lwjgl.librarypath to /home/gouessej/.castleforge/natives/1.0/Thu Dec 13 17:13:17 CET 2012 INFO:Slick Build #274Thu Dec 13 17:13:17 CET 2012 INFO:LWJGL Version: 2.8.4Thu Dec 13 17:13:17 CET 2012 INFO:OriginalDisplayMode: 1680 x 1050 x 24 @60HzThu Dec 13 17:13:17 CET 2012 INFO:TargetDisplayMode: 1280 x 720 x 0 @0HzThu Dec 13 17:13:17 CET 2012 INFO:Starting display 1280x720Thu Dec 13 17:13:17 CET 2012 INFO:Use Java PNG Loader = truedéc. 13, 2012 5:13:17 PM net.java.games.input.DefaultControllerEnvironment getControllersINFO: Loading: net.java.games.input.LinuxEnvironmentPluginjava.lang.ClassNotFoundException: net.java.games.input.LinuxEnvironmentPlugin at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:159) at org.lwjgl.input.Controllers.create(Controllers.java:71) at org.newdawn.slick.Input.initControllers(Input.java:1032) at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:382) at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314) at org.nolat.castleforge.App$.main(App.scala:24) at org.nolat.castleforge.App.main(App.scala)Thu Dec 13 17:13:17 CET 2012 INFO:Found 0 controllersTook 4874ms

I don't think it likes the Unicode in the path to the jar. Can you try deleting ~/.castleforge then rerunning the jar from a path without Unicode in it. I also never tested on Linux so the binaries for lwjgl might not even work. But try running the jar from a location without Unicode first. Also what version of java are you using?

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org