Geek / Technical Linux Game Development

Distributing Binaries: G++, libstdc++, and Static Linking

I’ve been asking certain Gnu/Linux-using friends to test out Oracle’s Eye while I work on it. I’ve already found that I need to specify SDL_image as a requirement because of such testing; however, I don’t want to have to send an 8MB source package that contains mostly useless-for-the-tester code or binary data. Asking someone to get such a huge download and build a project themselves just to check it out or test it is asking too much, I think.

Since they don’t need the source to test it, I can just put together the binary files I need and send them together in a tar.gz or zip file. Or so I thought.

I stumbled upon one of the things that developers face when they are new to Gnu/Linux: shared libraries that prevent distribution of your binary files. When you distribute the source and expect people to build it usually isn’t a problem, but I don’t anticipate all of my end users being proud geeks who wouldn’t mind spending hours getting my game to work again when it was working perfectly fine previously.

I have two Gnu/Linux systems, one which runs Debian Testing, with a 2.6 kernel and GCC 4.0.2, and the other which runs Debian Stable, a 2.4 kernel, and GCC 3.3. I don’t update the latter often because I use it as a backup machine. I don’t want to accidentally introduce incompatibilities that would prevent it from working properly.

When I brought my “release” over to the other machine and tried to run it, I got the following:

./oracleseye: error while loading shared libraries: cannot open shared object file: No such file or directory

Let me just say that searching for solutions to this issue is difficult. You get a lot of results that aren’t relevant. Or I did, anyway. And I knew it had to be possible. Quake 3 Arena works fine, and I’ve upgraded libstdc++ a number of times, so why can’t my own code work so nicely?

So I asked on IRC, but people who leave their clients running all day even if they aren’t there are not too helpful. I searched some more, posted a question, but then found the possible solution immediately after the post.

Linking libstdc++ Statically by Johan Petersson talks about the exact problem I am having and offers a solution that is easy and seems elegant.

Basically, you need to statically link to both libstdc++ AND libgcc. GCC won’t let you do one without the other. And so far it seems to work.

I managed to get my code to run on my main system, my backup system, and my work system, and I no longer have to recompile on each. It only adds 0.5MB to my download, and I may even get better results once I stop using the debug build options. I’m not sure if there is a “better” solution, but I’m pretty happy for now. Thanks, Johan!

Game Development Geek / Technical

Free Sounds

My friend Becky Kramer tuned me into The Freesound Project, a “collaborative database of Creative Commons licensed sounds.”

Basically, all the sounds in the project are available under the Creative Commons Sampling Plus 1.0 license. You can creatively change a work and use the derivative work commercially or noncommercially. You could take the original and distribute it in a noncommercial way.

Sounds great to me, especially for my early projects. I’ll pay for my audio needs when I think doing so will help sell my games. For now, when I am just trying to make simple games for myself, these freely available sounds will be good enough.

Geek / Technical Marketing/Business Politics/Government

FOSS Is Not To Blame For Piracy

Linux News says Digital Rights Management Picking on the Wrong People is an article to defend Free and Open Source Software against the charges that they are the ones who promote piracy.

I was surprised to hear from someone on the Indie Gamer Forums many months ago that all of the contact he had with FOSS was with people who only wanted things for free and would pirate everything from movies to games. There is also a lot of animosity towards FOSS in the ASP newsgroups, and a few months ago there was even an article in the newsletter about how FOSS was supposedly bad for business and didn’t offer any benefits to the public.

My experience is very different. I have a friend who refuses to buy DVDs because he doesn’t want to support the media cartel and the digital restrictions management used in most DVDs. I know people who pirate games and movies, but I also know people who refuse to use anything to do with Windows. If it isn’t available, they do without. After all, if you can’t play a game on Gnu/Linux, what would be the point in pirating it? Rather than break the law to watch his own movies, my friend just decides to be very selective with his DVD purchases. Revolution OS is one of the only DVDs I know that doesn’t use stupid region encoding, something that does nothing but punish paying customers while allowing commercial piracy to still occur.

In any case, it seems to me that most people who use Free and Open Source Software are fully aware of the licensed terms under which they may use their software. They are the ones who refuse to use Windows Media Player because they would prefer that their software doesn’t change the way their computer works without them knowing about when, how, and why. You can read the WMP EULA and see that it is pretty absurd what you have to agree to allow Microsoft to do. If anyone is committing piracy, whether casual or not, it’s more likely the people who don’t realize what it is the license allows them to do. Why would FOSS supporters be part of a group of people who ignore licenses and EULAs?

