Game Development Geek / Technical Linux Game Development

Writing Portable Code

I recently bought and received Write Portable Code by Brian Hook of Book of Hook fame. As I intend to make my games playable on multiple platforms, I need to learn how to not only write good software but also write good portable software. I believe that this book can be invaluable to that end.

And within the first few chapters, I’ve already learned about a new tool: Valgrind. It’s an open source suite of tools for debugging and profiling x86-Linux programs. Sweet! I’m definitely going to look into it.

Anyway, the book promises to be both practical and informative. Hopefully it won’t be like other books that are failures at both, and so far, I don’t believe it will.

Geek / Technical General

Anti-spam Measures Taken

I recently talked about the huge amount of trackback and comment spam I’ve been receiving. I’ve added a WordPress plugin called Bot Check to prevent comment spam by requiring readers to enter a code from a random image in order to get comments submitted.

Trackback spam, on the other hand, might have to go through another plugin, if it exists. The Mod_Rewrite Trackback Spam Blocker would be great, but it isn’t compatible with WP1.2, which is what I am running.

Game Development Games Geek / Technical

Keeping Up With Games

I was in Ohio over the weekend, and I just caught up with my email. I saw the trailer for Age of Empires 3. I thought AoE2 was pretty fun, but 3 looks amazing. And not just the graphics. It looks like the gameplay will be different from the “you attack, the attack does X amount of damage”. For example, it seems like ships will lose masts depending on where they were hit. Then again, it was a video and I may have just assumed that it wasn’t pre-animated damage.

Civilization 4 is also looking great. I am still guilty of not playing Civ3 yet. What I would love to see is a sequel to Colonization though.

I have two games to review for Game Tunnel, so it isn’t all AAA mainstream titles. There are a number of indie games I want to check out as well, including Oasis and Trash. Unfortunately there isn’t much available for Gnu/Linux, although Nexuiz recently hit 1.0 and so should be more stable now, DROD seems to be fun, and Neverwinter Nights looks to be a better value than ever before.

I’m also missing out on console games. The new Kirby game seems to be great fun, and Katamari Damacy‘s sequel is almost here. I haven’t played either game.

But what I plan on doing is setting a regular schedule to play the games I do have. Final Fantasy VII, Civilization 3, and others have been sitting here and have never been installed. I really must do something about this situation.

Geek / Technical

To Microsoft Apologists: Yeah, Right

There are people out there who try to justify or defend Microsoft’s actions.

Attackers are just:

  • jealous.
  • whining.
  • communists.
  • going after an incredibly large and therefore easy target.

Microsoft is just being extremely competitive, the apologists say. Other people are just complaining about their woes rather than actually doing something better.

And then I read these two articles:
Microsoft changes to prevent Firefox from right-clicking
Microsoft commissions independent firm to study cost of updating Microsoft and open source software

The first one talks about how MSN apparently prevents Firefox users from right-clicking or middle-clicking on links. If you read through the posts, someone talks about how you can use AdBlock, a nice Firefox extension, to prevent it. But the real problem is that Microsoft has decided to introduce this problem that exclusively affects competitors. But they aren’t acting in monopolistic ways. They are just being competitive. Yeah, right.

The second one talks about the results of a Microsoft-commissioned study on the costs of updating your software in a real world setting. It says that Microsoft software is less expensive to update and patch than open source solutions. It has some great lines:

“We already know how to secure a Windows-based solution and keep it running smoothly,” says Stephen Shaffer, the airline’s director of software systems. “With Linux, we had to rely on consultants to tell us if our system was secure. With Windows, we can depend on Microsoft to inform us of and provide any necessary updates.”

Now, let’s ignore the fact that Microsoft commissioned this study. I don’t want to assume that Wipro was skewing the results because I don’t know the details of the study. It could very well be that patching software on Windows is a lot cheaper than patching software on Gnu/Linux. Of course, Wipro’s strategic relationship may have had a hand in it, but again, it may be possible that they conducted a study without a conflict of interest.

But let’s assume that the study is legitimate.

It claims that each patch is cheaper to deploy on Windows than it is for OSS-based systems. It claims that even though there is a larger volume of patches for Windows, the lower cost per patch negates it. It claims that when patches are available, Windows systems get patched sooner than their OSS counterparts. And it found that for both systems, best practices lower costs of patching.

