Author Topic: Linux  (Read 17137 times)

Omnomnom

  • Rogueliker
  • ***
  • Posts: 79
  • Karma: +0/-0
    • View Profile
    • Email
Linux
« on: November 13, 2012, 10:37:54 PM »
How much rage is caused if a RL only runs on Windows and not Linux? I just did a check of some RLs I have played recently and they support both.

What sort of % of players are lost by only supporting windows? Is it just people who only use linux who give it the finger or do people who have both also rage on it for assuming everyone has windows? id like to support linux but it's harder to do in c# than say java (i think). Also I would only be making something light like a 7DRL kind of thing but stretched over a year, so maybe then people don't care as much and id get away with it?

Feufochmar

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
    • Email
Re: Linux
« Reply #1 on: November 13, 2012, 11:16:04 PM »
You can use C# on Linux with Mono (see www.mono-project.com). However, I don't know much about C# so you may want to check for the incompatibilities between .Net and Mono before coding if you want to support Linux.

guest509

  • Guest
Re: Linux
« Reply #2 on: November 14, 2012, 07:00:17 AM »
You are fine man. Windows is fine (said the pc user).

TheCreator

  • Rogueliker
  • ***
  • Posts: 370
  • Karma: +0/-0
    • View Profile
    • Fame
    • Email
Re: Linux
« Reply #3 on: November 14, 2012, 07:26:30 AM »
Most likely nobody will be enraged until your game gets famous enough ;). However, it's better not to lose players. Supporting multiple platforms is always difficult, even with Java, but let's face the truth: if you have, say, 100 players, then actually you must support 100 different platforms. So you need to keep your code as portable as you can, no matter which platform you target.

I think that we all should not stick to Microsoft too much. Yes, they make the best development tools and Windows XP is the best OS so far, but I'm afraid it will not be like this forever. Vista was distinguishably worse, Windows 7 was even worse than Vista and 8 is going to be a total disaster. That's why I'm struggling to make friends with Linux despite the fact that Linux folks don't understand the word "standard". And "GUI" apparently means "a nice desktop wallpaper" for them.
Fame (Untitled) - my game. Everything is a roguelike.

Bosman

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Linux
« Reply #4 on: November 14, 2012, 07:31:25 AM »
This is my first post on the forum so hello to all of you.

As far as C# in Linux you should be fine with mono as long as you don't use any system - specific stuff. I made some testing some time ago and usually the same code (without any system-specific things) just compiles without problems on both systems and works. You should be good if you only use the standard Console output.

Another approach, that I'm actually taking in the project I'm working on right now is to separate the game engine from the thin presentation layer. The engine code will most likely be pretty much platform independent so that can be one library or set of libraries that will compile easily in both VS in Windows and Mono on Linux. Then you add two separate light clients - one for Windows and one for Linux that just handle the application window, key press capturing, etc. that may be more system specific. This works very well for me.

kraflab

  • Rogueliker
  • ***
  • Posts: 454
  • Karma: +0/-0
    • View Profile
    • kraflab.com
Re: Linux
« Reply #5 on: November 14, 2012, 08:22:02 AM »
Most likely nobody will be enraged until your game gets famous enough ;). However, it's better not to lose players. Supporting multiple platforms is always difficult, even with Java, but let's face the truth: if you have, say, 100 players, then actually you must support 100 different platforms. So you need to keep your code as portable as you can, no matter which platform you target.

I think that we all should not stick to Microsoft too much. Yes, they make the best development tools and Windows XP is the best OS so far, but I'm afraid it will not be like this forever. Vista was distinguishably worse, Windows 7 was even worse than Vista and 8 is going to be a total disaster. That's why I'm struggling to make friends with Linux despite the fact that Linux folks don't understand the word "standard". And "GUI" apparently means "a nice desktop wallpaper" for them.

In this modern time, you have to specifically choose to not be cross-platform compatible.  Any new language or library is made to run on at the least windows, linux, and mac, so if I saw someone say they made something new that only runs on windows I would think to myself "wow, for some reason they actively chose to not support linux." Now, if you only have a windows build because you don't have access to linux for compilation, that's another story.  But you should at least set yourself up to make the port easy.

As for how many people it will affect, Epilogue has about 10% of its downloads off my website coming from linux versus 90% windows.  I can't tell on Desura what the ratio is, since buying the game gives it to you on all platforms, so the linux numbers may actually be higher overall.

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Linux
« Reply #6 on: November 14, 2012, 08:26:06 AM »
In roguelikes I'd say the split is roughly 70% Windows, 20% Linux, 10% Mac.  A higher portion of developers use Linux, and they tend to be better at giving feedback.  So losing Linux can be a big deal.  You're unlikely to actually upset anyone though.

Also your first priority has to be just getting a game out.  Anything else is a nicety.

TheCreator

  • Rogueliker
  • ***
  • Posts: 370
  • Karma: +0/-0
    • View Profile
    • Fame
    • Email
Re: Linux
« Reply #7 on: November 14, 2012, 08:41:47 AM »
In this modern time, you have to specifically choose to not be cross-platform compatible.  Any new language or library is made to run on at the least windows, linux, and mac, so if I saw someone say they made something new that only runs on windows I would think to myself "wow, for some reason they actively chose to not support linux."