Sure, there are those who don’t care about the license and just want everything to be available at no cost. Open source usually is free-as-in-beer, and so if you want freely available software, it’s definitely safer than trying to get away with copying software illegally. Still, some people are going to make illegal copies of Windows, or games, or office software, or even shareware, and it is definitely possible that those same people might support FOSS.

But what a broad paintbrush we would have if we made the assertion that FOSS users in general are the ones who will most likely copy software illegally. It really makes no sense that people who consciously use FOSS to avoid vendor lock-in or support software freedom would at the same time pirate software that was proprietary or work only on a proprietary system that they are not using.

I guess I don’t interact with enough people outside of the FOSS community. I haven’t heard of too many people who believe that we’re all criminals or out to destroy the livelihoods of software developers or that we’re just anti-Microsoft zealots, but those people exist. Somehow they “heard” or “learned” what they believe FOSS is all about. They get almost as shrill defending what they think as people do when you try to tell them that copyright infringement is not the same as “theft”, and it is probably because the two issues are so related in their minds.

Maybe it is just because it is an issue related to copyright, which is fairly complicated and even people who think they know about it can be wrong. Maybe it is because FOSS is really different; when you’re driving an automatic all your life and someone gives you a manual, you’d freak out at first because you have no idea how to drive. “Why is it so complicated?! I just want to get from point A to point B!!” Or, since a lot of you are probably geeks likes me, it’s like when you give someone vi or emacs after they have been using text editors like Notepad or Pico for years. It’s a different way to think about typing. Similarly, FOSS is a different way to think about software.

Some people dismiss FOSS for their own good reasons. They’ve at least thought about it, researched it, and come to their own conclusions. But it seems that when I do meet people who “don’t get it”, they really don’t get it. They don’t understand that Free, with a capital ‘F’, as in Freedom, is different from free, lowercase ‘f’, as in “no cost”. “But why is it such a problem to pay for it?” It isn’t! There is no problem with paying for FOSS. People can’t wrap their heads around it because of the unfortunate double-meaning of “free”.

But people for some reason have no problem making the leap from “FOSS means no cost”, however erroneous that thought is, to “FOSS means stealing software”, which is an even worse assumption. While I believe some might have an agenda and would purposely lead people astray, and some other people might honestly feel that they are fighting a good fight to defend non-FOSS, I think most people just attack what they don’t understand.

Geek / Technical

Goblet of Fire

I went to the midnight showing of Harry Potter and the Goblet of Fire. I didn’t get to sleep until after 3:30AM, and I had to go to work today too. I’m dead tired.

The plot and dialogue seemed to move at a very quick pace in the beginning. I started to wonder if they purposely gave the older actors less lines. I also found that the movie deserves its PG-13 rating, and not just due to the parts with Voldemort, death, and destruction. There was quite a bit of sexual inuendo, and I felt that the movie would have fit at home in the 80s for some of the campy-ness. I mean, there is the dance scene, and Hagrid’s hands move “below the equator”, only to be moved back up by Madame Olympe Maxime. Wasn’t that right out of a movie like Revenge of the Nerds?

Not that it was bad. I really enjoyed the movie. It was both funny and disturbingly scary.

Geek / Technical

My 15 Minutes

Your 15 Minutes is probably going to be one of those Internet phenomenons, and so I wanted to be among the early birds to mention it. You basically upload your photo, provide a short blurb, and now you will be featured on the front page of the website for 15 minutes.

Sorry, but I don’t have too much to say about it yet. I guess it is just First Post Syndrome. B-)

Geek / Technical

November IGDA Meeting

Tonight is the IGDA:Chicago chapter’s meeting for November. Alex Seropian of Wideload Games (and Bungie fame) will be giving a post mortem on Stubbs the Zombie.

I’ll be volunteering again, so if you show up, I’ll take your money. I don’t know if they will be selling shirts again.

Geek / Technical Politics/Government

I Would Like My Digital Rights Back

Rant Mode Equals One: Score: Digital Privacy 0, Digital Piracy 1 is an interesting article talking about the problem with digital piracy.

But not the kind everyone thinks about. It isn’t trying to defend the movie, computer, and recording industries with their draconian copyprotection and laws. It’s an article arguing that individual rights are being compromised.

How does Sony get away with putting a root-kit on your system? Why is any company allowed to compromise the security of your computer just so they can determine that you haven’t made a copy, whether legally or not? And why are laws being passed to allow it?

Yeah, thanks, but no thanks. I’ll just keep control of my own computer.

Geek / Technical

Girls Don’t Exist on The Internet

I’ve commented on girls and gaming before, but the latest Escapist was focused on the topic. OMG Girlz Don’t Exist on teh Intarweb!!!!1 was written from the point of view of a female having to deal with the strange way males react when they discover who she is.

Throughout the article, the author had her sex revealed in various ways, and each way seemed to get the same result:

“OMG!!!one! ur a gurl?! SHOW PIC!”

And when she refused to show a picture of herself, the other people would conclude that she wasn’t really a girl. You know, because all girls show their pictures on the Internet, so she couldn’t have been one. If the pic was acknowledged as real, it was dismissed as the obviously male player’s sister or girlfriend.

It’s weird how the existence of a female online will cause almost all males in the vicinity to think about unbridled white horses running past a field…

She also mentions the other extreme. Imagine that you meet some of your online friends in person, and you get completely ignored. Are they just shy, even if they swear like sailors when the Zergling rush is destroying their defenses?

As a male, I’ve been guilty of trying not to be the amorous jerk but ending up the guy who doesn’t even acknowledge the girl’s presence. Whether it is for gaming, software development, or Gnu/Linux user groups, either reaction results in females being uncomfortable.

I distinctly remember playing a game of Quake 3 Arena online a few years back, and there were two other people on the map. We were playing 1v1 instagib, and suffice it to say that I was getting killed soundly. One of the other players informed me that the deliverer of pain was a female. I actually don’t remember how it came up, but I do remember that I was actually trying to strike up a conversation. She remained silent, and I didn’t think much of it.

I did think about it later. I rarely try to talk with my opponents online. Why was this case different? Why did the fact that she was a girl make me want to talk to her? I’ve had conversations with males online, but the idea that I was playing against one of those rare female players was just…well it was just rare, which made it interesting.

When there is a group of male gamers, no one makes much of it. Hey, want to join my group? Nice shot. GG!!

But when there is a female involved, I think I get more conscious about it. Trash talking isn’t carefree anymore. Now I worry if calling an opponent a “bitch” will be taken badly by the Female, even if she is on my team and not the recipient. If I say “good job” will it be construed as making a pass? Am I aiming at her because I am trying not to avoid aiming at her, or am I just playing the game? I don’t want her to feel uncomfortable, and so maybe shutting up will be best. Which, of course, isn’t.

Why can’t she just be another Gamer? Why is the fact that she’s female so intriguing?

The author of the article talked about the instant message conversation, showing her picture, and getting WTFs and the like. I know that there are female gamers so I don’t think I would lose all manner of speech except for TLAs. Still, what DO you say? Would it be inappropriate to say that she’s pretty? I know I wouldn’t tell a guy that he looked handsome or cute or something, but then again, I don’t think I’ve ever sent a pic to someone online. I mean, my orange juice pose seems to get enough comments. B-) In any case, somehow I don’t think “Oh, a pic. c001” would suffice.

Maybe what happens online is the same thing that happens in real life. People don’t know how to act in front of the opposite sex, especially when they show up in a place that they didn’t usually. It’s common for people to assist newbies when starting out, but females seem to get this overwhelming help throughout their gaming career, as in the case of City of Heroes. People will steal kills because they think they are “helping” her out. Apparently in World of Warcraft it isn’t uncommon for female players to be given gifts, usually in exchange for dancing.

Why do men either give women trouble for playing games or insult their abilities by assuming they can’t do well if they aren’t helped? And why does my interaction with females online become calculated and conscious compared to my interactions with males?

Games Geek / Technical General Linux Game Development

Why I Want to Make Games for Gnu/Linux

LinuxGames posts about the possibility of porting the sequel to Savage to Gnu/Linux. Basically, the Savage 2 engine is heavily utilizing DirectX, and the developers are going to try to work with Transgaming to get it working with Cedega instead of providing native binaries. Apparently Never Winter Nights 2 is also having these issues.

I really don’t like the idea that I have to buy games and then pay recurring fees for the right to play them on my preferred operating system. But if you read through the threads, apparently people are also upset at the level of support they received for the first Savage.

It is already bad enough that I have to keep Windows around to play most games, and there aren’t very many natively Gnu/Linux games of great quality, but why develop half-ass “ports” and make it worse?

I want to make great games natively for Gnu/Linux because I am tired of waiting for someone else to step up and do it.

Games Geek / Technical General

Carnival of Gamers

I saw that Aeropause was hosting this year’s Carnival of Gamers, which has its “headquarters” at

Carnivals are basically traveling blog shows. There is a Carnival of Capitalists that I’ve heard about, but when I found that there was a Carnival of Gamers, I had to look into it. Essentially, people submit posts on the topic or theme to the carnival host, and the host, which is Aeropause for this month, provides links to the other blogs involved. It’s like normal blogging but much more organized.