Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411478 Posts in 69369 Topics- by 58424 Members - Latest Member: FlyingFreeStudios

April 23, 2024, 08:31:52 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperBusinessCatering to Mac and Linux gamers
Pages: 1 [2]
Print
Author Topic: Catering to Mac and Linux gamers  (Read 8592 times)
mildmojo
Level 1
*


summer rain (soon)


View Profile
« Reply #20 on: November 12, 2008, 04:40:21 PM »

Porting to Mac is not hard, if you have some experience with it and use portable libraries.
...
Porting to linux is pain because
1) You never know what version of libraries are installed (stdlibc++, vorbis, etc), there are so many distributions. What we ended up was just compiling our own versions of all libraries we used.

Your first statement resolves the second. If you use portable and redistributable libraries, you don't have to worry about what's installed on the target system.  You can ship your own versions of the libraries, compile statically, or build linux-distribution-specific versions of the game if you're really committed.

Quote
2) Sounds - there are many sound systems (alsa, oss...) but no one just works. I don't know how this is possible in 21th century...

The cross-platform PortAudio library is a specific solution to this problem for win/mac/linux.  You may also be able to use OpenAL.  In any case, I don't think best practice for linux involves coding directly to alsa/oss anymore.

Quote
My advice - create game for windows and mac, and let the linux users use Wine Smiley

If you're actually interested in having linux users run your app under Wine (vs. "let them eat cake"), test and debug it in that environment.  It'll tease out tricky bugs that may not immediately manifest themselves in Windows, too.  I think this approach is working for EVE Online.
Logged

DEMAKE compo entry: Road Trip: Southwest USA
boovie
Level 0
**



View Profile WWW
« Reply #21 on: November 13, 2008, 12:35:32 AM »

2) Sounds - there are many sound systems (alsa, oss...) but no one just works. I don't know how this is possible in 21th century...

The cross-platform PortAudio library is a specific solution to this problem for win/mac/linux.  You may also be able to use OpenAL.  In any case, I don't think best practice for linux involves coding directly to alsa/oss anymore.

Yes, but for example even if we used custom OpenAL build, we got crashes on some ubuntus using default driver, we had to manually override this.
I'm not against linux, I just think that if you are new to porting to mac or linux, I would recommend mac first because from our experience we run into more technical problems on linux. But probably it's all about how do you know each system.

But maybe it would be more interesting to know some sales reports rather than technical issues when deciding whether to port for linux or not, how well is shareware selling on linux compared to windows and mac...
Logged
mildmojo
Level 1
*


summer rain (soon)


View Profile
« Reply #22 on: November 13, 2008, 11:40:58 AM »

Yes, but for example even if we used custom OpenAL build, we got crashes on some ubuntus using default driver, we had to manually override this.

Huh.  Were you using OpenAL or OpenAL-soft?

Quote
I'm not against linux, I just think that if you are new to porting to mac or linux, I would recommend mac first because from our experience we run into more technical problems on linux.

My personal impression, the sort of impression you're supposed to ignore if you're looking for actual business advice, is that you'll have a larger built-in audience going with Mac first.  I do think that porting to either of them will make porting to the other easier since they're both *nixish.

Logged

DEMAKE compo entry: Road Trip: Southwest USA
Michael Buckley
Level 0
***



View Profile
« Reply #23 on: November 13, 2008, 06:25:47 PM »

As a Macintosh developer who is developing games for Mac, Windows, Linux and iPhone, I am obviously biased, but I think that targeting Mac users is a good business decision, provided that the tools you're using are cross-platform. If you're targeting the iPhone, your options are C, C++, and Objective-C. However, if you're targeting Windows, I have had a few problems with compiling Objective-C code on Windows using MinGW. Basically, it's not something you can rely on, and it would suck to have to rewrite everything in C or C++ after writing about 75% of what you need in Objective-C (and I unfortunately speak from experience on that one). You can get away without any Objective-C code on the Mac side, but you'll have to write a few Objective-C classes to get it working on the iPhone.

If you're not targeting the iPhone, you have more options. Both Python and Ruby have various gaming libraries, and you could even write a game in Perl if so desired. C# is a possibility, and some studios are distributing C# Mac and Linux apps though Mono, but I don't have a lot of experience with it, and the non-gaming Mono apps I've used have been a little lacking. Like Objective-C on Windows, I don't guarantee you can count on C# on Mac or Linux. In my mind, it's just too much of a risk to rely on unstable technology like Mono.

