Categories
Marketing/Business

Still Can’t Buy A Theory of Fun for Game Design

Sometime back I was trying to buy Raph Koster’s A Theory of Fun for Game Design. It’s been sold out at every book store I’ve visited, including Amazon. Hopefully a new printing will be made soon.

While looking at the website, I noticed I could order the book through O’Reilly.com. It didn’t say it was sold out, and it wasn’t $100 for a used copy, so I ordered it, and then promptly forgot about it.

I checked back a few weeks later. What’s the status of my order?

Order Status: BOOKED

What does that mean? Did the cool kids run into the guy who was carrying the order form and knock his folders and papers to the ground?

Seriously, though, if you don’t have the product, don’t try to sell it to me. I’m surprised no one has contacted me to say that they can’t fulfill my order. I’m going to send an email to sales support, but didn’t anyone notice that an order hadn’t been fulfilled yet?

[tags] marketing, business, books, game design [/tags]

Categories
Geek / Technical Marketing/Business Politics/Government

Digital Rights Management’s Victims: The Customers

From The Day the Music Died, I learned that Microsoft is pulling the plug on the servers used for verification of their MSN Music service. Even Wired repots that Microsoft is pulling support for MSN Music DRM.

So what happens on August 31, 2008? On that day, Microsoft will turn off the servers that they maintain for the sole purpose of validating that the songs that people have already “purchased” through MSN Music are still theirs to play. Those people (hereafter “the victims”) will not notice the change right away. The victims will only notice it when they purchase a new computer, or when they upgrade the operating system on their current computer, or when the hard drive in their computer dies and needs to be rebuilt/reinstalled. At that point — transferring the music files they have “purchased” to another drive or a new computer — the Microsoft music player running on the victim’s PC (like iTunes, but all Microsoft-y instead of Apple-y) will make a call to Microsoft’s validation servers to verify that the music files were legitimately purchased. This call will fail, since the servers are not responding, since Microsoft has intentionally turned them off. The Microsoft music player will then conclude, incorrectly but steadfastly, that the music files were downloaded illegally and that the victim is a filthy pirate, and it will refuse to play them. In this case, the left hand knows exactly what the right hand is doing: they’re both giving you the finger.

One of the arguments against so-called digital rights management is that if the software developer goes under, you no longer have access to your supposedly purchased products. As a counter argument, it has been suggested that companies such as Microsoft, Apple, and Valve won’t be going away anytime soon.

And we can see that it doesn’t matter if they are still around. You are paying them and hoping that they don’t just decide one day to cut you off. In this case, Microsoft has given up the old and replaced it with the new, but hasn’t given you a way to transfer what you already paid for.

What should you do if you want to keep your music? As Sony advised its users to do when it closed down Sony Connect, you can burn CDs of your purchased tracks and re-rip them. Of course, this degrades sound quality because it forces the music through the encoding process twice.

When the only legitimate sources for music and software are saddled with DRM, is it any surprise that people search for a better product from illegitimate sources? I know that the people selling me music, movies, and software would love for me to pay them again and again for the same product, but where is my incentive to do so? What value do I receive in return for being a paying customer, doing things the right way, especially when illegal sources are providing a superior experience for me? And dealing with the hassles of DRM would make so much more sense if it actually prevented such illegal sources from existing. Since it doesn’t, it sounds like it is more about control of the customer than anything else.

Will we see a similar thing happen with Valve’s Steam? There are already anecdotal reports that people have been wrongfully banned from the service, cutting them off from access to the games they paid for. Will Valve come out with Steam 2.0, offer up the same products on the new service, and then cut off the old service with no way for existing customers to transfer their existing purchases? I doubt it, but then, you would think Microsoft wouldn’t have done it either. Regardless, the customer finds out who is in charge of his/her machine soon enough.

The EFF sent an open letter to Microsoft about this issue.

While this announcement has directly affected MSN Music customers, users of other Microsoft products (particularly current and prospective Zune customers) are deeply concerned as well. Your customers are forced to ask, “If Microsoft treats its MSN Music customers so shabbily, is there any reason to suppose that it will treat other customers any better?”

World famous chef Gordon Ramsay commented about British chefs who expect praise and awards for just showing up, “but don’t give enough attention to anything to do with the customer. But it’s really all about the customer. No one should ever forget that, no matter how great their sauces are.” Why should it be any different for any other industry?

