Advertisement

Obstacles to Linux game development

Started by November 12, 2004 05:06 PM
142 comments, last by C-Junkie 19 years, 11 months ago
VC6? maybe.
VC 7, 8, or 9? definitely not.

Beginner in Game Development?  Read here. And read here.

 

I had a problem with wxWidgets on windows in that it exposes platform problems and you need all platforms to test your code on. It would be nice to just get a consistant behavior from one crossplatform api. For example, under windows/MFC the scroll mouse button only sends messages to the main frame window not to the individual views you might have setup. To fix it would mean changing CView, meaning recompiling a new version of MFC which is not the way to go imo. This behavior carries over to wxWidgets as well because it's dependant on win32 behavior. Kind of bad because I liked wxWidgets and its extended common dialog box library. So there is extra effort in this sense when writing crossplatform gui apps.

Other than that, I browsed ubuntu screenshots and that would be the distro I would try if I was into linux. I realized that for game players you need to have windows avail. and it's the dual booting that presents a challenge to many folks. Discrepancy between BIOS settings for linux and windows and setting up the partitioning and grub/lilo stuff, that is the main barrier to my enjoyment on having both oses installed at once. I couldn't depend on linux alone as a sole os, I need windows as well. For non-gamer I suppose linux could be an alternative, but that also depends on software and its featureset and usefullness to folks. Also, costs factor into it as well. But yeah, ubuntu is a distro to watch because its setup and interface is great from what I'm seeing and it's efficient as well I'm being told.
Advertisement
This is in reference to a thread I found while searching for something else, and couldn't reply to - it fits with the current thread, so I'll stick it in here.


http://www.gamedev.net/community/forums/topic.asp?topic_id=214308
(Games Based Linux Distro)


This is probably one of the biggest reasons Linux is being barred from gaming - the single user base is smaller than Windows. So to play Linux games, you not only have to install Linux (which is a terrifying experience for the average user), but you have to learn it well enough to use it to play games. The Live CD approach is good, but it is lacking.

First off, as someone else pointed off, you have to reboot your PC in order to play the game. Big turn off; I can't tell you how many game players I know that will have the game open in one window and a browser with a walkthru open in another window in the background, and will alt->tab between them constantly. Booting into an environment that is foreign for them - and which might not even use their networking hardware efficiently - is not a good option.