The other big limiter is OpenGL. Although SDL is available on Mac, it doesn't get great performance unless running fullscreen. If you want hardware acceleration in a window, you must use OpenGL. So basically, any cross-platform language with OpenGL bindings will work.

With that in mind, here are a few reasons why I think it's good to develop for multiple platforms.

  • The Macintosh market is growing. Laptops are their fastest growing, but iMacs are also increasing sales. The Intel transition has really changed the market, and the momentum is towards Apple at the moment. Macs still only account for about 8% of the market right now, but younger users are buying Macs more than older users. If the Mac were to gain significant market share, and your games already ran on Mac, you would be in a better position than Windows-only studios.

  • Cross-platform code is more robust. I think this is pretty obvious, but the more systems your code runs on, the more problems you're going to find and fix. Yes, it does mean more time testing and debugging, but it could save you some trouble down the road.

    Anecdotally, I was writing some code the other night that ran fine on Mac, but crashed on Windows. It turns out I had failed to initialize a couple of 64-bit integers to 0. On Mac, they were automatically initialized to 0, but on Windows, they were initialized with whatever the current memory value was. Of course, I should have initialized them to 0 in the first place, but I forgot.

    Little bugs like that can creep into your code. They might not be a problem now, but may eventually become a problem. If Apple ever issued an update which changed the initialization behavior of those integers, it would break on Mac, and I would have had to investigate and issue a patch, which is more costly than eliminating the bug before release.

  • Cross-platform code is more future-proof. This is related to the last point, but in making your code cross-platform, you have to avoid system-specific functions or hacks, and stick to well-used, public APIs. This means that when Windows 7 comes out you won't have as many problems porting the code to Vista. If you've been relying on a private API or some hack that worked in XP/Vista, you may have to rewrite a lot of code when Windows 7 comes out. Of course, you could stick to public APIs anyway, but there's nothing forcing you to, and when you have a really hard problem that can be solved with a system-specific hack, it takes a lot of discipline to not do it.

  • The indie scene is a lot more diverse. Yes, most indie gamers still use Windows, but a fair number of them use other systems. Unlike the gaming audience as a whole, many of them are developers, and many developers use Linux. I think it's a nice thing to do to accommodate as much of the community as you can, as the community is rather small to begin with, and multi-platform releases engender goodwill.

  • Alternate operating systems need more games. It's really a chicken-egg thing. Users on all platforms want good games, but most gamers are on Windows. Even if the market in general shifts to another operating system, many gamers will cling to Windows until new games are coming out for other systems on a regular basis. The creators of the operating systems, in turn, won't start focusing on games as an important until they start seeing gamers use their systems. This means that OpenGL will still lag behind in game features (though I would attest that the difference between OpenGL and DirectX is not so great, but card manufacturers like DirectX because it pushes more responsibility on the programmer, and makes their lives easier) until it is used for more games. Regardless of what you think of Microsoft/DirectX now, competition is always a good driving force for technology, and the Microsoft/DirectX of the future may not be the best system to work with (e.g. Vista), so fostering competition is generally a good thing for a studio, even if it's something that you can't include in your financial statements.
Logged
Skofo
Level 10
*****



View Profile
« Reply #24 on: November 13, 2008, 06:42:08 PM »

↑ Bloody brilliant and insightful
Logged

If you wish to make a video game from scratch, you must first invent the universe.
Michael Buckley
Level 0
***



View Profile
« Reply #25 on: November 14, 2008, 05:22:41 PM »

To expand a bit on my last point, Exchange support in OS X is a good example of how the iPhone broke the Chicken-egg problem for the Mac.

Macs have never had Exchange support built into the operating system. Microsoft bundled Entourage (think Outlook for mac) with Microsoft Office, and it did contain Exchange support, but it was rather buggy, and didn't fit in well with the OS X interface. Businesses were hesitant to switch any of their workers to Mac for many reasons, and lackluster Exchange support was one of them. At the same time, Apple didn't want to spend the resources adding Exchange support because corporate sales constituted a very small portion of their user base. Apple decided to focus on the home, scientific and educational markets, and thus didn't see themselves as a competitor to Windows in the corporate market.