[tags] digital rights management, msn music, business, video games, steam, valve [/tags]

Categories
Game Design Games Marketing/Business

Questions about GTA IV

Corvus has Some GTA IV Questions.

The controversial game has been blasted by the media, the government, and parents, while simultaneously being praised by video game reviewers and fans. While the game is generally about being a criminal in a sandbox environment, plenty of critics have argued that the “point of the game” is to earn points for killing cops and prostitutes. Anyone who has any passing familiarity with video games today knows that games don’t feature scores as ubiquitously as they once did, so such complaints tend to be dismissed as out of touch even if the concerns behind the complaints are valid. Namely, should this game BE so entertaining to such a large number of people?

Many people seem to think that Rockstar’s creation is the epitome of games as art. Corvus has some good questions about the supposed artistic expression of this game, focusing specifically on the infamous prostitutes.

Feel free to answer them, or argue, or just think about them for a while and make up your own mind what the answers to them mean about the franchise.

I would suggest you head over to his blog to see the questions for yourself. There is already a bit of conversation going, and many of the comments are insightful … or inciteful!

So tell me how GTA IV is social commentary, precisely. Tell me how the developers aren’t encouraging you to treat the women within the world like objects. Tell me how providing only the most base and vile of options in an interactive medium is art. Tell me how depicting an entire professional population as empty receptacles of man’s anger and hatred even comes close to the artistic expression of the Godfather movies. Tell me how my objection is to the portrayal of sex and not the atmosphere of violence in which it take place.

[tags] video games, gta iv, grand theft auto [/tags]

Categories
Game Design Game Development Games Marketing/Business

Casual Indie Game Development Blog Launched

Started by a game producer at Garage Games, The Casual Indie Game Development Blog aims to bring together casual games (games for everyone) and indie games (games by anyone).

From the post titled The Casual Indie Connection:

Developers are attracted to independent development and casual game development for many of the same reasons. Some developers see casual/indie game development as a stepping stone into heavier AAA development. Most in the casual and indie game spaces are there to stay (and grow).

Besides CasualGameBlogs.com, you now have CasualIndie.com. Hopefully there will be plenty of good development and design tips available, and I can’t wait to see who will do guest posts there. GameDev.net’s Drew Sikora has an article up encouraging more game developer blogs.

[tags] casual games, indie, game development, game blog [/tags]

Categories
Game Design Game Development Games Geek / Technical Marketing/Business

Indie Lessons from Sins of a Solar Empire Post-mortem

Gamasutra has the Sins of a Solar Empire post-mortem up. It’s always a treat to read what goes on behind the scenes at Stardock, a prominent indie developer/publisher, although I’ll admit that I was a bit confused by the writing.

A single unspoken decision made early in the Stardock / Ironclad partnership led to a host of positive results that might seem obvious in hindsight, but were not at all straight forward at the time.

Er…what was that unspoken decision? The What Went Right section lists a number of decisions, and they all sound like they were not only spoken but also written down as a formal agreement. Perhaps it was just a case of bad writing, but luckily all of the important points of the article offer some insight into the development of the game.

As for what went right, I think it can be summed up in two points.

  • Stardock and Ironclad worked together as a team rather than have a stereotypical publisher-developer relationship.
  • The game was made for the customers.

Stardock and Ironclad worked together on marketing and design. I think that the employees of Ironclad probably felt more invested in their project, especially since they did do much of the up front work on their own.

And as for the paying customer? The game was delayed to make it better. The hardware requirements were brought down to a sane level so that people other than those with the latest hardware could enjoy it. Copy protection was considered more of a hindrance to paying customers than anything else. It isn’t a game in a popular genre like MMO FPS/RTS, so making the game run on more hardware and making it easier for people to play it were really good decisions.

And it has been paying off. Hundreds of thousands of copies have sold, mostly online, in the first few weeks of release. The game is in retail stores now, so I imagine that sales have increased even more now that the game is much more easily available.

As for what went wrong, most of the issues raised deal with technical issues, such as providing lower-quality artificial intelligence or a single-player campaign due to a lack of time. One problem was a feature of the game that was removed due to the feedback coming from beta testers. I wish the post-mortem went into detail on this point. All I know is that the feature was considered “better left untouched”, but there was no information to suggest how they came to this conclusion.