So a BETTER option, in my opinion, is to do this: Write two versions of the game. Using SDL for everything in 2D games and everything but graphics in 3D games (use OpenGL, or DirectX inside of #ifdef Win32 if you must) - compile a native linux lib for the target disc, and a win32 build for windows. Put them BOTH on the same disc. Put the live FS inside of a boot image, and put the linux and windows game distribs in the regular ISO9660 filesystem on the disc; then throw an autoboot in there. This way, whenever a windows user wants to play your game, they can just pop the disc in and run it - without having to install anything - even if they don't want to reboot their PC. Ditto for a Linux user; they can just pop the CD in and, assuming everything was set up on the CD correctly, run it with the libs on the CD (via static linking to libs on the disc).

This would ALSO leave wide open the path of using these SAME discs on set top boxes built by hobbyists (which would be my answer to LaMothe's XGameShitbox) - a mini-itx board with a PCI gfx card (unfortunately most mini-itx boards don't have AGP slots) inside of an enclosure with a CD drive and a small hard drive for storing save games and such.

Using this setup you've got AT LEAST two platforms your game is GUARANTEED to run on - just about any x86 OS could run your game.

Just my $.02.
=========================Buildium. Codium. Fragium.http://www.aklabs.net/=========================
think about how small Linux is at the moment compared to microsoft (1% of platforms, mac is 3% and windows the other 96%), and how much shit Linux kicks up. Think about how big Linux will be if it grows a little more. Mac is 3% and already alot of products offer lots of support for mac, so this implies that support is not just proportional to market size. So imagine how huge would Linux be, even at 3% of the market.

there are efforts to make games, id has tried, lokis gone bankrupt, but its all good, projects like planeshift are appearing. Linux is might be one step behind in games now ...

as for Visual Studio subject, i suggest you properly understand the GNU utilities and whole command lines tiles, scripting - or do you prefer your nice round buttons with a picture of a floppy disk on them.
Linuxs power is the whole "create something new" attitude, but if you dont want to use it, thats your problem.

everyday i laugh(and cry) when i see the media on TV churn out some crap about pcs that doesnt make sense, or i hear of the latest Virus and its payload. enjoy Linux while you can(bill gates is antichrist (ASCII of BILL GATES III).

(statistics off google)
Quote: Original post by Genjix
think about how small Linux is at the moment compared to microsoft (1% of platforms, mac is 3% and windows the other 96%)...
BSD? Solaris? AIX? Or are we just speaking about desktop OSes?

Quote: Think about how big Linux will be if it grows a little more. Mac is 3% and already alot of products offer lots of support for mac, so this implies that support is not just proportional to market size. So imagine how huge would Linux be, even at 3% of the market.
You left out a few critical elements, so I'll fill in the gaps. Macs have sex appeal. It's not OS X that sells Macs; it's Macs (stellar industrial design - the previous iMac was inspired by a sunflower) and iPods (combination of form and function) that sell OS X. Apple also has iconic advertising, which Linux doesn't - and can't.

Why can't Linux have iconic advertising? Because "Linux" is just an idea, a concept, not a product. Each vendor productizes Linux as it sees fit, and each vendor will advertise Linux to match its own product line. The highest-impact Linux-related ads so far in the US have been part of the IBM eBusiness/OnDemand campaign, designed to sell zServers and IBM consultants.

Linux is an invisible operating system. It functions best where it is not seen by the majority, which is completely at loggerheads with the notion of desktop computing. That could change in the future, but that's the way it is for now, and that is why the Linux gaming market remains anaemic.

Quote: as for Visual Studio subject, i suggest you properly understand the GNU utilities and whole command lines tiles, scripting - or do you prefer your nice round buttons with a picture of a floppy disk on them.
The GNU toolchain has robust functionality, but it has an objectively poor interface. Tools evolve, new features get added. The CLI requires time to adapt to, and with rapidly evolving featuresets, that becomes a product liability. CLIs are great for relatively static interfaces with lots of options as well as for cobbling arbitrary solutions out of a variety of single-task utilities, but in what way is, say, make objectively better than a project workspace?

Quote: ...bill gates is antichrist...
You just undermined all of your credibility with that slanderous statement.
Quote: Original post by C-Junkie
Can you think of a reason linux would ever die? It's perfectly capable of evolving into anything it needs to be.
Linux may never die, but it will never capture the imagination of the public either. Why? Because, as I mentioned above, it is an abstract concept. The very fact that it can "evolve into anything it needs to be" means that it is essentially amorphous. Name one amorphous "product" that resonates with the general public.

Linux can serve as the foundation for an excellent consumer-oriented desktop operating system, but the fact that "Linux" can also run on a wristwatch, and the fact that there is no unified "Linux aesthetic" means that there are no concrete anchors for people to attach the concept to. Think "Windows" and you think of the four-color logo, of blue backgrounds, of a single company - Microsoft - and a single individual - Bill Gates. How many non-geeks and non-IT periphery people know who Linus Torvalds is?

It's a problem of perception and marketing, though it's really not a problem - except for those who think "Linux World Domination" is an attainable goal.
Advertisement
Quote: Original post by OluseyiThe GNU toolchain has robust functionality, but it has an objectively poor interface. Tools evolve, new features get added. The CLI requires time to adapt to, and with rapidly evolving featuresets, that becomes a product liability. CLIs are great for relatively static interfaces with lots of options as well as for cobbling arbitrary solutions out of a variety of single-task utilities, but in what way is, say, make objectively better than a project workspace?


I agree, the GNU toolchain is awesome. I use GNU for building GameCube DOLs, my Windows targets, as well as my native Linux stuff. However I agree that the interface to them is still back in the stone age. A good IDE, though, can take care of 99% of these problems; I like Visual Slick Edit, but alot of people like Eclipse, and it's actually pretty good. So while there's a couple probs that the GNU tools have with HI issues, it's nothing that can't be overcome with a little work.


I agree that Linux as an idea is supposed to be transparent behind whatever implementation you're using - Linux is more aptly defined as being the actual Kernel, as that is the only thing that can be hard codified into a universal thing that all Linuxes have. Beyond that, tho, you get into the different flavors of each individual distribution, then user.

... i'm rambling... gonna shut up now.
=========================Buildium. Codium. Fragium.http://www.aklabs.net/=========================
Quote: Original post by Oluseyi
Quote: Original post by C-Junkie
Can you think of a reason linux would ever die? It's perfectly capable of evolving into anything it needs to be.
Linux may never die, but it will never capture the imagination of the public either. Why? Because, as I mentioned above, it is an abstract concept. The very fact that it can "evolve into anything it needs to be" means that it is essentially amorphous. Name one amorphous "product" that resonates with the general public.

Linux can serve as the foundation for an excellent consumer-oriented desktop operating system, but the fact that "Linux" can also run on a wristwatch, and the fact that there is no unified "Linux aesthetic" means that there are no concrete anchors for people to attach the concept to. Think "Windows" and you think of the four-color logo, of blue backgrounds, of a single company - Microsoft - and a single individual - Bill Gates. How many non-geeks and non-IT periphery people know who Linus Torvalds is?

It's a problem of perception and marketing, though it's really not a problem - except for those who think "Linux World Domination" is an attainable goal.


Well said Oluseyi , picked the words right off my keyboard :)
I was influenced by the Ghetto you ruined.
Quote: Original post by Oluseyi
Linux may never die, but it will never capture the imagination of the public either. Why? Because, as I mentioned above, it is an abstract concept. The very fact that it can "evolve into anything it needs to be" means that it is essentially amorphous. Name one amorphous "product" that resonates with the general public.
I don't think it needs to capture imagination.
Quote: Linux can serve as the foundation for an excellent consumer-oriented desktop operating system, but the fact that "Linux" can also run on a wristwatch, and the fact that there is no unified "Linux aesthetic" means that there are no concrete anchors for people to attach the concept to. Think "Windows" and you think of the four-color logo, of blue backgrounds, of a single company - Microsoft - and a single individual - Bill Gates. How many non-geeks and non-IT periphery people know who Linus Torvalds is?
Does it matter? It's the underlying commodity. How many people know what processor their PDA or car run on? A decade (whoah....) ago it was unheard of to to have a machine and not know what processor it was using. I think a decade from now, most people won't really know what operating system (or perhaps more specifically, kernel) their machines are running on.

Oh yeah, excellent subtlety on the bolded part, too.[smile]
Quote: Original post by C-Junkie
Does it matter? It's the underlying commodity. How many people know what processor their PDA or car run on? A decade (whoah....) ago it was unheard of to to have a machine and not know what processor it was using. I think a decade from now, most people won't really know what operating system (or perhaps more specifically, kernel) their machines are running on.


They'll know, because as long as there are commercial operating systems, there will be free operating systems that will compete with them, and therefore the commercial operating systems will advertise as to how much better they are than the free ones. This is not to mention the commercial competition BETWEEN the various commercial OS's. So of course people will always know what OS their computers run, because they will always have a choice. What a silly thought.

Quote: Oh yeah, excellent subtlety on the bolded part, too.[smile]


The emphasis was yours, not his.
=========================Buildium. Codium. Fragium.http://www.aklabs.net/=========================

This topic is closed to new replies.

Advertisement