Noob thinking about trying to use a library

Lets be honest, Im a noob in java (that’s why I am here) trying to make a game similar to Minecraft (Im aware that this is an ambitious project for a starter, but it’s helping me to learn stuff) but in 2D (not platformer 2D, but Zelda like 2D). However, I feel like things are going too slow… :-\ So far, I hava managed to make:

The graphics:
-An ortographic view (if it is called so the view that moves with your character) using paint() method to draw things (I know it’s a terrible idea, right?), which supports floating point movement and rescaling, and renders blocks as colored points.
-A crappy lightning system (yet I managed to make it cast shadows).

Gameplay:
-I can move my character around, and it collides with walls (this is sad).

Engine:
-The world is infinitely generated using Perlin noise (so far just walls and empty spaces).
-The world is generated and divided in chuncks, whose side can be modified.
-Each chunck is composed of blocks, each one with its own id and lightning.

An ugly starting menu

The last thing I did was the lightning system, which was hard (for me), and Im a little frustrated. So I thought I should stop messing around in my paint() method, and instead move to a suitable engine (“engines” I have used so far: console, JLabels with an image, and curent one). But I’d like to ask some questions before making that move:

-What is the best (I hope I dont start a flame war with this) java engine/library for 2D games?
-Is that engine/library capable of loading/unloading regions of an infinite grid? (this might be a stupid question)
-Has that engine/library anything to make lights?
-Is the engine/library easy to learn for a noob? (I know how to handle basic java stuff, and a little of Object oriented programming, but nothing more).
-Does that engine/library provides an easily accessible particle/sprite system?

Keep in mind that I dont want something that makes everything for me, but Id like to concentrate in the random generation and enemy AI of my game, rather than in the graphics…

Btw, this is my first post in this forum ;D .

PS: Who designed the little “test” to validate an account?. Im just curious, I didnt expect that kind of thing…
PS2: If I made an spelling or grammar error, dont be so hard on me, Im not a native speaker (but point it out, so I learn from it) :slight_smile:

About loading/unloading regions - you have to make the code yourself, but KryoNet is a good choice when it comes to saving/loading objects and networking.

About lighting - I think there is no library for that, you have to use the whole framework like LibGDX or make it yourself.

Easy to learn engine? Try LibGDX, or JOGL if you want to reinvent the wheel.

- What is the best (I hope I dont start a flame war with this) java engine/library for 2D games?
IMHO definitely LibGDX

- Is that engine/library capable of loading/unloading regions of an infinite grid?
Hard to answer, but something like this is definitely possible (e.g. using tile maps (tut))

- Has that engine/library anything to make lights?
Box2DLights works nicely with LibGDX (I recommend to use Box2D anyway)

- Is the engine/library easy to learn for a noob?
I was a noob when I learned it and I still love it, so I guess yes.

- Does that engine/library provides an easily accessible particle/sprite system?
Yes, it even provides a Particle Editor

In addtion, I made libgdx-utils and some tutorials.

or both. I updated LibGDX JogAmp backend yesterday, enjoy ;D
https://github.com/gouessej/libgdx

LibGDX is definitively the best choice for 2D. I’m not sure its 3D API is ready for prime time but Nate should answer you better than me.

Thank you for all the responses :smiley: , now I know that libgdx is the way to go.

Also, about loading and unloading parts of the map, I meant to ask if libgdx would load the images just in the screen and unload them when they go out, or if Id have to handle the loading and unloading part myself.

On the lightning part, I think Ill try to finish the engine I started making.

Finally, where can I find easy resources to get started in libgdx?

from this topic:

[]the wiki
[
]a youtube series
[]another youtube series
[
]just found another one
[]and well my whole channel is about LibGDX (see my forum signature)
[
]libgdxgaming.com
[]the external tutorials on the official website
[
]a blog
[]Xoppa is the main 3D API dev of LibGDX
[
]another blog
[]some posts on the badlogicgames blog
[
]just found another blog
[]and one more
[
]guess what I just found
[]as well as this blog
[
]and this one

Since it’s built on top of OpenGL, it clips the vertices that are not visible to the camera and doesn’t render them.

For what you’re trying to do, you need to start learning LibGDX. It handles most of the redundant things for you so all you have to do is basically code your content but is still flexible enough to do anything you want. I’m working on a similar type game (By similar I mean a 2d tiled game.)

Get LibGDX up and running and watch dermetfans tiled tutorial. It’s GREAT! You will learn enough to get you started.

P.S. Thanks dermetfan for the hardwork put into your tiled tutorial. I haven’t had a chance to go through your other tutorials yet but thanks for those too! I spoke with you the other day on youtube. I’m the one making the farming type game. (Jman)

I agree 100%, you are not going to learn everything in one sit but watching through any of dermets videos you will learn enough to get started and lower the frustration greatly.