Developing Games On and For Linux/SteamOS 145
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 endorses Gamemaker (Score:5, Funny)
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.
Re:Richard Stallman endorses Gamemaker (Score:4, Funny)
Have you HURD about gamemaker?
Re:Richard Stallman endorses Gamemaker (Score:5, Funny)
Re:Richard Stallman endorses Gamemaker (Score:5, Funny)
This message paid for by the Society To Keep Richard Stallman Away From Society.
Doctor Richard Stallman (Score:2)
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 h
TFA needs editor (Score:1)
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.
Re: (Score:2)
Re: (Score:2)
With typing like that I'd be surprised if their code ran.
Did you see all the references to debugger plug-ins and the debugger section?
Linus on Debuggers (Score:2)
Linus on Debuggers:
http://www.linuxtoday.com/infrastructure/2000090700221OSCYKN [linuxtoday.com]
Re: (Score:1)
I've never understood how some apparently very creative people - especially hardware geeks - have such atrocious spelling and grammar.
Maybe they have creative spelling and grammar?
Re: TFA needs editor (Score:2)
Article is generic (Score:5, Informative)
Re:Article is generic (Score:5, Insightful)
. . . and ppl wonder why I don't RTFA.
Re: (Score:2)
You're not suposed to RTFA on slashdot, you must be new here.
So long as we have non-Steam games too (Score:5, Insightful)
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).
Re: (Score:3, Insightful)
At the same time, we're also seeing a huge push for indie games. Big gaming companies have grown stale while indie developers and bringing in fresh ideas (even if over-using not-so-fresh pixel graphics). Thankfully, these indie developers have seen the mistakes others made when playing with DRM and are steering clear while still seeing Steam as a viable release platform. That means they release a stand-alone client and a Steam-based client. Take a look at Starbound [playstarbound.com], which is currently in beta. The same can
Re: (Score:3)
I can't speak for other indie devs, of course, but I'll definitely be targeting non-Windows platforms at some point. I've developed my own game engine (most commercial engines wouldn't work optimally for the type of game I'll be making), and I've taken great pains to ensure a clean separation between platform neutral and platform specific code, so as to make porting as painless as possible.
That being said, I'm staking my financial future on my first upcoming game, and so pragmatism dictates that I first en
Input and DRM-only platforms (Score:2)
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 tha
Re: (Score:2)
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?
You don't typically have to boil all those devices into a single abstraction. In my case, I'm only supporting keyboard, mouse, and gamepad, since it's a PC action title, and all those device types are already pretty well abstracted by the operating systems.
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?
I'd call a lawyer. That's not a problem that DRM or any other technology solves. DRM is about protecting against illegal copying and sharing of digital goods. Unfortunately, it either doesn't work well, or it's so intrusive that it interferes with the
Re: (Score:2)
In my case, I'm only supporting keyboard, mouse, and gamepad, since it's a PC action title
So how do you plan to balance the game so that it's not too hard with gamepad aiming and not too easy with mouse aiming?
[Should I discover blatant copyright infringement of my product,] I'd call a lawyer.
I agree in theory. But in practice, how would a startup indie developer afford what a good lawyer charges? Or to investigate who leaked your product to the warez scene?
If users want to get a DRM-free version of the game they just have to choose a DRM-free platform to play it on
I'd love to. But which handheld platform supporting DRM-free games ships with a gamepad and not just a flat sheet of glass? And prior to SteamOS, which platform supporting DRM-free games was designed for use with a televisio
Re: (Score:2)
So how do you plan to balance the game so that it's not too hard with gamepad aiming and not too easy with mouse aiming?
I'm still early in development, so this is something I'll need to tackle. It's likely that I'll introduce some sort of auto-aiming to help assist the controller user. It's not a FPS, though, so with my particular game, a mouse may not be as significant an advantage - an analog controller stick will certainly have more precise control for movement.
I agree in theory. But in practice, how would a startup indie developer afford what a good lawyer charges? Or to investigate who leaked your product to the warez scene?
If another company has started selling your copyrighted product, then perhaps it might actually be a matter for a district attorney, as it's a criminal matter, n
Re: (Score:1)
Re: (Score:2)
I failed to run the linux version of doom 3, so I fell back on running it with Wine instead where it was flawless. Of course as often on linux, to accesss the console and weapons you need to set the keyboard to QWERTY so it's more like typing 'setxkbmap us&&wine doom3.exe' at the prompt, but it's almost there lol. (not 100% sure if that part applies to doom 3 but it does much often, including in random linux native games)
Re:So long as we have non-Steam games too (Score:4, Informative)
Yeah, I guess I didn't mention in my post that one of the unfortunate things about trying to get these older commercial Linux games to run is that they're all more difficult at getting to install or behave properly in modern Linux distros than they do in modern versions of Windows.
In your case, the Doom 3 installer normally uses a GTK 1.2-based installer but relies on system libraries. Most distros don't supply them anymore and even if you can find a way to put them on, the installer looks for 32 bit libraries in particular locations so in the end it'll default to its fallback console-based installer, which at least still works. Then you've got to deal with forcing DOOM 3 to bypass PulseAudio as it glitches badly with either no sound at all, or something like a 5 second sound lag (PulseAudio didn't exactly exist when the game was made).
Ah, good fun I guess. It's certainly more satisfying once you finally get it working as you'll learn a heck of a lot about Linux (including a broader understanding of why people get frustrated with it and go back to Windows). Having said that though, newer games are better designed for the Linux ecosystem and have FAR less issues.
Re: (Score:2)
Oh, there are plenty. Humble Bundle games. Don't Starve. Planetary Annihilation. A lot of the steam games also have non-steam versions you get if you buy it from their website too.
Re: (Score:1)
Yep, that's true and it's good to see. I guess I just wish more AAA (commercial) titles like Metro: Last Light had a DRM-free version, but then again it's not like such a version exists in Windows anyway, so it's good Linux gets more games and even if the DRM has to stay it's not WORSE on Linux compared to Windows.
misses to mention popular IDE (Score:3, Informative)
Netbeans - although their focus is Java, C/C++ support is great.
Re: (Score:1)
Oh look, Oracle's marketing arm is awake already.
Re: (Score:3)
Re:give it up (Score:5, Funny)
Re: (Score:2)
+10^32 :)
Re: (Score:2)
Linux (Score:1)
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
Re: (Score:3)
Bring on the Linux version of GTA, Battlefield, and other major titles, PLEASE!
Try Serious Sam 3: BFE [steampowered.com] for this holiday.
Re: (Score:1)
Or don't. That game sucked. Play the vastly better "Serious Sam: The Second Encounter" instead. The HD version uses the same engine as Serious Sam 3, so go ask Croteam to port it.
You can. . . (Score:3, Funny)
Sorry, I don't make these rules; I just enforce them.
Re: (Score:3)
As the OS developers updates, dropped support for hardware or changed code *should* be able to be fixed with good game code planning.
You could find a good 'free' 2D/3D engine that has wide OS support and the fine print for you to make a profit.
Or find a good 'free' 2D/3D engine that can allow you to make a profit and work long and hard to recode it for more OS options.
The main issues are great artists, good l
Re: (Score:3)
> is it possible to develop Linux apps in OSX?
Depends on the complexity. I use SDL2 for my indie game. Development on Linux, port to Windows and OSX. Really can't much simpler then to use a 3rd party library that Valve helps contribute to and use on Linux L4D2.
Some Additions (Score:4, Interesting)
Re: (Score:1)
Hey look everybody, another Oracle shill!
Re: (Score:1)
I pulled that line from a stackoverflow question about the best available profilers for linux (http://stackoverflow.com/a/378024/216111). Some people thought that it would not be precise enough and you really should use a full profiler, while in reality this way is simple, easy to use and quite often enough. People sometimes get so lost in their need for tools that they miss the easy solutions.
Seriously, remind people what IDEs are available again, maybe they've never heard of them. Sorry folks, this is hard to watch.
During my time at the university it was either Eclipse or Visual studio for any project done at both the University
Re: (Score:2)
predominately
Seriously? Not by any chance "predominantly"? Being this much of an arrogant asshole and then mess it up yourself? I suggest you go learn what sadly appears to be your fucking native language to a proper degree, before trying to correct others.
Oh and FWIW, English isn't my native language, I hope that hurts.
Qt Creator (Score:5, Informative)
Re: (Score:2)
I know this is always the trade off for IDE's that do everything. But last time I used eclipse on a c++ project I:
spent 40 min figuring out how to install the c++ extensions, then actually doing so
spent more time just searching threw menus to figure out how to get into debug more
Basically, Eclpse is useful if you already know eclipse. Because QT Creator is explicity for c++, it all makes sense for someone developing a c++ project. While I found eclipse confusing...until I tried to use it on
You want linux gaming to go big? (Score:1)
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
Re: (Score:3, Informative)
The gaming market is already moving away from Windows and thus DirectX. There was a time when trying to emulate Windows was the most relevant approach but that time has passed already.
Re: (Score:1)
The gaming market is already moving away from Windows and thus DirectX. There was a time when trying to emulate Windows was the most relevant approach but that time has passed already.
Said no one ever. Ever heard of the Frostbite engine and all the huge titles that run on it? The game market is not moving away from Windows. The Windows game market is the largest it's ever been, ever.
Re: (Score:2)
Re: (Score:2)
I still find win95/98 era games i want to play.
PC games released from 1996 through 2003 will likely run well either in Wine or under virtualized Windows 98 Second Edition.
Wine is working on that (Score:1)
http://wiki.winehq.org/DirectX
The Wine team is working on that....
Re: (Score:2)
Last time I checked, it was still the case that wine was explicitly not officially supported on 64 bit only platforms.
Also, most applications which require .NET, which is quite a few, actually, won't work under wine.
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
I don't say slackware doesn't supports X until I try to do:
make
make install
If you don't want to go that far, may be you should check other distro. This "missing package" for some app or driver will keep happening.
Re: (Score:1)
It might work... but my point is that it is not officially supported... and probably won't ever be.
If that's a serious enough detriment to using slackware to make it nonviable, then why is it still kicking, exactly?
Re: (Score:2)
Ah, because wine 64bit support on slackware is very important for making Linux a mainstream desktop OS.
Re: (Score:2)
Re: (Score:2)
My Dad recently moved to Linux. He uses a windows VM to use tax-related software. It's either that, or not being able to submit tax-related-data, which would mean, "Go to jail. Do not pass go."
If wine was as easy-to-use and newbie friendly as expected, that's one less windows machine (abeit, a VM) the world would have.
Sure, he used a VM. But most non-tech people wouldn't do that. They'd want that exe to run, or go back to windows, and that's the end of it.
Re: (Score:2)
Or I could, you know, actually use slackware, and pay attention to what packages are supported and which ones are not.
That it happens to be the first result of a google search should tell you something about how popular slackware is, and illustrate that although it claims that it might work, it also explicitly says it is UNSUPPORTED.... which is all I ever said above as well.
Re: (Score:2)
Better would be better! Why emulate when you can improve?
Re: (Score:1)
Porting to Linux is trivial. I ported one of our games to Linux over a weekend (with two bugs... one related to fullscreen switching, and the other related to gamepad support... both could be fixed with another day's work). It never got released though, Why? Because convincing the business people that there might be a market for a linux game was simply too hard.
DirectX support is a completely non-issue.
Re: (Score:2)
If you are in any way a vaguely competent games developer (even an individual) then the difference between DirectX and OpenGL is miniscule.
And if you CHOSE to lock yourself into a Microsoft-only platform (thereby destroying your compatibility with Mac, Linux and many console platforms - apart from XBox, obviously - in one fell stroke) then that's a choice you made that you have to do the work to recover when it comes time to admit your mistake.
And yet targeting OpenGL from day one, it would have all worked,
Sure... when Unity3d makes a Linux editor... (Score:3)
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 [unity3d.com] 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.
Re: (Score:2)
So unless you are saying that Linux is only good for end-user blackbox-like consumer devices, and not viable as a general computing platform or in particular as a platform for software development, I'm not sure that comparing the lack of native editors for devices that are never intended to be development platforms in the first place to the lack of a nativ
Re: (Score:2)
Why the hell does Linux or SteamOS need to be a development environment?
Linux needs to be a development environment for SteamOS because otherwise you have to spend money ($600 for a shitty mac, or $100 for a copy of windows) to develop for SteamOS, even though you don't have to pay for the OS which hosts the games. It makes more sense to not depend on any proprietary components. Also, windows and MacOS both fucking suck.
Re: (Score:2)
you have to spend money ($600 for a shitty mac, or $100 for a copy of windows) to develop for SteamOS, even though you don't have to pay for the OS which hosts the games
You have to spend $698 for the first year plus $99 for each additional year to develop for iOS anyway, on top of the device that hosts the games.
Re: (Score:2)
Where would you develop for Linux if not on Linux? It's a desktop OS, already very oriented towards developers.
As a Linux user and dev, I seriously don't know how to develop on any other platform. I'm interested in game development as a hobby, but if I had to deal with windows, I'd simply never do it. It's just too much hastle for me.
Re: (Score:2)
Re: (Score:2)
Game devs that want to target Linux will keep wanting to dev on _____.
Linux devs who want to start doing games, will keep wanting to develop on Linux.
Also don't forget the devs that "hate windows but use it because the SDK only works there". Those would fall into group two. Granted, it's not all the developers out there, but certainly a pretty large proportion of the total.
Is this article a joke? (Score:2)
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 mon
Re: (Score:1)
GDB does not need any improvement at least not any as regards to usability. It is a debugging engine made to be integrated in other tools. It would not fit with the "simple is beautiful" approach if it had a high level GUI to begin with. Most of the other options you are talking about (on Linux) are just fancy frontend on GDB (Eclipse, NetBeans, ...) so if you use one you don't even need to know how to use GDB directly.
Hell, even Emacs has a fancy interface for GDB with multiple windows (dynamic libraries,
Re:Is this article a joke? (Score:4, Informative)
I have to say that GDB under Eclipse is actually my preferred tool for debugging. Hell, half the time you can't even see that it's actually using GDB yet it does everything I would want in a debugger.
It's all horses-for-courses but in terms of GDB *itself* (i.e. not a frontend to it), I don't think there's much to improve except keeping up with new binary formats, instructions, etc.
No content (Score:2)
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.
Re: (Score:2)
To be fair it also said "there's also clang; but it uses the same switches as gcc so you can just use it as a drop in replacement." But other than that...yeah, it doesn't really containing anything startling.
Some games are only a hair's breadth away from being Linux ready anyway - I've certain played quite a few Windows games that use SDL, Ogre, OpenAL, etc..
Re: No content (Score:2)
For good software, all you should need to do is recompile and test.
Re: (Score:2)
Re: No content (Score:2)
You should be using an abstraction layer that can be easily made to target any platform.
How to abstract input methods? (Score:2)
Re: How to abstract input methods? (Score:2)
I was talking about porting to another OS on the same type of device.
Innovation, please (Score:3)
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.
Why limit it to an OS? (Score:1)
Re: (Score:1)
I don't get the background story though.
I know it's = it is.
And I have used its for everything else.
But then I checked that apostrophe s stuff and when to use it and it seemed liked the s after words was for multiple of them and 's was for belongings? (fucking annoying thing to do since it make weird characters most of the time.)
Like AC's comment. Right?
But if so why the fuck isn't it also used when it is it which something belong to?
The ball's valve? It's valve? Are both wrong? Is it just some special case
Re: (Score:1)
You don't use "it's" when talking possessive pronouns for the same reason you don't write "her's" or "your's" or "hi's" - the word is a standalone pronoun in modern English. Various online etymology sources claim that it was once "it's" (e.g., http://www.etymonline.com/index.php?term=its [etymonline.com]) but over time it lost the apostrophe.
Re: (Score:1)
When I am talking about my chickens, "it's food" and "its food" mean very different things for the chicken.
AC because of moderation.
Re: (Score:1)
Ok, so convenience factor or something. I'm fine with that :)
I just wondered why since I saw how 's was supposed to be used (guess I've been taught that some 20+ years ago too) and see the comments (and usage) every now and then :)
If yours is just a more comfortable way of typing your's I kinda feel like your's should be accepted and not complained on thought I guess some people may read it wrong in especially it's case.
Thank you for the reply :)
Came to think about it over here in Sweden we mostly use "dess
Re: (Score:2)
It's not convenience factor. "Hers" does not have an apostrophe because it is is a pronoun, for example. "Its" does not have an apostrophe because it's also a pronoun. You might as well go putting apostrophes in our's, your's, hi's and her's, too, if you do it in "it's".
It's confusing, admittedly, but it's not there because of the convenience factor.
Re: (Score:2)
not to mention how to pronounce aluminium - the last i is not silent!
Re: (Score:2)
Re: (Score:2)
I agree that the grammar could use a lot of work, however their name is Panagiotis. This name suggests to me that English is not their native language, so I'll cut them some slack. Delving deeper, the name Panagiotis suggests that the person is from ancient Greece. I'd have to do some more research but it's even possible that they're from a period even earlier than the so-called Archaic Period. This dates them at somewhere between 2000 and 4000 years of age. Given the transformations that all languages have
Re: Its (Score:2)
Foreigners are normally much better at grammar than natives.
Re: (Score:1)
Re: (Score:3)
Yet somehow companies like Oracle manage it.
It's just like all of Adobe's whining about audio libraries.
Some people just take care of business while others do nothing but make excuses.
Re: (Score:1)
You have two platforms, one with 80+% marketshare and one with 10% marketshare (and I think those numbers are generous.) The one with 80+% marketshare is easy to develop with. The other is difficult.
Which do you choose?
Linux will never have more software than Windows until it's easier to develop, test, and deploy Linux applications than it is Windows applications. (Games included.) Until the incentive to develop for Linux isn't "well we want to support Linux" but is closer to, "well since porting was so ea