But apparently the companies surveyed had a larger number of Windows servers than OSS-based servers. Also, Apache, which is open source, running on Windows would be considered in the Windows category, so the results can be skewed in some ways. The study doesn’t explicitly say such details, but claims that Oracle on Red Hat would count as OSS. In a Windows vs OSS study, Oracle, which is owned by NOT MICROSOFT, shouldn’t have been in question in the first place.

In any case, they are claiming that while the costs for management tools for Windows are higher than the costs for their OSS equivalents, those tools being used on many more Windows machines and patches aggregate. To make a really exaggerated point, $100 spent on a tool you use 100 times on 100 servers means that each patch job can be $0.01. On the other hand, $50 spent on a tool that you use on 50 servers that you use twice will cost you $0.50, which is much more per use. Now, ignoring that some of the cheap patches credited to Windows are actually for OSS servers like Apache and that patches to non-OSS, non-Microsoft software running on OSS-based operating systems might cost some money, and ignoring that it has been shown that it takes fewer Linux admins to administer more machines, they are claiming that because Windows has a higher distribution than OSS-based solutions that economies of scale affect the cost of patching.

So this study isn’t claiming that Windows is cheaper to patch by virtue of being Windows. It means that it is cheaper to patch because it exists in more places. By the logic presented, if a company had only one Windows machine among hundreds of OSS-servers, the cost-per-patch for Windows would be astronomical in comparison.

That part of the study shouldn’t have much of an impact on what you choose to deploy. Obviously retraining will cost you plenty of money if you choose to switch from one to the other, but it isn’t because of anything inherent with Windows over OSS-based systems.

On top of that, OSS-based systems can include a wide range of software. Gnu/Linux, BSD, OSX? Red Hat, Debian, Novell? No, we’ll just lump those together and then hope people can figure out that the costs for one might be incredibly different than the costs for another.

And my favorite omission from the study is the fact that the world’s economies didn’t suffer millions in lost revenues and productivity due to the critical vulnerabilities in the OSS-based systems running the Internet infrastructure. It was due to the Windows machines running in corporate environments.

Windows costs less to secure? Maybe, if you bend the facts the right way. Again, the PDF study didn’t explicitly explain how it conducted the study. META group validated the approach and methods used in the study, but can’t vouch for the conclusions.

I don’t think that OSS is inherently secure. It is software, and there will be bugs and exploits. But there are fewer critical failings in OSS than there are in Windows. Firefox had its first critical problem, and there were anti-OSS zealots crying out “I told you so!” and “Completely secure, huh?!” No one claimed that OSS has complete security. There will be problems.

Still, Windows beats Linux on security? Yeah, right.

Games Geek / Technical

Response From Gas Powered Games

In response to my letter to Gas Powered Games regarding Supreme Commander:

Hello Gianfranco,
Supreme Commander is still a ways away and in development. At this time I
am unable to answer questions about portability or platform support. Look
for more info in the coming months.

Greg Stackhouse
Gas Powered Games

Well, at least it is a response. B-) I really do hope that the game gets ported to multiple platforms. It would be a shame if it was stuck on Windows.

Games Geek / Technical Personal Development Politics/Government

What Games Taught Me

I grew up watching television and playing video games. I read books, but not as often as I do now. Somehow, I managed to get honors in high school. If games only allow me to “learn how to shoot cops”, how do so many people who play video games get good grades?

On Game Girl Advance’s Kids Can Learn to Read and Shoot Cops, the question came up: what can games teach us?

I would think that, if the game really gets a young, innocent, prelapserian child interested, then it also makes that child investigate the world of the game further. They might learn something about recent American history.

But maybe this is just me. Am I wrong? As a curious, unofficial poll, what new SAT words or useful skills did video games teach you folks? Have games taught you anything that makes you feel smarter or a better person? Any Trivial Pursuit questions answered correctly because of video games? To paraphrase Senator Schumer, can Johnny learn to read while shooting cops?

For the record, I did get a Trivial Pursuit question correct. Towering Inferno was one of my favorite Atari 2600 games, and I learned years later that it was based on a movie. While playing the DVD Trivial Pursuit, I listened to a mock pitch for a movie that sounded somewhat similar to the game I played. I got a piece of the pie for it. B-)

I also learned what scurvy was due to playing Illusion of Gaia. I remember looking up information on it because the idea of a lack of Vitamin C causing a disease was quite “out there”. Was it just made up for the game, or is it real? I had to find out. I had to learn.

