Categories
Game Development Games Geek / Technical Linux Game Development

Download Ryan “icculus” Gordon’s Speech at UCLUG

Thanks to LinuxGames.com, I learned that you can now download the icculus UCLUG speech audio files.

If you don’t know, Ryan Gordon is a Loki alumnus who is well-known as the guy who ports commercial games to GNU/Linux. I liked hearing him on FLOSS Weekly a few years back. You can download the audio for that show at http://twit.tv/floss8.

The Upstate Carolina Linux Users Group had a few talks, and Ryan’s talk starts around 35 minutes into the almost 3 hour audio file.

How many of you think of yourselves as game developers? Alright. A lot more of you should be raising your hands. A lot more of you are game developers than you think you are.

He takes you through a very brief history of Linux-based gaming, from Cracked.com to Loki to Vicarious Visions. He talks about Loki’s business model, which was porting existing, shipped Windows titles to Linux. I wrote about the problem with this model in Why Aren’t There More Linux-Using Gamers?, and Ryan mentions how low the interest is for people to buy the games they already purchased. He describes how Linux-based game servers became popular compared to the unreliable Windows servers. He talks about APIs such as OpenAL and SDL, which is a Google Summer of Code project.

He also talks about the false perception that Linux users don’t respect intellectual property, and false impressions about Linux users in general.

He finishes the talk by asking developers to teach other people how to develop. After all, the ability to create something, whether it is a game or not, whether it is on Windows or GNU/Linux, is great. The Q & A session at the end is also fascinating.

You can find the links to the MP3 or OGG files at icculus.org.

[tags] linux games, game development, video games [/tags]

Categories
Game Development Personal Development

Thousander Club Update: April 14th

For this week’s Thousander Club update:

Game Hours: 409.25(previous two years) + 42.5 (current year) = 451.75 / 1000
Game Ideas: 710 (previous two years) + 35 (current year) = 745 / 1000

I finally managed to fix the major problem I had with Killer Kittens. It wouldn’t run on older systems because it depended on newer GLIBC versions, and it seems that gcc and glibc developers have made it difficult to have a universal binary available.

Well, it wasn’t that difficult. Once again, it was just a matter of learning about something I didn’t know existed before. I can package up my game and send it off to the beta testers who had encountered a GLIBC_2.4 dependency problem. Soon I can release my game to the public.

After I have a finished game out there, I can start worrying about making it better. I have a received a lot of feedback, some of it related to game play and some of it related to technical issues. One issue was that my game runs at 1024×768, but because there was no in-game fullscreen mode option, people with displays at 1024×768 found that the bottom of the window would get cut off by the edge of the desktop. I figure I should change the game to use 800×600 instead, but I should also provide an in-game fullscreen option. You could edit a config file to make it run in fullscreen, but it should be easier to do from within the game itself. And even if I don’t provide the fullscreen mode option, I can move the menu options to the center of the screen so that players can see them even if they do end up with a window that takes up the entire screen and won’t fit.

One concern I keep wrestling with is whether or not I should release the game with the intent to make it better later. The game is long overdue, and so I would love to get it out to the public sooner rather than later. On the other hand, I would rather have a polished game as my first public release. One of the common bits of feedback I got was related to the poor quality graphics, which was just programmer art that I always meant to replace. Still, I wanted to release v1.0 over a month ago, and if I keep finding reasons to delay, won’t it just mean that I’ve never finished this game? A finished game is much better than a game no one ever sees, but if the finished game isn’t of high quality, what does that say about me as the developer?

[tags]game, game design, productivity, personal development, video game development, indie[/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]

Categories
Game Design Game Development Games Linux Game Development Marketing/Business

CGDG Video Recap is Up

Thanks to the Game Development Society of DeVry DuPage, the video recap of the Chicago Game Developer Gathering is up, so if you missed the event, you can now un-miss it.

It is split into 10 separate videos, and you can see the first one below. I hope a single video can be released as well.

