I've been looking around the net for months now in an attempt to find the most appropriate tool for my needs. I haven't had a lot of time to devote to the creation of systems that could possibly already exist, however, now I do.
That being said, I've been drawn to 2 or 3 APIs/Engines thus far. The bulk of my experience lays with Java due to the exposure during my time in high school and college (of which I am currently a senior in, if any of you are wondering!) but I have used Python, C, C++, C#, and even a little Ruby and PHP for site needs.
Now, I've sought the power of OpenGL and LWJGL because of the platform independence and the obvious success of things such as Minecraft being used in a Web, Linux, Mac, and Windows environment. This is all due to Java, LWJGL, and a very interesting game concept. I've used the Slick2D API which is built upon LWJGL and I would like to continue with it if there is promise of no limitations on what I intend to create. I need a powerful, platform-independent 2D/3D graphics library, an input-monitoring system with perhaps even controller support, and networking capabilities beyond that of the standard (Java, or other language) library.
I've also looked into both the Torque Game Engine as well as the UDK and, to be honest, the UDK looks quite perfect. However, my goal for the end of this project is for the user to be able to host a multiplayer session which other players can join via IP or hostname, the world be a unique generation for each "new game", but still not limit the game in such a way that would not allow complex system to be implemented. Now, nothing would be limited if I simply used the UDK source, but I will not make such a commitment without first consulting the experts.
TL;DR - This is not intended to be a, "Which engine should I use? I like Java but wahhh I'm scared to write real code!" I have written my own engine (2D) and it has not been as successful as current ones, but it's done what I wanted it to. My only question is: Is the UDK sufficient for my needs; if not, I believe that the Slick2D API could be. I'm an aspiring Computer Science major from Michigan Tech, so learning and developing something new would not crush my world, haha. I would just like to hear what the beating heart of SE has to say on such topics. My plan for this project was 2D purely to control scope creep and not overwhelm myself.
Thanks!
PS - Also, I've done research on all programming topics associated with this development: creating standalone listening servers, PCG, complex item/inventory/reward systems, advanced dynamic RPG level systems and dynamic storyline systems. I'm not a super-noob. Just a curious individual.