When the iPhone came out, however, by and far the largest market for smart phones was the corporate market. The iPhone initially lacked Exchange support, limiting its sales quite a bit. When the iPhone 3G was released it contained Exchange support, and it has sold better than even Apple predicted. Because the iPhone is supposed to be interoperable with the Mac, the Mac thus required, and received, Exchange support.

I believe that Boot Camp has pulled some gamers over to the Mac, but even the Mac Pros lack high-end gaming video cards. Right now, Apple doesn't see itself as a competitor in the gaming market. However, as more and more games come out for the Mac, there will be a greater demand for more beefy hardware, and you'll see Apple start to do things to improve the gaming experience on OS X. One of those things, I believe, will be to help drive improvement of OpenGL.

An improved OpenGL is good for two reasons. As I have already stated, competition benefits independent studios. Second, some consoles use OpenGL, so an improved OpenGL makes developing for these consoles easier.
Logged
lordmetroid
Level 0
***


View Profile
« Reply #26 on: December 04, 2008, 05:26:31 PM »

My main platform is GNU/Linux, I fret though that the marketshare of Linux is too small for any substantial sales. I probably shouldn't worry much about it as I have yet to release my first game... At least I can easily port to other platforms if I can't get enough sales on GNU/Linux but I am hoping the GNU/Linux users are starved to sweltering for games.

Logged
Jeff
Level 0
**


View Profile WWW
« Reply #27 on: December 12, 2008, 09:56:06 PM »

Lugaru was created on a Mac and later ported to Windows and Linux.  Mac sales were like 30%, Linux, 5%, and Windows, 65% (very rough estimates).  However, the coverage of the Linux version on Slashdot and Linux journals was huge and drove sales to the other two platforms.  Additionally, the Mac coverage did the same on the various Mac sites and obviously 30% is not a small slice.  You'd be shooting yourself in the foot to limit yourself to one platform instead of righting clean, portable code.
Logged

ShawnF
Level 0
**


View Profile
« Reply #28 on: January 18, 2009, 05:32:13 AM »

Quick related question - anyone know the route people take to get their games featured on apple.com?  I remember cas/princec from the indiegamer forums struggled for a long time, and his first decent sales came from there... seems like a great opportunity for multi-platform guys if it's easy to get the apple.com guys to take a look at your game at least. 
Logged
increpare
Guest
« Reply #29 on: January 18, 2009, 07:35:43 AM »

Quick related question - anyone know the route people take to get their games featured on apple.com?  I remember cas/princec from the indiegamer forums struggled for a long time, and his first decent sales came from there... seems like a great opportunity for multi-platform guys if it's easy to get the apple.com guys to take a look at your game at least. 
There's a submission page on apple.com somewhere...look about, and you'll find it...
Logged
Hayden Scott-Baron
Level 10
*****


also known as 'Dock'


View Profile WWW
« Reply #30 on: January 18, 2009, 12:57:54 PM »

Lugaru was created on a Mac and later ported to Windows and Linux.  Mac sales were like 30%, Linux, 5%, and Windows, 65% (very rough estimates).  However, the coverage of the Linux version on Slashdot and Linux journals was huge and drove sales to the other two platforms.  Additionally, the Mac coverage did the same on the various Mac sites and obviously 30% is not a small slice.  You'd be shooting yourself in the foot to limit yourself to one platform instead of righting clean, portable code.
That's very interesting to hear, especially the linux sales figures. I've always had the impression that linux users are somewhat loathed to pay for software, or certainly out of the habit of doing so. Did you release the source with your linux version so it could be recompiled, or anything fruity like this?
Logged

twitter: @docky
J.G. Martins
Level 2
**


AKA anvilfolk


View Profile WWW
« Reply #31 on: January 18, 2009, 03:51:10 PM »

There are bound to be a few people who don't pay for software, but in my experience that's not been the case. A few of my mates at university who use Linux pay to play WoW (of all things, ugh. Can't get a decent conversation out of them), and Savage 2, and maybe a couple of others. I use Linux and have bought quite a few independently developed games.

It must depend more on the person and the software: there's some things you simply can't replace, and I'm guessing games are among them Smiley
Logged

Gold is for the mistress -- silver for the maid --
Copper for the craftsman cunning at his trade.
"Good!" cried the Baron, sitting in his hall,
"But iron, cold iron, is the master of them all."
--- Rudyard Kipling
Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic