Loki Publishes "Programming Linux Games" 75
An anonymous reader sent in this tidbit - Loki Software has recently released Programming Linux Games, a book about Linux game development. It covers SDL, several audio APIs, and the Linux framebuffer console. The publisher has more info. (If someone wants to review this, email Hemos.)
Re:Old Man Rant (Score:1)
Checkmate.
2d acceleration (Score:1)
I occasionally lurk on the SDL message board and have noticed that when people have queried SDL about hardware acceleration under X it doesn't always match up with what windows is saying. Does X just need some more work on 2d acceleration, or because Nvidia has closed-source drivers the X developers don't have enough register-level info to expose more 2d acceleration?
Re:Helping the competition? (Score:1)
It's not quite that simple, at least for existing mass market developers. Deciding to target Linux is not like deciding to target another platform, say Macintosh. Dual-boot and effective Win32/DirectX emulation greatly diminish the theoretical Linux market. If a Linux user can buy a Win32 game and run it there is little motivation for a linux version. The developer needs the linux version to generate new sales, basically what they have to work with are the folks who would never buy the Win32 version.
Now Linux does have more potential for startups. The startup would exist in a less competitive market, and with a little bit of stroking the patriotism of the market could be leveraged. Again I'll go to Macintosh for an example, Bungie. They released Mac only games for a while, and leveraged this very loyal base to expand and grow. Leveraging a niche game market has proven to be an effective strategy to get into the larger mass market. And if the niche grows that is even better, you were there on the ground floor.
Re:selling the *nix community short? (Score:1)
You forgot about the fact that the market for Linux games is only a few thousand units for a popular title.
Loki became cumbersome. (Score:2)
This is most definitely not a troll; I love the Loki crowd and wish I could support them more.
uhh (Score:3)
---
Helping the competition? (Score:3)
Re:Loki became cumbersome. (Score:2)
You are mistaken. The depth support depends on the card and the driver.
Re:I've been waiting... (Score:1)
Re:selling the *nix community short? (Score:1)
Re:thank god! (Score:1)
(^o^)
Re:thank god! (Score:2)
Re:Helping the competition? (Score:2)
*paws at oc's face
Re:Helping the competition? (Score:2)
Re:No, the real reason is: there is no market. (Score:2)
Just remember that a short time ago there was no market for Linux, now the source code alone is worth a billion dollars. The key to everything we do is doing it for love, fame and pride of craftsmanship, not money. That applies to games as well. Look at Counterstrike to see where the future is. Sure, there will always be a place for big media in the gaming world, but the bottom line is, we don't give a shit, we're going to develop all the games we want ourselves. The smartest thing EA could do is jump in now so the open game projects don't grow as fast as they're growing. But they're not smart, and I for one prefer it this way.
--
Re:Loki became cumbersome. (Score:1)
I have some games (windows games run through wine or vmware) that require 8 bit mode. (Yuck) And to play them I just run
xinit
that will start another copy of X in 8 Bpp. then I type twm (start up a simple window manager)
and run my game.
then I just exit the xterm and go back to my other X.. Yeah it's not easy but it can be done. I read somewhere (i believe) that supposedly there is some bit depth changing stuff in X/DRI or at least being worked on.. Can anyone verify this? This would Definitly be a "Good Thing (tm)" for linux/unix.
OpenAL development (Score:1)
Re:selling the *nix community short? (Score:2)
And I do agree that supporting games, and apps as well, on Linux must be a support nightmare.
Good for Loki (Score:1)
Re:I've been waiting... (Score:5)
One of the best ways to pick up game usage tips is to look at source code. One guy who's coded loads of SDL games (in C) can be found here [newbreedsoftware.com]. In particular - check out Circus Linux [newbreedsoftware.com] - it's a lot of fun :).
Re:selling the *nix community short? (Score:1)
Ship the game on a bootable CD with the required distribution/setup on the disc. The CD would either run the game like that (using a swap partition if possible) or 'install' to a partition.
Imagine games with completely clean installs and de-installs. Linux is pretty much THE world class embedded OS , why not treat it like one?
Re:selling the *nix community short? (Score:1)
Re:selling the *nix community short? (Score:1)
He said that to understand the Bible I would have to sit down and study it for 4 years, and then I would be enlightened.
I turned to him and said "Well if I spent 4 years reading any book, I'm hardly going to turn around and say 'Well that was a load of Cr*p!'".
What I'm trying to say: Is the current infrastructure (SDL, etc.) a viable solution and assuming your answer is yes, why should I take you seriously?
I'm thinking one alternative would be a larger version of Allegro or something.
Re:selling the *nix community short? (Score:1)
Distro instalation cds already do the detecting and the results can be cached if the game is 'installed'.
Plus, windows needs rebooting between games, so it's not much of a concept leap. In terms on tech support and long term stability, a dedicated OS is the best solution.
My only problem with it is letting untrusted software write to the disc directly.
By skeleton, I meant in terms of included system applications.
Re:selling the *nix community short? (Score:1)
Re:Helping the competition? (Score:2)
and thanks for putting up w/ all my SDL questions
Seriously, this book is a great reference. I've been using it to get the basics of graphics programming with SDL (and in general) and it's helped tremendously.
--buddy
Re:Games are not of trivial importance (Score:1)
Re:Helping the competition? (Score:1)
The typical Linux only person:
1. into it because its free
2. linux actually fulfills eveything they care to use
3. they hate microsoft enough, or champion the Linux idea enough to be exclusive, or both or something like that, i.e. linux biggot, microsoft snob
for user type 1 they wont buy anything, only want free stuff. user type 2 probably wont buy, because if the current linux has everything they need, then they probably arent into games much.
User type 3 is the only maybe category. What are the percentages? And how many in the last category would actually care about games or care enough to pay money?
Re:selling the *nix community short? (Score:5)
a) Developers are mostly much more familiar with Windows, leading them to adopt Windows-specific techniques, making porting difficult and/or expensive.
and
b) There is no 'Standard' under Linux for audio/video/input handling.
Loki is attempting to solve both those problems by
a) releasing documentation e.g. this book that enables programmers to become familiar with game-development techniques on Linux
and
b) releasing a cross-platform library (SDL) that handles these functions, and is looking like the most promising 'Standard' gaming API for Linux.
I don't see how this is a 'free ride' for anyone, since ideas represented in code, regardless of who they are written by can be easily protected using various licenses, most notably the GPL, which prevents companies from 'stealing' anything.
And how the hell you arrive at the conclusion that writing documentation is somehow 'the wrong thing to do' is completely beyond me.
The reason many gaming companies don't support Linux is the same reason they don't support BSD. In terms of the gaming market, nobody buys Linux games.
Is that any reason not to write games for Linux?
Linux never would have made any ground in any sector of computing if this attitude prevailed - 'No companies are doing it, so theres no point trying.'
If a Linux port of a Windows game can be produced for close-to-zero cost, or if Linux can be used as a development environment (can you say 'Playstation 2'?), then delivering games for Linux becomes easier and more attractive, and having good games available leads gamers to consider Linux as their primary OS.
Linux has only just become a platform capable of supporting modern games, and outshines every other *NIX variant in this respect.
It is only natural that books like this should be produced, and i can't think of a better group of people to produce them than Loki.
Re:thank god! (Score:1)
Re:Helping the competition? (Score:1)
Re:Loki became cumbersome. (Score:3)
Re:Loki became cumbersome. (Score:3)
selling the *nix community short? (Score:2)
I'm not a Linux user (BSD baby) nor am I heavy on games, but isn't writing a book on Linux gaming sort of selling the Linux community short? Hear this out if you will.
If it's such a great thing to do, why haven't other gaming companies focused on creating an offspin development team focusing solely on creating Linux games? Could it be they think of Linux as still a `hobbyish' operating system not worthy of creating games for?
Its certainly a nice gesture but as stated if it's such a hot thing for a company to take up (gaming under Linux) why aren't many moving to push for stronger development. Is it just easier for companies to have Joe Bloe coder from Utah (no offense to developers) to create something for free they could capitalize on, as opposed to (dare I say this) looking into other alternatives aside from Windows.
Maybe I worded this poorly, but I see this as a free ride for gaming companies who could easily turn around and use ideas from those who read this book, and perhaps steal ideas from personal web pages and notes, get rich while they release a minimal amount of games for the *nix community.
Well congrats to the authors by all means since anything to *nix is a good thing in my eyes. Oh well back to "Tampering with Nature -- John Stoessel"
Re:Old Man Rant (Score:1)
thank god! (Score:2)
Re:selling the *nix community short? (Score:1)
I really don't think so. I for one am not a Linux zealot. I think it's a cool OS that has lots of advantages. I think what they are exploring is that it is becoming quite a player in the global arena, mainly China and the east. If they can niche out a gaming market in any one of these verticles, then porting to others will be easy because all the DBCS or double byte enablement will be done already, trhis make global prting reguardless of OS easier. I think it's much more a P&L delvelopment effort, rather than technical choice.
Re:Helping the competition? (Score:1)
Re:Helping the competition? (Score:1)
As a writer of technical books myself I can say that any book written and on the shelves is an accomplishment.
Just so you guys know writing is NOT at all about the money. Hell writing this book represents the fact that someone with very specalized knowledge had the courage to try and share that with the rest of the world. It is not an easy task and writing a good book takes a huge amount of skill and dedication to the craft.
After writing myself I have a newfound apprecation for books such as Bruce Eckels because not only is it a good book to have but the admiration goes even deeper and down to the writing style.
A well written book is truly art.
Props to you for sharing with the world, I know what thankless task writing can be.
Jeremy
Re:Helping the competition? (Score:3)
Excuse me? (Score:1)
No, the real reason is: there is no market. (Score:2)
--
Re:Old Man Rant (Score:3)
Fingers? You had fingers?
To game or not to game? There is NO question. (Score:2)
People really DO need games. Need.
Ever watch otters on snow slides? Cats with a ball of yarn?
The archeological records are full of games, as far back as we can trace, and presumably much farther.
To game is human. . . and weasel, why not penguin?
KFG
Re:Games are not of trivial importance (Score:1)
Re:Old Man Rant (Score:2)
Ah, the wonders of C and standards: Everything *nix/Linux is a Linux/*nix program (or damn close to it!).
You were saying about 'checkmate'? :)
On a serious note, SDL is a hell of an effort and a welcome addition to making cross-platform programs much more likely. A really big and honest THANK YOU to Sam Langa and the other SDL, OpenAL, ... coders out there. MUCH APPRECIATED.
Not quite the first book in the genre (Score:2)
This covers such advanced topics as:
Programming Apple Hi-Res graphics from BASIC and machine language.
Raster Graphics and bit mapping
Moving things around the screen
Simulating gravity.
Doing cunning things with 6502 assembler to make things run faster.
As a pre-teen getting to grips with the innards of Apples, this one proved a lot easier to read than anything by Rodney Zaks.
Perhaps if everyone was required to write their first game in 6502 assembler on an Apple ][, they might acquire a better outlook on life. Or maybe just a headache.
Re:When we getting a window's emulator? (Score:2)
It's not perfect yet but it's certainly getting there, certainly something to watch for the future.
just bought it (Score:1)
Re:Dangerous bug in Linux kernel 2.4.5 (Score:1)
Now, if this is a true bug and occurs during Tribes or Civ, then I see the relevance. The fact that the kernel list had no response makes me suspect.
Re:Old Man Rant (Score:1)
and that's my 3 sentances worth
Re:Not quite the first book in the genre (Score:1)
Finally, writing a LONG text adventure prog, I ran out of memory
Re:selling the *nix community short? (Score:3)
Right now it's a catch 22. Companies aren't going to put their money into Linux gaming until they see that there is a market worth investing in. They won't see that there is a market until there is a good portion of Linux games and the companies making them are making a nice profit.
Evenutally things will catch on as Loki starts turning a profit and other gaming companies see that. It was also a good idea to port other copmany's games to Linux instead of making them for scratch because that's a way to actually show companies that their games can make a profit on Linux.
Also, to get more on topic, this book is another step in the right direction because it will give companies a resource that their programmers can use to make the games. But more generaly it will help to encourage game development on Linux in general which is also a Good Thing (TM).
--
Garett Spencley
Re:selling the *nix community short? (Score:1)
Re:selling the *nix community short? (Score:3)
This has to change if you want the Linux gaming market to succeed. Of course you also have to buy Linux versions of games to prove to publishers that there actually is a market that is worth the trouble supporting.
- Daniel Vogel, Programmer, Epic Games Inc.
Re:Helping the competition? (Score:1)
-John
Re:selling the *nix community short? (Score:1)
a) it doesn't try to do multimedia IO itself; it serves as a common interface between DirectX, xlib, fbdev, etc. So you have all the support base of the platform's native toolkit, with a cross platform API.
b) it's free software (in the RMS sense). If you don't like it, you can change it.
c) it was developed for porting commercial games, and it has a proven track record. Every Loki title uses SDL.
d) it is simple and intuitive. This is largely subjective, of course; give it a try and decide for yourself.
-John
Re:2d acceleration (Score:2)
-John
Re:Helping the competition? (Score:5)
-John
Re:selling the *nix community short? (Score:5)
I don't know what Loki's motives for commissioning this were, but I can tell you mine: I wanted to learn this stuff myself. One of the best ways to learn something is to write it out for someone else. In the process of writing PLG, I became a serious SDL user, learned the quirks of OSS, reverse engineered ESD (that's what you have to do when there's no @#$%ing documentation
So I think it's reasonable to say I know a bit about the mechanics of Linux game programming now. Now maybe someone else can benefit. Maybe it'll sell a million copies, make DirectX obsolete, and get a penguin logo painted on every street corner. But probably not. That's not why I wrote it.
Or maybe some Linux-using 12 year old will pick it up and get into game programming. It would make my day to know that.
-John
Re:OpenAL development (Score:2)
Shake your google, kid (Score:5)
Here's the SDL doc project [csn.ul.ie].
Here's an article [ibm.com] comparing X-based programming to SDL-based programming.
You can use OpenGL techniques in SDL, so here's some OpenGL stuff [gamedev.net] for you...
This NeHe page [libsdl.org] comes complete with a version of the infamous Gears [libsdl.org] ported to SDL.
Finally, if you really want to start getting the best out of it, you'd better get on hardware acceleration. Either switch to one of the latest commercial distributions (RH [redhat.com] 7.1 and Mandrake [mandrake.com] 8.0 do 3d out of the box), or use the source, luke [sourceforge.net].
Re:Loki became cumbersome. (Score:2)
Either you or I - I've run Quake III on 32-bit color on an XFree86/DRI/Radeon combo. (As a fun aside - it was faster than Windows on the same box with the same configuration! Go team!) I've never heard of that limitation. If you've seen it, it may just be some cards. I have no idea.
Re:selling the ?what? community short? (Score:1)
I've been waiting... (Score:1)
Re:Helping the competition? (Score:1)
Now I'm wondering why they ignored my submission about my one, Linux Game Programming [primagamedev.com], was ignored when it came out 2 months ago...
Grrr... and Hemos even had the nerve to ask for a free copy... and I was stupid enough to send him one... again, grrr....
(rant over)
Games are not of trivial importance (Score:2)
There are two major factors that must contribute in order for Linux - that is the kernel, not the GNU userland that surrounds it - to succeed:
Games. We need games. People need games. Well, they don't really need them, but games are a major factor for the success of a platform. Just like Philip's Video 2000 and Betamax bit the dust because there was no porn available on it and there was on VHS, Linux has a comparable situation. Since porn is 'cross platform'
Loki shows that it knows what will be fital to Linux success, and I'm glad they contribute to it (no, I don't have any Loki shares
The only thing that worries me is Microsoft's recent statements about the GPL. The fact that
Then, at the end of the day, we will have grown.
Re:Loki became cumbersome. (Score:1)
Re:Loki became cumbersome. (Score:1)
Plus the G400s and Voodoo4/5.
Dinivin
Old Man Rant (Score:3)
Back in my day we didn't have these fansy "books" that taught us how to program linux games. We were real men, who coded real code from scratch, for computers which were not real because they hadn't been invented yet by Al Gore. And we liked it! Bah!
Re:Seems like fun. (Score:1)
-------------------
Re:Old Man Rant (Score:1)
I think the position we are in is known as a "fool's mate".
Re:2d acceleration (Score:1)
Re:When we getting a window's emulator? (Score:1)
There's a trial version available, so you can test some games with it without buying it right away.
--
Re:2d acceleration (Score:1)
I wouldn't put all (if any) of the blame on the X server.
--