First of all, I wish you all the best in your Java journey! Let me address your questions honestly and with some context.
Can I do, for example, a skate and parkour low poly game?
Absolutely! jMonkeyEngine (JME) is a 3D game engine, so in theory, you can build almost anything with it. There are many successful implementations of a variety of game ideas using JME, you can find examples both here on the forum and on GitHub. However, it’s important to note that such a project can be complex, especially if you’re still in the early stages of learning Java.
Java itself can be a challenging language to learn without a proper foundation. It’s not just about learning syntax; a strong understanding of key concepts like data structures, design patterns, storage and retrieval, operating systems, and at least a basic knowledge of graphics programming is essential. These concepts aren’t as straightforward as they might sound, they’re deep topics, and each requires time and dedication to grasp.
Some concepts, like operating systems or low-level storage techniques, may not directly apply to game development, but others, like object-oriented programming (OOP), are crucial. Java heavily relies on OOP principles, and mastering them is essential for working with JME. Additionally, having a undrestanding of the JVM and compilers will significantly help you in the long run.
Even with a strong Java foundation, JME itself can present its own challenges. For example:
- Outdated PBR (Physically-Based Rendering): While functional, it may not be as advanced as what you’ll find in modern engines.
- Asset workflow: Importing and preparing assets can be tricky. Even with popular formats like GLTF that supposedly jme has strong support for it, but there’s a good chance things won’t work perfectly on the first try, coordination issues, materials, or animations may need tweaking.
- Scene editors: While there are tools like the netbeans based jme sdk, which is sufficient for most use cases, JME lacks a modern, advanced scene editor. You might find yourself relying on third-party or custom tools.
If you’re not experienced in 3D modeling or asset creation (like myself), these issues can add to the frustration. That said, with time and effort, you can overcome these hurdles and even contribute to the engine or its ecosystem, like many in the community have done.
I want to know more exactly what kind of game can you do with this engine.
JME is suitable for many types of games, from simple 2D or 3D games to more complex projects. However, it’s not designed for AAA-level games. Building such games requires enormous resources and millions of dollars to make ready jme it self for such use case at first! among assets, something very far, outside the scope of jme as it stands today.
If you’re interested in creating games with stunning graphics and ready-to-use tools or assets, you might want to consider exploring other engines, like unreal engine. unreal supports C++, which could be a great next step after mastering java if you want to dive deeper into game development with cutting-edge technology.
That being said, if you stick with Java and JME, you’ll gain valuable experience and a deeper understanding of both programming and game development. It’s not the easiest path, but it’s incredibly rewarding. Good luck, and don’t hesitate to reach out if you have more questions, we’re here to help!