That's right, but you must still be aware of the things that can make your program non-portable. There are many of them (although less than 20 years ago). For instance, fonts. Linux, unlike Windows, doesn't have a standard set of font or at least it doesn't have standard fonts that are also standard Windows fonts. Which is why you should supply fonts along with your game.
Fame (Untitled) - my game. Everything is a roguelike.

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Linux
« Reply #8 on: November 14, 2012, 09:46:45 AM »
I remember recently finding out that a game of mine wasn't working on Linux because a font was called "Monaco.TTF" but reference as "Monaco.ttf" in the code.  Windows didn't mind but Linux did.  But did Linux tell me why it was refusing to run the program?  Nooooo.

Cross-platform can be a bitch  :P  Especially when you're not able to test yourself and all you get is another user online saying "Doesn't run on my machine".  It's still worth the effort overall, in my opinion, but I can see why others don't want the hassle.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Linux
« Reply #9 on: November 14, 2012, 12:05:26 PM »
Cross-platform can be a bitch

I have an impression that OS-wide binary release for Linux is difficult if not impossible. It's not good when you want to keep the source closed. When you binary release something for Windows 7 it's most likely to work in all Windows 7 versions, sometimes in older versions, too. I don't know what's the situation with MacOS. I think binary release is the real problem, because at least C++ can be portable.

TheCreator

  • Rogueliker
  • ***
  • Posts: 370
  • Karma: +0/-0
    • View Profile
    • Fame
    • Email
Re: Linux
« Reply #10 on: November 14, 2012, 12:57:41 PM »
I have an impression that OS-wide binary release for Linux is difficult if not impossible. It's not good when you want to keep the source closed.

Yes. But if the only reason not to publish as open source is that you don't want to reveal your secrets to the player, you could use a code obfuscator. If an obfuscator could produce code like this:

Code: [Select]
int t(int y)??<return '~'/8/7/6/5/4+y;}char h??(-0xffffb1e0u:>,z<:3],*q=
" !\141""\x62""ceE""\x67""hi""l\x6Dn""Nr\163t""u""Ww\170y10,-\xAoT";;
int _j(int v){v??'=t(v);return ++++v;}void _(int E){*z=074;for(;E;--E)(*z)++;puts(z);}void _0()??<_(_j(-2)-2);void r()
<%_(_j(17));}int l(int n,int i){gets(h);*(z+_j(11))=_j(67)-_j(3);i=atoi(h);for(;*h==20[q];)
return _j(1)-1;n-i?(n-i)>>31?_0():r():_j(n);return(i!=n)?l(n,i):_j(i)-2;
??>int main(){if(!l(rand()%(_j(1)*_j(2)*25)+1,43??'99-56))::main();??>

...then it's almost like closed source ;).
Fame (Untitled) - my game. Everything is a roguelike.

flend

  • Newcomer
  • Posts: 18
  • Karma: +0/-0
    • View Profile
    • Email
Re: Linux
« Reply #11 on: November 14, 2012, 01:08:07 PM »
PrincessRL and DDRogue used C# + libtcod.net and worked fine with the Linux library binaries and mono. The Linux versions weren't very popular though, probably because Linux people don't like mono. Unfortunately I'm too lazy to write a new engine so future 7DRLs etc. will still use that codebase.

I kept my games closed source due to wanting to keep the endings etc. secret but since they've been out a few years I might open source them soon. I'm vaguely tempted to make a commercial Android tiles version but that will probably remain a pipedream.

-flend

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Linux
« Reply #12 on: November 14, 2012, 07:42:07 PM »
I have a feeling that, because of the dominance of Microsoft products, everyone has access to windows even if it isn't their preferred. There are very few 'pure linux' people in the world. They all have a M$ boot somewhere- it's typically a requirement for professional reasons.

You're pretty safe with windows only, imo.

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Linux
« Reply #13 on: November 14, 2012, 09:05:35 PM »
I'm a Linux user, and it's true I do have a Windows dual boot lying around. But I'm not about to boot Windows just to play a game. If I do see something interesting that doesn't run on my linux of choice, I just go on with my life. I'll certainly give C# a try[1], but stuff like Game Maker, forget it.

Scratch your own itch, but of course it doesn't hurt to think about OS-challenged people. One of these days I'm gonna make the bestest ever, ultimate post-gen roguelike and release it only as binaries for Linux and Mac. Then you can all go suck it  :P ;)

As always,
Minotauros

[1] I believe Feufochmar and Bosman hit the nail on the head wrt C# in this context
« Last Edit: November 14, 2012, 09:10:07 PM by AgingMinotaur »
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

Mikko Lehtinen

  • Newcomer
  • Posts: 41
  • Karma: +0/-0
    • View Profile
Re: Linux
« Reply #14 on: November 14, 2012, 10:10:22 PM »
I'm a Linux user, and it's true I do have a Windows dual boot lying around. But I'm not about to boot Windows just to play a game.

I'm similar. I use Windows for some work-related stuff, but I don't get the same kind of enjoyment out of it that I get from Linux. My computers boot Linux by default, and only games that run on Linux get played.