[Linux] MrSchism Nov 19, 2012 @ 4:14am
Elegant Cross-platform games
I'm not sure how many people play it, but Spiral Knights is truly cross-platform in one of the most beautiful ways. Sega/Three Rings managed to make a game entirely in Java. The only difference between Linux and Windows is a folder of .dll's that Windows needs. The core game is a .jar.

It'd be interesting to see other games developed that way. Its always struck me as strange when we have standard languages like Java that they aren't heavily leveraged.
Showing 1-10 of 10 comments
< >
johndrinkwater [🐧︀ 🎮] Nov 19, 2012 @ 5:18am 
Does it use lwjgl or something?
powrtoch Nov 19, 2012 @ 6:56am 
Originally posted by johndrinkwater:
Does it use lwjgl or something?

Yes.
http://www.lwjgl.org/wiki/index.php?title=Projects_Using_LWJGL
kwahoo Nov 19, 2012 @ 7:20am 
There are many possibilities: Java games, modular engines (difference between Windows and Linux Serious Sam 3 is about 15MB!), abstraction layers etc.
Some time ago I wrote email to Valve:
Hi,
I'm curious if you are thinking about true OS/hardware independent solution. Porting games to Linux and Mac and others is good, but it takes time for every new platform.
Why do not create an abstraction layer, similar to Google Chrome NaCl/PNaCl? Square Enix uses Native Client for Mini Ninjas, Ubisoft uses one for From Dust game.

The idea:
1. Borrow some code from the Chromium project.
2. Put the Portable Native Client code in the Steam client.
3. There will be only one LLVM (PNaCl) bytecode file for all platforms (Windows/Mac/Linux/iOS/Android). No recompiling at all.

From the other hand, Mozilla guys created amazing Emscripten tool (C/C++ to JavaScript) and today JavaScript engines are pretty fast.
Carogna Nov 19, 2012 @ 7:28am 
Main problem is not the java language but the nowadays' programmers skills. If you see the job newspapers you only find C# and Obj-c developers for games. Only for Android there's some java programmers request. Java 2D and 3D game engines exist from the first java cell generation games, it's just the culture of closed pre-packed tools. Also GLSL Shader Model are supported from years. And don't forget that Source Engine, CryEngine etc... are all in C++/C# . The M$ monopoly is flourishing just for that.
mdkcore Nov 19, 2012 @ 8:07am 
Java isn't good for big-sized games. It's why many of the game engines relies on native code, even when they just expose C# or another "high-level" API's to the developers
Carogna Nov 19, 2012 @ 8:17am 
For the today situation and for the AAA games at present, I can understand your critics, but normally 3D java projects and APIs relies under native libraries. It's the same when you develop a game in Basic: only a crazy could make a 100% pure Basic AAA game engine (and for example by accessing to the pixels in Basic). But AAA games in java are technically possible, like with Basic (thanks to a native layer). For example, if the Source Engine was designed for have a java wrapper, it could be possible to develop java games, but Valve should also maintain the native parts on all the platforms (like Unity3D does, for example). You can also develop management softwares with low-level language like C and Basic, but normally you point to C++, C# or Java (an higher-level language) for not complicate your life.
Last edited by Carogna; Nov 19, 2012 @ 8:20am
RobotMenace Nov 19, 2012 @ 9:25am 
A more elegant solution is the "write once, compile native binaries for each platform" option.

If you set out from the beginning planning a cross platform game it's much easier than porting later even if it does take a little more work, you can add new graphics API backends and just recompile to use them, etc, etc...

And you don't have to worry about the user having exactly the right JVM as well as the other dependencies.
Last edited by RobotMenace; Nov 19, 2012 @ 9:31am
[Linux] MrSchism Nov 19, 2012 @ 1:26pm 
Originally posted by mdkcore:
Java isn't good for big-sized games. It's why many of the game engines relies on native code, even when they just expose C# or another "high-level" API's to the developers

That begs the question: Where does "big-sized" start? Spiral Knights' steamapp folder hovers around 700 MB. Awesomenauts is around there, if I recall correctly. Further, Terraria comes in under 50 MB (~30 size or ~35 Size on Disk...16MB according to Steam).

I think a lot of it has to do with the points FPO has made.
Last edited by [Linux] MrSchism; Nov 19, 2012 @ 1:31pm
mdkcore Nov 21, 2012 @ 11:14am 
Halo, Borderlands, Need for Speed, Mass Effects are just some examples of big-sized games
[Linux] MrSchism Nov 21, 2012 @ 1:00pm 
Originally posted by mdkcore:
Halo, Borderlands, Need for Speed, Mass Effects are just some examples of big-sized games

So >1GB. It still doesn't justify why so many games aren't made with Java.

For the record, I'm assuming you mean current Need for Speed and not the pre 2000 ones.
Showing 1-10 of 10 comments
< >
Per page: 15 30 50
Date Posted: Nov 19, 2012 @ 4:14am
Posts: 10