Steam for Linux

Steam for Linux

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.
< >
1-10 / 10 のコメントを表示
Does it use lwjgl or something?
kwahoo 2012年11月19日 7時20分 
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.
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.
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
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.
最近の変更はCarognaが行いました; 2012年11月19日 8時20分
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.
最近の変更はRobotMenaceが行いました; 2012年11月19日 9時31分
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.
最近の変更はSinSchismが行いました; 2012年11月19日 13時31分
mdkcore 2012年11月21日 11時14分 
Halo, Borderlands, Need for Speed, Mass Effects are just some examples of big-sized games
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.
< >
1-10 / 10 のコメントを表示
ページ毎: 1530 50

投稿日: 2012年11月19日 4時14分
投稿数: 10