Stardock wasn’t able to finish Impulse, their digital distribution platform. I’m not so sure it is a problem. Many people already have Steam, and Penny Arcade is releasing its game on Greenhouse. Not that I don’t think competition in this space is a good thing, but does everyone need their own platform?

From Stardock’s perspective, the experience on Sins of a Solar Empire cemented its commitment to ensuring that any games it publishes are developed by studios that view game design as an iterative, collaborative process where the strengths of both teams are combined.

So what can an indie game developer learn from the post-mortem?

  • Your paying customers matter more than the non-paying non-customers.

    As Stardock’s Brad Wardell said on piracy and PC gaming, people who actually buy your games don’t want to deal with the hassles of copy protection. Most of them don’t upgrade their hardware every few weeks. They also appreciate it if you put together a good game, even if it is delayed. If you focus on satisfying the customer, how can you go wrong?

  • Do it, then do it better.

    Ironclad spent a year working on prototypes to make sure that the game mechanics would work well before starting production in earnest. PopCap’s James Gwetzman also promotes prototype-heavy game development. Create a small prototype that is meant to be thrown away. It is better to learn early on that something isn’t fun or just doesn’t work than after millions of dollars and thousands of man-hours have been sunk into a project.

While Sins of a Solar Empire may be benefiting from a lack of competition from major titles, I am sure that the above two practices, focusing on the customer and iterating the game design, helped create a hit.

One side note: why isn’t there a game demo available? Or rather, why is news of it buried in the forums instead of the front page of the website? I mean, at least provide a link from the front page to let me know that it exists. The Sins of a Solar Empire demo does exist, so why not tell people who aren’t already on your forums?

[tags] post-mortem, video games, indie, game design, marketing [/tags]

Categories
Game Development Geek / Technical Linux Game Development Marketing/Business

Linux Game Development: GLIBC_2.4 Errors Solved