I learned resource management. While I know of at least one person who hates strategy games (“Give me a mission, tell me what to do, and I’ll do it, but keep that crap away from me!”), I loved the intricacies of playing Ghengis Khan 2, Nobunaga’s Ambition, and P.T.O 2, all made by Koei. Real time strategy games like Total Annihilation and Starcraft similarly stressed the importance of resources. When I pack for trips or make plans for events for my LUG, I understand the importance of logistics. Not having enough pizza, underwear, or Medics can make or break your plans.

I also learned about the real-world people featured in the games. Nobunaga’s ambition to unify Japan was real. MacArthur’s famous “I shall return!” and the strategic importance of holding the Philippines were real. The political struggles, the balancing of Army and Navy resources, the value of allies and supply lines and research and intelligence…hundreds of hours watching the History Channel or reading history books doesn’t compare to the experience of watching a turn play out in front of you and knowing that what you did has an impact on the outcome.

What’s more vivid in your mind, reading about how North America was colonized by England, Spain, Holland, and France, or actively trying to keep peace with the Iroquois tribes nearby your main towns while preventing a competing nation from making landfall on “your” shores? Colonization introduced many of the major figures involved in the conquest of the New World in a way that history books just couldn’t.

Even games like Super Mario Bros taught me to tackle problems from multiple angles. You couldn’t find all of the bonuses or power-ups if you didn’t try hitting blocks that “weren’t there” or jumping into a pipe rather than over it. Thinking outside the box was normal in video games.

Games taught me how to be an organizer. Games taught me how to be efficient with limited resources. Games taught me how to experiment with new ideas or methodologies. Games taught me how to work well with others. Games taught me the importance of planning. Games taught me that my decisions can have multiple outcomes and affect many people.

Unfortunately, some people think that all I could have learned from video games is how to be dangerous and destructive.

To be honest, I did cause natural disasters like tornadoes and earthquakes in order to destroy my SimCity, but I distinctly remember cleaning the city back up and making it better than ever. B-)

Games Geek / Technical Linux Game Development

Letter to Gas Powered Games

I just received the latest copy of PC Gamer and saw Supreme Commander listed on the cover. I was a big fan of Total Annihilation, and I couldn’t wait to read about SC.

These days I run Debian Gnu/Linux as my main operating system and I would prefer to not have to boot up Windows just to play a game. If the game is only available for Windows, I’d be less inclined to play it. Are there plans to release a Linux-based port of the game? If not, will the game be designed and written in a highly portable manner so that such a port could be written by others without too much effort?

Thank you for your time,

I just submitted the above message to Gas Powered Games, founded by Chris Taylor. Taylor was the creator of Total Annihilation, which is still my favorite real time strategy game. Today I found the latest PC Gamer magazine waiting for me when I got home. On the cover was Supreme Commander, which is his newest RTS. Atari owns the rights to TA, but SC is considered the “spiritual successor”. A big thank you to THQ for publishing it when others are insanely turning it down.

A lot of people say that the RTS genre has stagnated, but Chris Taylor apparently has the goal of actually adding strategy to the mix. Apparently you can play from multiple levels: tactical, which is what you find in most RTS games, and strategic, where you can get a high-level X’s and O’s look at the war. Besides the actual war and battles, the units will also match the epic scale. You can have normal units running amongst the legs of the massive units, and according to the preview, the battleship won’t fit completely on the normal screen. Nuclear explosions usually don’t look all that impressive in most games. Even in Empire Earth, which had the most impressive explosion (the screen went blindingly white), the blast radius only affected a small area. Original War had a really impressive weapon that actually left an area contaminated for a little while after the explosion, but it still wasn’t very massively destructive. But in SC, apparently nuclear weapons will live up to their name.

Part of the fun of Total Annihilation was just the excitement of blowing up so many things. It was far from mindless, but there was a lot of action going on. You could have multiple fronts in a massive battle with a large number of opponents. Plus, it was highly expandable, and people are still making mods and units for it.

Supreme Commanders is looking to make a big splash in the RTS genre when it hopefully gets released next year. It might finally be a real time strategy game that employs actual strategy so that the naysayers of the genre can be happy.

And having a Gnu/Linux port would be really nice. It would be unfortunate if it was restricted to only Windows and Mac OS X.

Geek / Technical Marketing/Business

Anti-FOSS Conspiracy? Meh.

