Developing Games On and For Linux/SteamOS
An anonymous reader writes "With the release of SteamOS, developing video game engines for Linux is a subject with increasing interest. This article is an initiation guide on the tools used to develop games, and it discusses the pros and cons of Linux as a platform for developing game engines. It goes over OpenGL and drivers, CPU and GPU profiling, compilers, build systems, IDEs, debuggers, platform abstraction layers and other tools."
Richard Stallman endorsed Gamemaker.
"There's nothing that Gamemaker cannot do. Gamemaker can simply do anything. Anything made in Gamemaker is fantastic. I love Gamemaker. I can't get enough of Gamemaker. Return to Gamemakerdom, you insolent insects! You're nothing without Gamemaker! Why not use Gamemaker? Linux is garbage; it wasn't made in Gamemaker. Why do you cower? Because you're not using Gamemaker. Use Gamemaker already! Return, return, return, return, return to Gamemakerdooooooooooooooom!" -Richard M. Stallman, on Gamemaker.
The article referenced is sure to cause seizures for anyone that can't get past things like the incorrect use of "it's" and various other spelling and grammar errors. The author should do a quick read through before getting Slashdotted.
There's really not any information specific to SteamOS or even games in particular, just general info. Not a bad article, but a misleading title.
The grammar in that article is atrocious. Please Panagiotis, learn how to use 'its' and 'it's' correctly.
I do appreciate this recent influx of interest in game development for Linux, brought on by Steam for Linux. I just hope that at least some developers show an interest in developing games that doesn't REQUIRE Steam as well, or have Steam as an option as well as maybe a DRM-free version as well. I play a lot of older commercial games on Linux like Doom 3/Quake 4/UT2004/Neverwinter Nights, and they all work fine but don't use Steam. Now, we might see more commercial games on Linux but they'll probably all use Steam, and that seems quite disappointing if you don't want to tie yourself to the platform (which I don't, for various reasons).
Netbeans - although their focus is Java, C/C++ support is great.
you guys peaked with tuxracer. linux games are going nowhere.
Windows has, as of late, become Linux and Open Source's best ally. M$ is breaking things so quickly that business is concerned that it will become unmaintainable. For example IE 11 has issues with Exchange 2010's OWA web page. If the M$ stuff doesn't work with the M$ stuff, what chance does it have on legacy systems?
I have been waiting for mainstream gaming to come to linux for some time now. The only reason I am running windows at home is netflix and games. At work I have to maintain it on servers and workstations, but am running Kubuntu at my own desk.
Bring on the Linux version of GTA, Battlefield, and other major titles, PLEASE!
The Ninnle Linux kernel is optimized for games. DMA GPU, zero-copy audio buffers, low latency input peripherals and graphic. It's a game programmer's (and player's) wet dream reified.
The article doesn't even touch how to make build-once-run-on-all Linux installations... Because it doesn't happen. Your average person can not be expected to compile everything.
I apologize if this is a dumb question as I've never done Linux development, but given that OSX is a Unix-based OS and even has its own X11 support, is it possible to develop Linux apps in OSX? (Final testing would be done in real Linux, of course — maybe through a VM.) I ask because the workflow presented in this article seems rather frustrating compared to the Xcode workflow I normally use, and I imagine a lot of developers would feel the same way.
. . .but only if you're going to run them within a BeOS VM on Linux.
Sorry, I don't make these rules; I just enforce them.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Qt Creator is hands down the best C/C++ IDE for Linux.
Come up with some sort of directX emulator/port.
Being able to put 90% of the windows games on linux with some minor emulation layer would be HUGE.
THAT would make a huge difference.
|::Now insert everyone saying this would be HARD and POINTLESS and blah blah blah...
But bottom line is you want linux to be mainstream as a consumer OS? Make it play games.
And make it EASY for the end user who does not want to screw with config files. Recompiling anything. Or major system changes just to get a game to work.
Once you support anything from simcity to far cry and everything inbetween. Then linux will take off. HUGE.
There's even a ton of money to be made here. "Drop this blob on your linux pc for $50 and it will play most windows games!"
http://wiki.winehq.org/DirectX
The Wine team is working on that....
Come on guys, this linked article is complete garbage. It reads like a syllabus.
Captcha: Disgust
In Windows, I use Notepad++ because it, simply put, is the best. It is light, simple, and supports everything I need. Most of the (scripted) work I do is going to be PHP, CSS, JS, and Lua, so support for those languages is a must (I'll use C::B for C/C++). Regex file search/replace also a must. A good, seamless (auto-upload on save) FTP plugin would be greatly appreciated.
I've used Geany a bit, and it is close, but some things just feel really awkward (mostly the FTP support). What other good alternatives are there?
Right now Unity3d can target Linux, which is leaps and bounds in the right direction, but it really needs a native Linux development environment to be really useful.
The forum feedback page for a native Linux Unity3d editor has been around for over 3 years, received almost double the number of votes of the next highest issue in the feedback pages, and we're still waiting on it.
The impression I'm left with is that even those who produce a sophisticated enough gaming engine or system that can be genuinely competitive in that industry, and who might actually have some support for Linux aren't generally taking Linux seriously as a game development platform. Until that happens, I don't see Linux gaming going anywhere...even with what Valve is doing with it these days.
File under 'M' for 'Manic ranting'
Debugging: " Even if I don’t quite understand why people chosen GDB as their top thing that needs improvement (I think there are more pressing matters)"
I'm not sure what is worse, that this gentleman doesn't know why gdb debugging is inconvenient compared to other options --- or that he hasn't taken the time to learn why gdb is no fun to debug with by asking around.
" I’ve been using SDL for years but because of lack of shared OpenGL context support I wrote my own X11 implementation. A few months ago I went back to SDL because the shared context support appears to be implemented and secondly because maintaining cross-platform code for input (keyboard, mouse and controllers) is a huge pain. "
I'm sure this gentleman is a nice guy, but this sounds like a "learning about multiplatform coding 101" class paper. Nothing wrong with that, but it is very unclear why this is "news".
"Game development was always tight to Windows for various reasons"
Ok, typos too. Not saying anything else or I'll seem like I'm being too negative, but why is this front page news?
Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
Debugging is supposed to be painful. If your code isn't easier to trace in your head than it is in a debugger, you need a better debugger. GDB is one of the best debuggers out there. Those graphical doohickeys help you debug, but you're not supposed to spend your time debugging. You're not supposed to write bugs in the first place. How are you gonna learn if debugging is easier than coding? Kids these days.
This is a blog article that essentially says "on linux you have this gcc compiler, and you use opengl instead of directx for games".
How useful! I'm sure most people didn't already know that. Not slashdot worthy at all.
So is anyone here interested in working together with other Slashdot readers to create a game? I could put a little time into working on one.
Sure, it's great that there may be better support for developing games on Linux in the future, but I am not sure it makes all that much difference. It certainly won't to me, if all it means is that we are going to have the existing games ported Linux. I stopped taking an interest in games long ago, because there is no true innovation - it is always just about more 'relistic' graphics, more 'stunning' effects etc; but the actual games underneath haven't really developed since the very beginning.
What I'd really like to see is a type of social game that is strongly focused on learning and experimentation, something that will stretch and develop your academic skills. Examples:
- You are part of a team of researchers working together, trying to learn the secrets of some advanced, scientific subject - something above high-school level.
- You are creating a new universe, designing physical laws etc. Can you create life - and what is the definition of life in your universe?
- You are a hero, you are on a quest to find a treasure and probably kill a number of monsters. But your world is not quite what you are used to. Space is not Euclidean, it may not even be a smooth manifold - the topology may not be Hausdorff, and you are influenced by force fields that are ... different. You only know that the laws of logic are valid. Probably.
If you were on Reddit I would give you Gold.
I've taken great pains to ensure a clean separation between platform neutral and platform specific code
Different platforms have different input devices, such as mouse and keyboard, gamepad, or touch screen input. How are you going to cope with the vast difference in capability among these?
Oh, yeah, also, no DRM for my games either. Ever.
So what do you plan to do should you find another company cracking your game, changing the title screen, and selling it as its own game? And how do you plan to get onto platforms that require DRM for all games, such as the major consoles (PS4, XbOne, Wii U), major handhelds that have a gamepad (3DS, PS Vita), and phones that aren't Android?
I don't see how an abstraction layer can compensate for the fact that the player is going to be either whiffing (pressing an area that isn't assigned to an on-screen button) or pressing the wrong button because his thumb cannot feel the edges of the on-screen buttons. Say Capcom were to hire you to design the abstraction layer to port a Mega Man game to Android. How would you design the controls?
Develop in Java and you have instant cross platform support on all the major desktop platforms as well as support for mobile. All with the same source. I use libGDX. It's very powerful for anything 2D, and abstracts away all that low level OpenGL business. Lets me get on with making games.
How about instead of tailoring your program to a platform and having to write it three times, just learn how to get the most out of the Java Virtual Machine and being able to run it on pretty much any PC on the planet. You don't even need to use JAVA, there are several languages that were designed for the JVM, and most others have are a library and a few compiler options away from being instantly cross platform.
My opinion used to be highly colored by a vocal medical doctor, who held that the title should only properly be applied to doctors medicinae. He reasoned that in dire accidents, the cry, "Is there a doctor in the house?" might only be answered by an M.D., and consequently those engaged in less vital studies were undeserving of the title.
My respect for the memory this physician is boundless; the world will not see his like again. However, in this matter he was entirely wrong: that all medical professionals have Ph. Ds is a relatively recent phenomenon. The word itself means, "I teach," and properly represents the highest degree of academic accomplishment. It does not confer such status, but recognizes it, and the idea that honorary recognition is somehow of less value is patent nonsense.
Dr. Richard Stallman has contributed greatly to the field of computer science. It is in the nature of computer code that, while itself unchanging, its utility declines with time. His code contributions often stand in exception to that rule, for which he deserves considerable respect. However, his greatest accomplishments have been (ironically) social: whatever you may think of the man, he occupies a fixed point in morality, and the entire world been shaped by it. He has done more to earn the title than most who claim it.
In point of fact, he has received this recognition of his contributions no less than fourteen times. Give the man his due.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Linus on Debuggers:
http://www.linuxtoday.com/infrastructure/2000090700221OSCYKN
Everything I write is lies, read between the lines.