Last week, I wrote about the `GLIBC_2.4′ not found errors your game might get when an application built on a new distribution is run on an older distribution, such as Debian Stable and Slackware 11.

Judging from my search logs, this problem seems to be common enough to warrant a follow-up post. I have since solved the problem and haven’t added new dependencies, and it doesn’t involve using strange, mysterious scripts or older compilers.

In my last article, I referred to a compiler flag that was supposed to use a specific C++ ABI. I found some success with it, but it would add X11 dependencies to my libraries. Ideally you would like to remove these dependencies along with the dependency on GLIBC_2.4.

The Solution

While researching this issue, I found multiple websites referring to an entirely different compiler flag. This flag disables a feature that is specific to GLIBC_2.4 and higher, and so programs would no longer depend on 2.4 if the flag was used.

I spent way too much time trying to figure out what I was doing wrong when I discovered that each of these websites spelled the compiler flag wrong!

It is NOT -fnostack-protector! It is -fno-stack-protector!

In my custom library build scripts, I have:


export CC=gcc
export CXX=g++
export CFLAGS="-fno-stack-protector"
export CXXFLAGS="-fno-stack-protector"

In my game build script, I just add -fno-stack-protector to the beginning of my CFLAGS variable in the Makefile.

The Results

When my custom libraries are built using these flags, they no longer depended on GLIBC_2.4.

Unfortunately, I saw that libSDL did have a new dependency on libvga. I fixed that issue quickly enough! When I passed parameters to the configure script for libSDL, I added “–disable-video-svga”, and the dependency no longer exists.

If you’re curious, my full configure parameters for libSDL are:


--prefix=$LIB_DIR --enable-X11-shared --disable-rpath --disable-ipod --disable-video-directfb --enable-sdl-dlopen --disable-video-svga

where LIB_DIR points to wherever my project is installing the custom libs. If you’re curious about why I have custom libraries or how I chose these parameters, I can’t recommend Troy Hepfner’s Linux Game Development series enough.

GLIBC_2.4 No More!

By using the compiler flag -fno-stack-protector for my custom libraries and my game, I remove the dependency on GLIBC_2.4, allowing my game to run on newer systems and older systems alike. So far my beta testers inform me that my game continues to run fine on newer systems, and the people with older systems are now able to play my game, too.

If you’re concerned about what -fno-stack-protector does, it removes checks that help protect against stack-smashing attacks. Ideally if everyone was using up-to-date systems with stack protection on, you wouldn’t need to worry about trying to make your game run on older systems. If you are concerned about security, you could provide two binaries, one for the older systems and one for the newer systems, and have a script dynamically determine which to use.

For more information on this issue:

[tags] linux, game development, business, programming [/tags]

Categories
Game Development Geek / Technical Linux Game Development Marketing/Business

Linux Game Development: GLIBC_2.4 not found

The following describes a GNU/Linux game development problem I am still tackling have solved, although I’ve made progress and learned a lot. Hopefully the following information can be useful to you.

The Problem

A few weeks ago, one person informed me that Killer Kittens blew up on his Debian Stable machine:

./killerkittens.bin: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by ./killerkittens.bin)

Most of the dependency issues I’ve encountered involved changing flags used in my libraries, such as libSDL. Unfortunately, this issue was different. It was strange because I wasn’t sure why my game was depending on GLIBC_2.4 since I wasn’t explicitly linking to it.

Why This Problem Exists

Since then, I have learned that this is a common problem for GNU/Linux developers, especially when using C++. By default, the linker will use the latest versions of functions you are using. Let’s say that you used gcc v2.94 on your Red Hat 6.1 machine to create your binary years ago. It will link against version 1 of a function. Well, that binary will continue to run on newer systems since version 1 is kept around for backwards-compatibilty, which explains why older games such as Quake 3 Arena will still run just fine.

Now if you use your cutting-edge Ubuntu (8.04) Hardy Heron system to compile (I’m actually on 7.04), you’ll likely have gcc v4.1 or higher, along with its associated libraries. The linker will find version 2 of a function. That binary will work just fine on your system, and it will work just fine on systems that have been upgraded to use the latest libc libraries. The binary will NOT work on an older system, such as Debian Stable, which is still using version 1 functions. The binary will complain that it can’t find GLIBC_2.4 because Debian Stable may have only GLIBC_2.3.

Possible Solutions

To solve this problem, you could make GLIBC_2.4 a requirement to play your game, but frankly, it isn’t truly a requirement, and there is no reason why you should force your users to upgrade if they don’t have to. More likely, you will just cut off your potential audience. Even if you are releasing the source to your game so that your players can always recompile to get it to run on their system, people generally like games that work out of the box. It’s less effort, which means more of a chance for your game to stay on someone’s hard drive.

You could find an older distro and build your binaries on it, but you may not have a spare machine and may not want to go through the hassle. Also, even if you installed it on your current machine, why give up the power of your current updated system? Michael from Linux Game Publishing offered the following advice:

one extra thing I do – I build against a VERY old set of libraries. As in Red Hat 6.1. That is a ‘magic environment’ that ‘just works’ everywhere.

I would like to try setting up a sandbox environment on my system. I know you can setup a new filesystem and chroot to it, but I had trouble finding information on how to put one together. Since I wanted to release this game weeks ago, I decided against spending a lot of time learning how to do yet another thing to get something working just so I can do the thing I initially wanted to do. Look up Yak Shaving if you hadn’t heard of it before.

Hope!

One thing people told me to try was autopackage’s build tools apgcc and apg++. These are wrapper scripts around gcc/g++ that are used to get your binary to build using the older library symbols.

Hopes dashed!

I think they would have worked fine, but there was a problem with building the Kyra Sprite Engine. Building Kyra is supposed to produce two libraries, libengine and libkyra. For some reason, when I used apg++, it forgot to use files found in a util directory, and so it wouldn’t build the libraries. g++ worked just fine, but then I had a dependency on newer symbols. I spent a bit of time trying to figure out if it was a problem with apgcc/apg++ or a problem with Kyra. In either case, I didn’t want to deal with it longer than I had to, and I was getting a bit demoralized. I can’t use my regular compiler, and I can’t use the one tool that people have suggested to help solve this problem. Honestly, if it wasn’t for Kyra, which has been giving me headaches for the past few months, I bet everything would have been solved long ago, but to gut my project of this library would be a bit more work than I would like. There had to be a way to solve this issue.

When I read more about the C++ ABI Problem, I saw the following quote which gave me hope again:

GCC 3.4 is able to generate binaries with the GCC 3.2 ABI using a compiler switch.

A compiler switch? Seriously? After searching a bit and asking questions on IRC, I learned about the compiler flag -fabi-version. According to C++ Standard Library ABI:

Changes to the default compiler option for -fabi-version.

It is versioned as follows:

* gcc-3.0.x: (Error, not versioned)
* gcc-3.1.x: (Error, not versioned)
* gcc-3.2.x: -fabi-version=1
* gcc-3.3.x: -fabi-version=1
* gcc-3.4.x: -fabi-version=2

My installed compiler was gcc v4.1, and I found that passing in -fabi-version=1 by itself didn’t do anything that I could see. I did, however, install gcc-3.3 and g++-3.3, which also pulled down the appropriate stdc++ library. From my own tests, I learned that the compiler switch did nothing useful. So much for that research. Still, with the older compiler, I was able to get a working binary that should run on older systems.

Some Success!

Before switching to gcc-3.3/g++-3.3, I would get the following output from objdump -x libengine.so:


Version References:
required from libm.so.6:
0x0d696910 0x00 06 GLIBC_2.0
required from libgcc_s.so.1:
0x0b792650 0x00 10 GCC_3.0
0x0d696910 0x00 05 GLIBC_2.0
required from libstdc++.so.6:
0x056bafd3 0x00 07 CXXABI_1.3
0x08922974 0x00 03 GLIBCXX_3.4
required from libc.so.6:
0x0d696914 0x00 09 GLIBC_2.4
0x0d696911 0x00 08 GLIBC_2.1
0x09691f73 0x00 04 GLIBC_2.1.3
0x0d696910 0x00 02 GLIBC_2.0

After using the older compiler version:


Version References:
required from libm.so.6:
0x0d696910 0x00 06 GLIBC_2.0
required from libgcc_s.so.1:
0x0b792650 0x00 09 GCC_3.0
0x0d696910 0x00 05 GLIBC_2.0
required from libstdc++.so.5:
0x081a2972 0x00 07 GLIBCPP_3.2
0x056bafd2 0x00 04 CXXABI_1.2
required from libc.so.6:
0x0d696911 0x00 08 GLIBC_2.1
0x09691f73 0x00 03 GLIBC_2.1.3
0x0d696910 0x00 02 GLIBC_2.0

Now I can package up my game and expect that it should run on older systems without a problem. You should expect that most of your players will be running a system with GLIBC_2.3 or GLIBC_2.4, so targeting the former should still allow your project to run on the latter.

Your distribution should also allow you to install multiple versions of gcc and g++. To implement these changes, I simply made sure that I changed my build scripts to use CC=gcc-3.3 and CXX=g++-3.3. My game’s binary and each of the custom-built libraries, including Kyra, no longer depend on the newer symbols.

Not a Full Solution…

Unfortunately, now my custom libSDL has a dependency on libX11 and libXext, even though I am still passing in –enable-X11-shared, which is what I used when I was using gcc-4.1. I learned why when I read the changelog:

SDL 1.2.11 Release Notes

– Dynamic X11 loading is only enabled with gcc 4 supporting -fvisibility=hidden. This fixes crashes related to symbol collisions, and allows building on Solaris and IRIX.

Unfortunately, SDL 1.2.11 was also the release that builds the way you would expect. That is, 1.2.10 does not provide a configure script, and so downgrading to it isn’t going to be a simple matter. If I keep 1.2.11 or even use the latest stable version, 1.2.13, I still have to deal with dependencies if I use gcc-3.3 to get rid of GLIBC_2.4. If I use apgcc, I have to deal with Kyra not building, which requires working on Kyra to fix it or working on my game to get rid of Kyra. Someone on IRC did suggest that Kyra’s build scripts or the code itself might conditionally rely on “gcc” being used, so that’s where I will investigate next.

If you are not using Kyra, however, I imagine the above information should solve any GLIBC_2.4 dependency issues you may have, but you now have to deal with libX11 issues. In fact, if you’re not using Kyra, then the apgcc/apg++ solution should work for you. Once I solve this problem, I will write a follow-up article explaining how I did so.

In the meantime, I did find this post by Gerry JJ about a script he wrote based on apgcc. I’ll have to check out his apgcc-derived script later.

For more info on this issue:

[tags]linux, game development, business, programming [/tags]

Categories
Games Marketing/Business

Why Would You Buy an XBox 360 Again?

One of the things we talked about on the Chicago Game Developer Gathering panel was underserved markets. I didn’t get an opportunity to mention it at the time, but even if you assume that the current generation of consoles is meeting the demand, which it generally isn’t, you wouldn’t be able to play their offerings anyway.

If you don’t already own a Wii, you won’t anytime soon. Somehow Nintendo has had a supply problem for over a year now, which makes it impossible to find in stores unless you want to be that creepy person who is ALWAYS at Game Stop.
The PS3 is a great BluRay player that also happens to play a few games.
The XBox 360 and Live Arcade would be great…if the hardware wasn’t so flaky.

Seriously, 1 out of 3 XBox 360s have a hardware problem, and it sounds like someone needs to introduce Microsoft to Six Sigma. There have been reports that people have sent Microsoft their busted 360s only to get a new one back, which also ends up malfunctioning one-third of the time. Sometimes it isn’t a new one that gets sent back but a refurbished one…you know, one of the malfunctioning ones that people have sent in the first place.

And then there is Kevin, who has to deal not only with Microsoft’s support for the hardware but also has to deal with it’s so-called DRM.

The Consumerist’s Microsoft Has No Answer For Their Broken XBOX Live DRM summarizedthe story so far and allowed Kevin to gripe about his experience. See, Kevin also suffered the Red Ring of Death, and he sent the machine in and received a new one. A new machine, with a new serial number.

So what’s the problem? Well, Kevin had purchased a lot of content from XBox Live, which is tied to his ORIGINAL XBox 360 and won’t run on his new one, even though he owns it. Microsoft has done a horrible job of providing support for Kevin, too.

This new replacement console has a different serial number and as a result all of my downloaded content only works now when the purchasing profile is signed into Xbox live. Additional profiles on the system can no longer access the content. I can no longer access the content when I’m not signed into Xbox Live. So any internet issues with my system or Xbox Live (which experienced serious problems for most of last month) means I can no longer use the items I have purchased. As far as I’m concerned since the functionality I had before is now crippled my console has not been repaired.

My Atari 2600 still works. I have an original GameBoy that still runs. Is there a reason why consoles of this last generation are such a risk for the customer to purchase? You’re being asked to pay hundreds of dollars just for the system, and you have no realistic expectation that it will JUST WORK?

I was looking forward to getting a Wii, but I wanted to wait because the last time I purchased a console, I bought it one month before a price drop. I figured I would be able to purchase another game with the savings if I waited it out this time. Well, the Wii is in such high demand and has such a hard time fulfilling it that the price drop isn’t going to come anytime soon. I know some people have had hardware failures with the Wii as well, but I believe Nintendo has been better about making sure such problems don’t continue years into the Wii’s life. I have heard that there has been a lack of games for the system, but as I don’t own one yet, I haven’t done much research.

The PS3…well, I can’t recall getting excited about anything regarding this machine. I was in a Game Stop recently and was watching some kid play Super Smash Bros Brawl. I kept hearing a loud whirring noise, and when I turned to look, I realized I was hearing the PS3 on display. That thing is loud! If anything was ever a candidate for liquid cooling, this was it. Frankly, even if I was interested in any of the handful of games available for it, my wallet is protected by the Geneva Conventions for the kind of torture I would need to put it through to afford it.

So that leaves the XBox 360, which I think would make for a great system to own. XBLA alone would be worth it. Unfortunately, I can’t trust that the system I buy will actually work, especially not for the price. I only have a 66% chance that I will be able to play games on it, and that’s assuming that it doesn’t fail a few months down the road. If it does fail, I have no guarantee that Microsoft will stand behind it. I know one person who has had to return his machine 4 different times. He purchased a second machine because he didn’t want to wait for his first one to get fixed, and that machine also failed eventually. And if Kevin’s story is any indication, Microsoft’s DRM does more to lock you out of your purchases than anything else. What kind of value add is that?

With all of the problems with the console industry, why is anyone ringing the death knell for the PC as a gaming platform? A desktop computer seems the be the most stable “next-gen” platform out there, and there aren’t any supply problems preventing me from owning one. There isn’t a shortage of games, either.

[tags] xbox, xbox 360, ps3, wii, games, video games, market [/tags]

Categories
Game Development Games Geek / Technical Linux Game Development Marketing/Business

Why I Can’t Use Flash for Game Development

People everywhere love Flash. It has become the Web’s de facto standard for all manner of interfaces. From simple menus to full-blown games, you can bet that Flash is there. It has been called one of the best prototyping tools available, and game designers love it because they don’t need to be computer science graduates to use it. Most people browsing the web today have a Flash plugin installed, making it a fairly ubiquitous platform.

With all of these things going for it, why won’t I use it?

Because if I can’t even watch YouTube videos without it crashing Firefox on my Ubuntu system, then it can’t be that ubiquitous.

I thought the problem was that I was using an older version of Flash. I checked, and sure enough, there was a newer version available. I downloaded it, installed it, and put it through its paces. That is, went to YouTube and watched a few videos. Sometimes all I do is click a link to load a new page while a video is playing on the old page, and the next thing I know, I need to manually kill Firefox because it stops responding.

It doesn’t happen each time I watch a video, but it does happen often enough to be a source of frustration. Everything else on my system seems to be pretty stable. It’s just Flash support that isn’t.

It isn’t a consistent problem for everyone. It seems that when someone else updated to the latest version, it worked fine, although it did have the side-effect of hogging a lot of system resources. I’d argue that this is a problem, too, but at least it isn’t freezing Firefox for this person anymore.

Recently, Adobe announced it had joined the Linux Foundation “to collaborate on the advancement of Linux as a leading platform for rich Internet applications (RIA) and Web 2.0 technologies.” With people complaining that 64-bit Flash isn’t available and with the existing 32-bit version being too buggy for doing things as simple and as common as watching videos on YouTube, I’m curious how much progress will get made. It seems that almost everything available for Linux on Adobe’s site is “alpha-quality”, with a link to get the already-stable Windows or Mac version.

In any case, until Flash becomes more stable for Linux users, I have to look to other technologies to provide a more consistent experience across platforms. Java applets should be a better proposition, and languages such as Processing make it friendlier for prototyping. And since OpenJDK is Sun-supported, I can’t see it crashing as randomly as Flash does. Unfortunately, it seems that Java isn’t on as many systems as Flash is, and asking someone to download a plugin if it isn’t already installed is just asking too much if you are trying to attract the casual player.

I’d love to use Flash. It’s not a bad technology. It’s just disappointing that Linux support is so inconsistent. If I am going to make web games, I am definitely not going to use something that results in games that I can’t even play.

[tags] video games, game development, linux, flash, java, business [/tags]

Categories
Game Design Game Development Games Marketing/Business

Griefers and Online Games

Thanks to David Edery, I learned about an article on Gamasutra about fixing online gaming idiocy.

Bill Fulton wrote about the problems with griefers as well as people who are just plain rude.

Why do I care? Some gamers might be thinking “If he’s so thin-skinned that he can’t take the online banter, maybe he shouldn’t play online.” Unfortunately, many people do just that — they stop playing online.

…

Because the online behavior of our customers is dramatically reducing our sales, and continues to stunt the growth of our industry. Non-gamers simply don’t love games enough to put up with the crap they get online. The reason they would consider playing online is to have fun with other people — and right now, playing games online with strangers rarely delivers that for anyone outside the hardcore demographic.

If you’re not familiar with griefers, read Wired’s Mutilated Furries, Flying Phalluses: Put the Blame on Griefers, the Sociopaths of the Virtual World, as well as The Escapist’s 19th issue, Griefer Nation.

If you are familiar with griefers or at least the problems they can cause your online game, you might wonder what can be done about it. You don’t even need to have an MMO to deal with such issues. If your game includes a high score list that automatically gets published to a website, you may find your list the victim of griefers. A recent posting on PuppyGames.net puts future troublemakers on notice:

Now hear this: the online hiscores table is viewed by children and we’re really not going to accept any more of this stuff any longer. You will find yourself banned permanently (and all of your hiscores deleted permanently too) if you abuse the facility.

Fulton argued that yes, it is possible to solve this problem by designing the social environment and culture. He talked about changes that were made to Shadowrun to discourage griefing, and I think it is an encouraging article.

[tags] video games, business, griefing, game development, game design [/tags]