Sign in to follow this  

Linux as a games development platform

This topic is 4857 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey people, Whilst posting in another thread about an unrelated topic, someone mentioned the fact that developing games commercially under Linux may not be a good idea. Upon reflection, i realised this guy may have a point, but i can't really afford to dish out cash for a copy of windows. Also, i've pretty much learnt my way around Linux, and i love the way it all works together, to have to switch O/S to something as restrictive as Windows would really piss me off. Now what i'm wondering is, do i stand a chance of becoming a professional games developer whilst developing under Linux, or is it unrealistic to think this due employers wanting you to be able to use their programs? Obviously i've had one guys' opinion, now i'm intrigued as to whether there's anyone in this(slightly more appropriate) forum who agrees with this guy, or disagrees. At the moment i'm using SDL, OpenGL and FMod in terms of libs. Blender for 3D art, Gimp for 2D art, Scite for general programming, and the latest compilers/interpreters. And either way, i wouldn't be developing games FOR linux, simply using it as a dev. platform, opinions? :-D

Share this post


Link to post
Share on other sites
Maybe I won't give You advice, but I want to show my point of view on this case...

Linux is great because is FREE and OpenSource. One cannot earn a lot of money, but it's great system to learn programming. There is SDL, OpenGL, FMod, etc.. so everything what is needed in game development is there.
In my opinion a great 3D games can be created under Linux... but if You want to make a money, go to Bill Gates... ;)

Who can afford MS VC++ (or .NET)...?

Share this post


Link to post
Share on other sites
Well this argument has been brought up many times. I personally don't use Linux as a serious gaming platform for a number of reasons. First of all I have an ATI card(enough said), My wireless drivers are not excactly perfect(rules out online gaming). But I do use Linux as my development platform. I think you probably do stand a chance of becoming a comercial developer(if you have the skills). Linux is a platform that really teaches you computing(how are you going to learn more: by letting someone do the work for you, or by getting your hands dirty and doing the work yourself). Many modern developers are becoming focused on cross platform development(and having experience programming in Linux is always a plus when doing console development). Many people would say that using Linux as a development platform will only allow you to work in the amateur industry. That is not nessesarly true. What I do have to recommend is that you learn Windows programming(with it's dreaded Win32 and DirectX). It never hurts to be well rounded.

Share this post


Link to post
Share on other sites
IM(very)HO, Linux offers a good development platform, what is lacking is the marketing platform. It should very well be possible to develop games with SDL, Allegro, OpenGL, OpenAL and a lot of other cross-platform libraries. Hell, there are whole cross-platform engines out there (e.g. Torque). So it should be possible to develop a game with those and port them over to Windows and the Mac with rather little hassle, thus giving you three target platforms where going purely DirectX would give you only one. You probably won't see a huge increase in sales just because of this, but it should be possible.

Sadly, I don't know of any commercial game that went multi-platform all the way. Neverwinter Nights is still anchored in the Windows world due to the Aurora toolset and the OpenGL renderers that come with the UT series are Not So Good and the editor is a VB application.

Share this post


Link to post
Share on other sites
What i didn't mention was that i'm not yet a professional games developer, it is simply the platform i am developing on to learn how to develop games. Once i finish university, and during university(which i start next year), i want to be mainly using linux as my dev platform. I've already delved into some Win32 programming, and it really doesn't seem that difficult, XLib is far harder imo, but shares the same concepts.
Direct3D just seems like the same thing as OpenGL, and the rest of DirectX just seems like the same thing as SDL... Once you understand those underlying concepts, to me it's just a matter of coding it in a different syntax, but i'm probably wrong.

Share this post


Link to post
Share on other sites
Quote:
Original post by malune
I've already delved into some Win32 programming, and it really doesn't seem that difficult, XLib is far harder imo, but shares the same concepts.


Then again, pure Xlib is just painful.

Share this post


Link to post
Share on other sites
Quote:
Original post by malune
Once you understand those underlying concepts, to me it's just a matter of coding it in a different syntax, but i'm probably wrong.