Wow, I sound weird. Maybe I should join Toastmasters.

Categories
Game Development Personal Development

Thousander Club Update: April 7th

For this week’s Thousander Club update:

Game Hours: 409.25(previous two years) + 40.25 (current year) = 449.5 / 1000
Game Ideas: 710 (previous two years) + 35 (current year) = 745 / 1000

A project at the day job has been taking up a lot of my time, so I hadn’t been able to dedicate much of it to my own projects. So far, I have found that trying to get Killer Kittens to build with AutoPackage‘s apgcc/apg++ is not going to work, and once again, it is due to a problem with the Kyra Sprite Engine. For some reason, when I compile with gcc/g++, it builds just fine, but when I use apgcc/apg++, it somehow loses everything in its util directory so that I get undefined references when trying to build anything based on libengine.

Every other library builds just fine. Why doesn’t Kyra just work correctly? I don’t know. I’ve spent a few hours trying to find out, and this is maybe the fifth time I’ve found a reason to stop using Kyra.

I was hoping to have released my game by now, so I didn’t think that my time would be well-spent trying to get rid of Kyra. Now I think it just might be. Let this be a lesson: use mature tools unless you want to spend a lot of time maintaining them yourself.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Game Design Game Development Games Linux Game Development Marketing/Business

Chicago Game Developer Gathering Pictures and Recap Are Up

The Chicago Game Developer Gathering has posted pictures and a recap of the event. There is also a new web forum.

UPDATE 4/1/2008
The forum, pictures and recap are live! We are wrapping up some editing of the video footage and will be posting that soon as well.

The forums already have a few threads in them, including links to games people want feedback on, info on how to start your own business, and a notice about a LAN party coming up.

Check all of it out at Chicago Game Developer Gathering website.

[tags] video games, game development, indie, business [/tags]

Categories
Game Development Linux Game Development Personal Development

Thousander Club Update: March 31st

For this week’s Thousander Club update:

Game Hours: 409.25(previous two years) + 37 (current year) = 446.25 / 1000
Game Ideas: 710 (previous two years) + 35 (current year) = 745 / 1000

I tend to hear a lot of excuses for why people won’t develop games for a Linux-based platform. There’s too many different distributions, and it would be a nightmare to support them all. Why would I go through the herculean effort to port a game for such a small market? Linux users don’t pay for software.

To answer the last two questions, read Why Aren’t There More Linux Using Gamers?. To summarize: they exist. They just need more games.

So if the porting effort is worth it, the big issue is supporting all of the different distributions. If we take a look at DistroWatch.com, you’ll see over 300 different names for distributions! Even a major publisher wouldn’t have the resources to test their games against each one, especially when you take into account the different hardware combinations running all of them! It’s enough to make people thankful that there are only 5 different versions of Windows Vista!

The truth is, though, that each of those distributions is just a name for the same OS in different configurations. And you don’t really need to make sure that your game runs on Debian, Mint, Ubuntu, Kubuntu, Xubuntu, Fluxbuntu, Mythbuntu, and Edubuntu. You don’t need to worry about the differences between Fedora and Mandriva. You don’t need to worry about someone rolling their own. If you really want to worry about the differences between distributions, then focus on the types of distributions, such as dpkg/apt-based distros versus RPM-based distros.

If you think about it, if you are making your game for Windows, you’re not concerned about WindowsCE usually. No one freaks out that they won’t be able to support it. They just don’t. For some reason when it comes to porting to Linux, all of a sudden they are including distributions that are meant to run routers or embedded devices when they complain about supporting too many distros. It’s silly.

In my own experience with my current beta testing of Killer Kittens from Katis Minor, I’m finding that most of the problems with making sure my game runs on everyone’s systems are bugs. Not their bugs. My game’s bugs. My game had a dependency on a library on MY system when it should either provide that dependency or not depend on it at all. My game assumed that the dimensions of the screen would be large enough to support it in windowed mode when some people had desktops with the same resolution or smaller.

