A couple of questions about Slick2D

Hi, I’m new to Java programming and game programming. I have about 1 year limited experience in programming in general, by having read a few books and having followed a few tutorials for a couple of different languages. Java turned out to be very nice in my opinion, so I just started learning it.

I am interested in eventually building a 2d point and click adventure game. I choose to program it for both the challenge, and having complete control. I have some ways to go before I get there, but I recently found out about Slick2D so I have a couple of questions.

  1. Is Slick2D, a library that is actually used in commercial game development?

  2. Is it still being developed? I found some links to a slick2d website, but it looks closed and then I found out that it is available on ninjacave.com.

  3. Should I be looking to use it for what I want to do or is there something else I should concentrate on?

  4. I heard that some people use OpenGL to render sprites to quads and after looking at some demos, I noticed immediately that the OpenGL rendered quads are very high performance and animation can be tuned to be very smooth. Does Slick2D do this? since it uses lwjgl2 I think, which is OpenGL.

  5. Almost the same as question 3, but to elaborate - If Slick2D is still useful and it can do what I want, should I still consider something else that is newer? and if so, what.

  6. I wanted to throw in a bonus question, so I don’t have to start another thread. Maybe someone can answer this? I’m learning from the ebook - Java in a Nutshell 6th Edition. I don’t want to overload myself with text, but what would be a good support book that leans toward game programming… or should I just get most other information from online tutorials. I would like to be efficient in my process in learning, and don’t want to spend unnecessarily on books that are just repetitions and so on.

…and at last, please excuse me, I don’t have a formal education in programming, so I’m trying to pull together the best tips I can.

  1. I only know one game that uses Slick2D and requires to be purchased, and that is Retro-Pixel Castles.

  2. Slick2D has not been out of development for a long time.

  3. It would be ok to learn on, it gives a api similar to java’s Graphics2D, and if you are going to purchase a book for game development in Java, it will most likely use J2D, so it would be a lot easier to learn from the book then using OpenGL or another library.

  4. OpenGL uses the GPU to draw, so it is hardware accelerated. You are going to get a lot better performance when using OpenGL. Even though Slick2D uses OpenGL, it uses immediate mode to render, which is slower then using the programmable pipeline.

With OpenGL, if you use only LWJGL, you will be writing a lot of code just to set up the rendering, and with the little experience you have, it will probably go right over your head.

  1. LibGDX is Java’s pretty much best game development library. It is still maintained, and uses more advanced OpenGL techniques, and there for gives a lot better performance then Slick2D.

LibGDX also supports 3D development if you decide to use that in the future.

With LibGDX, you code your game in Java, and when you go to export it, you can export it to Desktop, HTML, Android or even IOS.

LibGDX will also give you a lot more functionality that Slick2D does not provide, and should have a lot of tutorials on how to do things.

  1. I have never used a book to learn programming. I learnt everything I know from articles and videos. I started off learning form Videos, but I mostly only use articles now.

If you want to learn OpenGL directly, you will need to get comfortable with reading C++, most OpenGL articles your going to find will be using C++, Though the API for C++ is very very similar to LWJGL’s implementation, just a few little differences (parameters are slightly different).

Thank you, I’m looking over LibGDX right now.