No you aren't wrong it's true. But some of the Windows APIs are just horrible(Win32 has to be one of the worst looking things out there)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by malune
Once you understand those underlying concepts, to me it's just a matter of coding it in a different syntax, but i'm probably wrong.


You're wrong. :)

While at the theoretical level you are correct, at the practical level where I have to pay you as an employee you are wrong. Why? Because I want a person fluent in the language or API in question, not someone who has to translate everything they do. You will eventually get the job done, I have no doubt. You will also cost me more till you bite the bullet and give up on your superiority complex and go with the flow and learn what I need in an employee.

Share this post


Link to post
Share on other sites
To the AP : It would take me as much time to code a win32 app as it would to code an Xlib app because of understanding the underlying theory... so i think you missed my point. When i code something, i plan out what i'm going to use and why before hand, this is part of the design of the application. This isn't translating knowledge, simply planning and using the appropriate tools.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Since you obviously hate Windows, you should stay away from it. This may lessen your chances of getting a paying job in the games industry, but you can still have fun doing it as a hobby.

Share this post


Link to post
Share on other sites
You know what I would really respect? if a respected game company (like ID, although I doubt they will ever do this) came out with a Linux version first, then a windows version three weeks later. It's a shitty marketing plan (and that's just being nice), but I would really like to see the reaction of Windows users when they find out (WTF OMFG It doesn't wurk on me comp!) Then people will start making ENIW (Linux emulator for windows) and....
I'm beginning to rant here...[grin]


Ciph

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by malune
To the AP : It would take me as much time to code a win32 app as it would to code an Xlib app because of understanding the underlying theory... so i think you missed my point.


And you missed my point. As an employer I want someone who understands both the theory and the quirks of the environment. If all I wanted was theory, I'd only hire guys with no experience.

Understanding the theory is the bare minimum. I assume all of my employees can do this. Learning the quirks can take many months.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by malune
To the AP : It would take me as much time to code a win32 app as it would to code an Xlib app because of understanding the underlying theory... so i think you missed my point.


And you missed my point. As an employer I want someone who understands both the theory and the quirks of the environment. If all I wanted was theory, I'd only hire guys with no experience.

Understanding the theory is the bare minimum. I assume all of my employees can do this. Learning the quirks can take many months.


You missed my point again, learning the quirks is an initial requirement. It shouldn't take you many months so long as you understand the theory. There's no reason why you shouldn't excel in both because of this.

Share this post


Link to post
Share on other sites
If I where you I would save up some money for windows home because you dont need professional version and then just dual boot and learn both OS`s and their apis.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Ainokea
If I where you I would save up some money for windows home because you dont need professional version and then just dual boot and learn both OS`s and their apis.


Or just use a single api for both platforms WxWidgets.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
[quote]Original post by Anonymous Poster
Quote:

Or just use a single api for both platforms WxWidgets.


Hmmh, the url: http://wxwidgets.org/

Share this post


Link to post
Share on other sites
Guest Anonymous Poster

You missed my point again, learning the quirks is an initial requirement. It shouldn't take you many months so long as you understand the theory...


You must be kidding, it does take a long time to learn quirks.

Share this post


Link to post
Share on other sites
It would depend upon whether the studio you hired on with used Linux/Unix, and whether or not you had the skills they needed.

Doom3, Savage, Unreal Tournament and NWN are the big names that are supported in Linux, but there are a lot more coming. How do those games get to Linux if not for programmers who know linux?

There are also a good number of smaller independent developers doing games for linux and other platforms. Working on the next "AAA" sequel (Or movie sales booster) isn't everyone's dream.

It's also worth noting that game development isn't the only place where those skills might come in handy. The company that made Shrek used an in house linux cluster for rendering, and their own software developed by their programmers. I've seen a number of job postings for different animation companies looking for linux people.

-- Aaron

Share this post


Link to post
Share on other sites
You can tell your friend that you have an advantage over him since if you do end up in the game biz your linux knowledge will be icing on the cake sort of speak.
If he looked at any recent companies hiring he'd see that linux knowledge experience is showing up more an more everyday!
Plus if you ever decide to switch to my favorite platform macos you'll feel right at home.
p.s. besides sony wouldn't put out their linux ps2 kit for nothing.

Share this post


Link to post
Share on other sites
Id just write an engine thats cross-platform, doesnt have to be anything fancy.
Once thats done you'll never have to worry about this subject again.
Thats the solution.
My engine(not entirely done yet) runs Win32 and SDL and chooses between OpenGL and DirectX.
Then when you have all the general classes write code from there.
Oh my computer uses dual boot(win xp and Gentoo).
Its a good thing to have as has been mentioned.
-CProgrammer

Share this post


Link to post
Share on other sites
Quote:
i wouldn't be developing games FOR linux, simply using it as a dev. platform, opinions? :-D

Good idea I say stick to purely cross platform libraries and develope for linux and windows(and any other OS/architecture you can get your hands on). I can remember reading something about Linux and gaming and I'll try to remember why it said linux wouldn't be a very successful gaming platform.
1. User base, many linux users don't use linux for games.
2. Purist zealots, aka those known as the ones who would not have anything but free software on their computer.
3. For games, linux just doesn't perform as well as windows(though the gap is closing up)link
4. Tech support, and not many game developers being familiar with linux
5. Windows emulation exists and should be sufficient"
6. Linux market is nowhere near the size of the windows one
7. gcc and glibc plagues
I remember there was more but I can't think of it atm.. For hobby developement though all I can say is, go with linux, as if it's good you might see your first game(s) included with a distro then you get bragging rights when showing off linux that you made the game.. Can't do that with other operating systems..

Share this post


Link to post
Share on other sites
Quote:
Original post by eedok
1. User base, many linux users don't use linux for games.

This seems like an empty argument. I for one would use Linux for games if I had games I could play under Linux; unfortunately, there are slim pickings.
Quote:

2. Purist zealots, aka those known as the ones who would not have anything but free software on their computer.

Indeed; a pox on their firstborn and a curse on their name. I want my games, damn it.
Quote:

3. For games, linux just doesn't perform as well as windows(though the gap is closing up)link

... This article was written over four years ago. If the gap was closing then ...
Quote:

4. Tech support, and not many game developers being familiar with linux

Sadly.
Quote:

5. Windows emulation exists and should be sufficient

But will never reach native performance. If people follow this sort of thinking, Linux gaming performance will obviously never reach the levels of Windows performance - we'll be slowed down by an emulation layer.
Quote:

6. Linux market is nowhere near the size of the windows one

Chicken and egg problem. There are no games because there are no gamers; there are no gamers because there are no games. Hopefully, with companies like Id promising Linux releases, we'll get the super turbo turkey--er, chicken.
Quote:

7. gcc and glibc plagues

What plagues, exactly? No sarcasm; I'm curious.

Share this post


Link to post
Share on other sites
mmm, the problem with wxWindows, and i assume most cross platform libraries is the support for Direct3D.. I wouldn't mind having both Direct3D support and OpenGL, maybe dual-booting may be my only option. Does anyone know if it's possible to program Direct3D on linux?

Share this post


Link to post
Share on other sites
Quote:
Original post by malune
mmm, the problem with wxWindows, and i assume most cross platform libraries is the support for Direct3D.. I wouldn't mind having both Direct3D support and OpenGL, maybe dual-booting may be my only option. Does anyone know if it's possible to program Direct3D on linux?

Not unless you use a Windows emulation layer - Wine might work, WineX would be your best bet. DirectX is Microsoft software; Microsoft are not in the habit of writing things for non-Windows platforms, so of course it will not work natively. Why bother, though? As far as I know, OpenGL can do everything Direct3D can do (though in a slightly different fashion); supporting both when one would cover all your target platforms (and the other would cover only one, which is already covered) seems like a lot of unnecessary work.

Share this post


Link to post
Share on other sites
Sign in to follow this