15 ms·
LWJGL: Lightweight Java Game Library 3
- and0 9y agoI got into software development through a LWJGL project, and it changed my life.
- Yhippa 9y agoSerious? If so I'd love to hear the story.
- and0 9y agoI had a crazy idea re: a multiplayer roguelike engine that would be scriptable. It was a pipe-dream, mostly due to my skill level, and I abandoned it after using it as a hobby for roughly 3 years when it became clear it needed a massive rewrite. However attempting it taught me an insane amount OOP and modern development practices. The Java client rendered with LWJGL, and it was very easy to start playing with basic concepts for graphics and voxel worlds. Without the ease of LWJGL the project wouldn't have taken off at all. I went from doing general IT to being a professional software developer, and the first thing I ever starting coding was that engine.
- le-mark 9y agoWriting Java game applets was what got me started in software development back in the late 90's. Game development in Java was always a huge challenge for several reasons; perceived (and real) slowness, slow startup, distribution, etc.... But putting a game in a web page anyone could play was really cool back then (to me at least). Lwjgl was always one of the marquee projects. The lack of value types[1] in Java has always been a hindrance, in particular when doing vector math calculations for physics simulations. And now all these years later, Java still doesn't have them. It's been many years since I've checked, but once there were several gifted indie game developers using Java, Notch being the biggest success story from that scene. Other than Minecraft, I've not heard of any popular games implemented in Java, has there been any? [1] https://en.wikipedia.org/wiki/Project_Valhalla_(Java_language) https://en.wikipedia.org/wiki/Project_Valhalla_(Java_languag...
- Asooka 9y agoThe coolest thing I ever did was bundle native libs for Linux, OSX and Windows in an applet, that let me access OpenGL in a Java applet years before WebGL was a thing. We had the technology to do real 3d-accelerated graphics in a type-safe jit-compiled language with a great IDE 15 years ago already.
- _pdp_ 9y agoIt is good that it is now dead in the name of security.
- bilbo0s 9y agoJava is dead in the browser... same as flash, or c or any other language. At least until the nightmare that is WebAssembly comes to fruition. That said... the potential to exploit security holes via GL library calls is, unfortunately, alive and well even with WebGL.
- Jaepa 9y agoFlash isn't dead yet, through its dying for sure. The only positive thing of unfortunately likely EME is it may put another nail in the coffin.
- pjmlp 9y agoIt bet WebAssembly will bring all those plugins back to life.
- izym 9y agoHow would WebAssembly ever do that?
- pjmlp 9y agoEasy, it is just a matter of creating a compiler backend for Java, Flash, Silverlight that target WebAssembly instead of their original bytecodes, then bundle it with their own runtime compiled via emscripten. There are already a few projects doing exactly that. One could even create a ActiveX compliant library, that via emscripten would be able to target WebAssembly.
- westoncb 9y agoFor any unfamiliar, this is the library Minecraft was originally built on. I've used it to develop some graphically intensive programming tools myself, and have always been pleased.
- deleted 9y ago[deleted]
- mooman219 9y agoWe've all heard the poor story with Java in regards to performance, and the arguments for/against it, so I'm not going to dwell on that. A significant amount of work is being done on the GPU now more than ever anyway. At least in my experience, I've had a great deal of fun working with LWJGL and it is a pleasure to use. It's very unopinionated and doesn't try to force you into any sort of specific structure. On top of that, Java + LWJGL hide a significant portion of the cross-platform mess that you inherently see in this field. No matter where you stand on the issue, setting up a project to build and run cross platform, and managing its dependencies is a pain point in C/C++. Add a trivial maven configuration once and you're good to go the majority of the time. Having a mature package manager is also something that you shouldn't ignore. No one should shy away from writing a game if all they're familiar with is Java/some JVM language. It's a gradient between choosing the right tool for the job and premature optimization. Here's a video of what looks to be a dead project, but still serves as a decent tech demo of a nice looking game running on the JVM https://www.youtube.com/watch?v=eM_bABrFERs https://www.youtube.com/watch?v=eM_bABrFERs .
- mobiletelephone 9y agoGreat library, particularly for beginners who have done a Java 101 course. But why is it being posted now?
- Tostino 9y agoBecause version 3 just got released.
- solarkraft 9y agoHas it not been a while?
- aw3c2 9y agoA year ago.
- copperx 9y agoJava 101? It seems to require knowledge of 3D math and OpenGL.
- ww520 9y agoIs there a way to use LWJGL for mobile games?
- smrtinsert 9y agoYou would want to use LibGDX which allows you to develop for mobile using a LWJGL backend (if you feel like it) and then simply publishing to Android or iOS.
- zyb09 9y agoI've been using LibGDX for a small little thing, and honestly can't recommend it. I had the app for a few years, and whenever I wanted to update things after a few months, so many things would just break. Be it the build-system, the APIs, RoboVM or some randoms project settings - it was always a headache to get it running again. When RoboVM shut down, there wasn't even any clear way to get it running on iOS again for a while, leaving me with an undeployable app. If you're investing into anything serious, I would strongly recommend going with Unity over this.
- solarkraft 9y agoAbsolutely. A somewhat higher level library building on lwjgl (2) called libgdx has good documentation and examples on it - The Google Pixel live wallpapers (3D models of places, with some parallax effect) are written using it. There is also a framework called flixel building on top of libgdx, which also has demos for Android.
- sangnoir 9y agoI think Ingress (by Niantic Labs) is a more prominent project using LibGDX
- AJRF 9y agoIs there any good books or tutorials on how to get started in games development? I would love to take it as a hobby but the tutorial scene is so saturated I find it hard to cut through the chaff, so it would be nice if someone from this community could recommended a good starting place.
- jackmott 9y agohandmade hero. https://handmadehero.org/ https://handmadehero.org/
- skocznymroczny 9y agoI wouldn't recommend handmade hero, especially to someone who's just getting started. First two weeks of handmade hero could be skipped by just using SDL, rather than rolling out Windows specific windowing, rendering and audio.
- citeguised 9y agoI found the Unity-Tutorials from https://unity3d.com/de/learn/tutorials https://unity3d.com/de/learn/tutorials very insightful. They provide a nice starting point. Plus Unity has a big asset-store, which is handy especially if you're on your own. A bit simpler and great for getting started is Construct3, which is a HTML5-Game-Editor which runs in the browser. They did a great job with the App. https://www.construct.net/ https://www.construct.net/
- didibus 9y agoNow that the JVM is a multi-programming language platform, I hope things like this become more popular. Kotlin, Frege, Clojure, Fantom, Ceylon, JRuby, etc. There's a language for everyone. So building more value into the JVM with projects like that would be really great. The JVM is probably the most advance VM currently, and hopefully it'll just keep getting better, maybe faster startups with the new module system, hopefully in java 9 they add value types, etc. All to say, I think more people should look into the JVM as a platform for the future.
- jrs95 9y agoIs anyone really using Ceylon? I really like the look of it, but it just feels like something thats not really going to get much traction
- Edmond 9y agoco-sign 100%...we are trying to make that polyglot dream a reality with Solvent (codesolvent.com)...using JSR-223 to allow multiple languages to be used for building web apps...you can see demo videos here: http://codesolvent.com/web-dev/ http://codesolvent.com/web-dev/
- merb 9y agoJSR-223 is nothing, compared to what will come with Graal and Truffle. Also since indy and lmf you can already create a lot of fast implementations for a huge set of languages.
- ecshafer 9y agoStart up time isn't that bad for the jvm itself. A small clojure app starts up in no time. Java itself has a large library that is included in every application now. Jigsaw should alleviate this though. I would also add as an aside is that most production Java applications are rather large, with several large dependencies.
- newobj 9y agoMore popular? It's already used in the second most popular video game of all time.
- fifilapew 9y agoWorth checking out LibGDX if you're i to Java game dev also.