In “Something’s Amiss in the Linux Community”, Walter V. Koenning suggests that there are people who are so against Linux and Free and Open Source software in general that they will take the time to post negative comments under articles that are pro-Linux. He notes that the negative comments appear to be copied and pasted into each article. At the same time, he notes that there seems to be more articles praising the merits of Windows.

Yet, I propose there is one big difference. The difference is so major that it allows me to smell the fishy smell, and notice that which has gone amiss and still sleep well at night.

Linux did not get to where it is today because it was promoted extensively, strategically deployed, well marketed, etc. It got to where it is today because there is an unquenchable thirst in the world (I’m talking about all of humanity) for creativity and collaboration.

Thousands of people have volunteered their blood and sweat to OpenSource because it matters more than general economics or power.

What we create with our minds and fingertips together with others we’ve never seen matters and benefits many and leaves a legacy that money can’t buy and power can’t wield. It’s not possible to stop inner human passion. Nor will it be possible to undermine the community that makes it tick so well. Instead, for every action, there will be an equal and opposite reaction.

If there are forces at work to try to undermine FOSS and make it appear dangerous and inferior to proprietary products, then doesn’t it mean that the people behind those forces are afraid? If it really was as bad as they say, FOSS wouldn’t survive on its own merits.

Yet it does. And apparently if the trends the author indicates exist, people are dedicated to spreading Fear, Uncertainty, and Doubt to slow it down. It simply demonstrates that Free and Open Source Software is important enough to be a threat, which means that it is good enough to compel people to switch.

Quite simply: they’re afraid.

Geek / Technical Politics/Government

Part 2 of Software Patents? No Thanks!

I wrote previously about software patents in response to an article on Gamasutra. Gamasutra also had a Question of the Week, and the responses show that most people are clearly against software patents.

The authors of the previous letter wrote a response to the feedback. In it, they defend themselves as just the “messengers” and for the most part I can understand that they believe in their work. They make a good point that regardless if software patents are good or bad, currently they exist. I don’t believe they are hear to stay because there is nothing intrinsically permanent about them.

But then I read items like the following:

As we mentioned above, we are the messengers, encouraging developers who come up with legitimate video game inventions to protect, or at least give some thought to protecting, those inventions because that’s their legal right.

Not to get picky, but I don’t remember encouragement for legitimate video game inventions. I do remember reading that you can “patent everything under the sun”.

Also, they present a paragraph of philisophical questions. Can there be novel and innovative software? Shouldn’t someone be able to get a patent for such software if they could get it for a machine? If software can’t be patented, but the algorithm is implemented in a machine instead, is that somehow patentable?

I note that none of the questions are: Isn’t an algorithm in software simply math, which isn’t considered inventable so much as discoverable? I seriously believe that if software patents existed when computers were new, the for loop, if statements, and arithmetic functions like addition would have been patented.

And then the last few lines are the kind that upset me the same way their previous letter did:

Do we all somehow have a “right” to copy computer programs? Have you ever gotten upset at someone copying your work?

Once again, they tried to imply something that just isn’t the case. Getting rid of software patents doesn’t somehow grant everyone the right to copy computer programs! That’s called copyright infringement (and even then, there are some who believe that software can’t legally be copyrighted either), which has nothing to do with software patents. Do away with software patents, and all software is still protected under copyright unless it was explicitly placed into the public domain by the author. Whether your code is proprietary or open source, it is protected by copyright. No one can copy it without your explicit permission.

While I don’t believe these people can be equated to “ambulance chasers”, I would respect these “messengers” if they wouldn’t be so blatant in trying to confuse the issue and muddle the waters. Software patents and copyright law are confusing enough as they are.

Geek / Technical

I Can Finally Make My Own Robot!

I’ve reading a few different articles about the new robotics kit being sold at Radio Shack. PC Magazine had a review of the new VEX Robotics Design System.

At about $300, it isn’t exactly cheap, but it is definitely a lot better than getting a kit that makes only one kind of robot. Those kits are usually not more than toys. VEX RDS is inspired by the kit handed out for the FIRST Robotics Competition. I never took place in the competition, but I can imagine it is a lot of fun.

I always wanted to build my own robot, but I never wanted to use the kits I had seen before. It would be like writing code but being told you can’t do anything but copy it from a page in a book. Sure it would be cool the first time, but I would want to be able to make my own creations. Now I can.