These kinds of problems aren’t unique to GNU/Linux, either. Windows games that run at 1024×768 won’t look right on systems with a max resolution desktop of 1024×768 unless the game supports fullscreen mode. How many times have you seen someone pass around a work in progress game only to find that it won’t run because it wasn’t able to find MSCVC2005.DLL or some other DLL?

That isn’t to say that developing for Linux-based platforms doesn’t have its own unique challenges. But then, so does the Mac, and people have no problem porting their games there. After all, Mac users pay for software.

But we already pointed out that Linux users do, too.

I’m not saying that making your game portable across three systems is easy, but if you can already acknowledge that making it portable between Windows and Mac is worth the effort, how much more effort can it be to make it work on a third platform? It seems to me that it isn’t that much harder to make a game portable between all three systems, especially from the beginning. So why not?

In any case, I’m getting plenty of feedback from the beta testers. Some of them are using Debian and Ubuntu. Some are using 64-bit versions of these systems. Some are using Slackware. Some are using Red Hat. One person built his own distro. When I find out that my game doesn’t run on one of their systems, I just fix the bug. I’m trying to make this game so that it Just Works, and I’m not going to whine about how hard it is to do it. Whining isn’t very productive. I’ll reap the rewards for my efforts. Whiners will just have a significant number of people who can’t play their games.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Game Design Game Development Games Marketing/Business

Chicago Game Developer Gathering Panel

Last night’s panel was fun, and I think everyone got a lot out of it. My throat is a bit sore from doing so much talking. I think everyone should be glad the time was limited because I felt like I could have kept talking about video games and the business of making them for much longer.

It’s exciting to see so many students interested in game development as a career. When I was going to college, the game development curriculum was just getting launched, and game development was kind of the black sheep of software development. The feeling I always got was “You COULD work in games, but you can also get a REAL job”. Sure, some of my friends knew how cool it could be, but most people didn’t think of making video games as any more of a job than doodling in a notebook. Being interested in game development, I let it become nothing more than a hobby for a long time. At this event, you could feel the enthusiasm in the room after the formal panel was finished. These were people who wanted to make games.

The panel participants covered a wide range of topics. We touched on business, legal, and accounting concerns, such as what business entity to form and the importance of copyright, trademark, and patent laws. We talked about targeting niche markets and how to sell games to them. We talked about the problems with the video game industry as a whole, gender inclusive game design and development, and the market for people who don’t know that they play video games or might like to do so.

I learned later that the supposedly mundane topics focusing on legal and business matters were the most interesting to the students. I think this is great news. When I was first thinking about getting into the video game industry, I assumed I would have to work for a company like Nintendo. Later I figured I’d work at Midway or Konami (they used to have an office outside of Chicago). It was only recently that I realized that I could start my own company, and here was a room full of people who are contemplating doing so!

Since this event was such a success, it looks like the Chicago Game Developer Gathering will be a regular meetup. I think Chicago game developers need more opportunities to connect with each other. San Diego and San Francisco have healthy and active IGDA chapters, but Chicago’s game companies have always seemed unfriendly and less open. Hopefully the CGDG can help Chicago be the game development hub it can be.

Categories
Game Design Game Development Games Marketing/Business

Chicago Game Developer Gathering Today

This post is a reminder that the Chicago Game Developer Gathering is tonight. The panel of indie developers will discuss what it takes to start (and run) a business, how they create games, and what lessons they can share.

I’ll be joined on the panel with Mike Boeh of Retro64, Shawn Recinto of Immersive Realms, and Chauncy Hollingsworth of Zephyr Syndicate. When I participated in the conference call to talk about the panel, it’s obvious that everyone is excited about this event.

Hopefully you’re one of the many people who have registered for it, and I hope to see you there! If you’re not one of those people, I was told that there will be notes and photos up within a few days, and a video should be up a week or so later.

[tags]indie, video games, business[/tags]