Categories
Geek / Technical

Learn Skills, Not Applications

I meant to write about this item months ago, but this report concludes that open source is good for the economy.

Also, it includes this little gem:

The report also recommends that technical education should be vendor neutral. Students should be taught skills, not applications, and should be encouraged to participate in open source communities.

It is what I argue whenever I complain about game development books focusing on DirectX and Win32 instead of, you know, game development. B-)

Categories
Game Development Geek / Technical Linux Game Development Personal Development

Interview with Ryan “icculus” Gordon

Over at LinuxGames.com, I found Interview with the Icculus, a discussion with Ryan “icculus” Gordon on the future of game development on Gnu/Linux.

The best quote:

I guess you’re asking what Linux gaming will look like in five years and, in a roundabout way, I’m answering: whatever we make it look like.

Ryan is doing his part by putting in his efforts into the next version of libSDL, which seems to integrate more with OpenGL behind the scenes, as well as the reincarnation of the Loki Setup program, called MojoSetup.

I’m hoping that GBGames can also make a significant difference in the future of gaming on this platform.

Categories
Game Development Linux Game Development Personal Development

Thousander Club Update: May 21st

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 110.5 (current year) = 372.75 / 1000
Game Ideas: 616 (previous year) + 44 (current year) = 660 / 1000

I spent a good portion of this week reducing the dependencies Killer Kittens has. I followed the advice of Troy Hepfner, owner of My Game Company and creator of Dirk Dash. He outlined what to do in the article Game Developer’s Corner: Linux Game Development: Distributable Binaries which members of the Association of Shareware Professionals would have seen in the May 2007 issue of the ASPects newsletter. If you’re not currently a member of the ASP, you can join and obtain access to the back issues in the archive.

If you install a game, it should install any dependencies if you don’t have them. On Windows, you’ll see games that try to install the latest DirectX drivers, although there is room for improvement. If I already have a later version of DirectX, don’t offer to install an older one!

Anyway, ideally the game should be as easy as extract-and-run. I shouldn’t need to tell someone that they need libSDL-1.2 and libSDL_image-1.2. If someone doesn’t have the required libraries on his/her system, the game should supply its own version of the libraries.

But I don’t want to provide hundreds of libraries. Besides bloating the download size of my game to possibly tens or hundreds of megabytes, making it less likely someone would want to download it and increasing bandwidth costs, it would be a hassle for me to deal with!

My game currently depends upon libSDL and libSDL_image. Using Troy’s helpful information, I was able to reduce libSDL’s dependencies dramatically by creating a custom version. I built the Kyra Sprite Engine as a dynamic library according to the instructions in this post.

Unfortunately, I had problems getting Kyra to build using my custom SDL libraries. Also documented in that post, I found that building the Kyra Sprite Engine actually builds two libraries: libkyra and libengine.

I ran configure with the following arguments: –prefix=/home/gberardi/wc_KillerKittens/KillerKittens/lib –with-sdl-prefix=/home/gberardi/wc_KillerKittens/KillerKittens/lib/ –with-sdl-exec-prefix=/home/gberardi/wc_KillerKittens/KillerKittens/lib/

If I run ldd libkyra.so, I find that it uses the libraries in the KillerKittens/lib directory. If I run ldd libengine.so, however, I find that it uses the system-installed libraries, which also brings in all of their dependencies.

If I can get libengine to build using the same libraries as libkyra, I can get my dependencies down to a handful. I believe the problem lies with a faulty implementation of autotools and libtool, but those tools seem incredibly difficult to work with. As a (possibly half-serious) joke, it is said that most people don’t actually know how to use autotools and simply copy and paste configuration files from one project to the next.

I’ve asked for assistance on the The Linux Game Tome game dev forums as well as the Linux Game Development Center mailing list. While I wait for any response, I’m still hunting through the configure, configure.in, ltmain.sh, and various Makefile files, trying to determine why one library builds with the options I pass to it while the other does not.

On a different note, if you are going to be in Chicago on May 24th, you can come see the game development tech talk I will be giving for the DePaul Linux Community.

Categories
Game Design Games

You Play Like a Girl

I recently received Morning’s Wrath to review for Game Tunnel. I won’t talk about it much here, but I will say that it may be the first game I’ve played in which I had to take on the role of a female character.

If anything, it led to some interesting conversations. I was telling a friend of mine about the peculiar way non-player characters give you items. Someone overheard the following statements:

“So my boyfriend has locked himself in a room, and he’s casting a spell to let the Ashidians invade the castle. So I go to the Royal Engineer to get the key to the room, and he says that he is giving me the key. I start to walk away when I notice the key on the ground. For some reason, people don’t give you items. They throw them on the ground as if to say, ‘Hah! Go get it!’

I’m thinking, ‘You can’t treat me like this! I’m a princess!'”

I got a strange look from a nearby friend who walked into that part of the conversation.

On a more serious note, I find it interesting that I’ve never played a female protagonist until now. Specifically, I’ve never played a game in which the story revolved around being a heroine. Immediately, I’m introduced to my secret lover, and my character has a secret tryst with him to discuss their plans for the future together.

Wacky!

It reminded me of an article I read. In a past issue of The Escapist, Julianne Greer wrote about playing Dragon Warrior and her encounter with Princess Gwaelin. If you don’t know about that part of the game, you save the princess, and when you talk to her in the throne room, she asks if you love her. If you say no, she says the famous line, “But thou must!” and repeats the question. There is no getting out of it. You must love her. Fanfare plays. In fact, Gwaelin’s Love is actually an item you can use to communicate with her no matter where you are in the world.

When I played it, I didn’t even blink. When a heterosexual woman played the role of the hero, however, the response can be a bit different and awkward.

Now, I realize that videogames have been traditionally created for males. That has been the bread and butter demographic for games. But, with instances like the above, isn’t it a bit of a self-fulfilling prophecy? Yes, girls like romance and love and all that gooey stuff, but can’t there be a “Female Hero” button? Where you rescue Prince Gunther?

Playing the role of a female in Morning’s Wrath is interesting. It’s different. It was a new experience. It was fun.

But if all of the games I played required me to be a female, I can imagine being frustrated and unwanted. Clearly games wouldn’t be meant for me.

I remember as a child coming up with a game in which you can pick any of a number of characters to start out with, and depending upon who you picked, you would start your adventure in a different part of the world. Eventually, no matter who you picked, you would end up involved in the main story arc of the game. You would just do so from different points of view. You can start out as a thief in a big city or a poor farmer living with your parents. The thief may hear about some strange activities in a nearby village involving guild members getting shaken down. The farmer may just live too close for comfort to those same activities. Either way, the character you pick is now personally involved in the story, and throughout the game, the game caters to your chosen role.

Are there any games that already do what my childish creativity imagined years ago? If not, wouldn’t it be rather simple to make a game with a “Male Hero” and “Female Hero” button?

Categories
Game Development Marketing/Business

Runescape Founder Speaks

Gamasutra had an interview with popular MMO developer and Jagex founder Andrew Gower in Q&A: Behind RuneScape’s 1 Million Subscriber Success. If you don’t know, the largest MMO isn’t World of Warcraft but Runescape. Although WoW makes much more money in subscriptions. Runescape has many more people playing.

The developer created Runescape as a personal project. It was basically a MUD with graphics. It slowly evolved into the freely available MMO with subscription-exclusive content that you see today.

When asked about the demographics of the players, Gower said that Jagex doesn’t collect such information.

We’re actually more focused on our product than marketing

It’s counter-intuitive to think that an incredibly successful MMO was made without focusing on the marketing. If you have a business, you’re supposed to think about marketing before you make the game.

I haven’t played Runescape in a long time, but I do remember spending quite a few evenings developing my mining and cooking skills. Adventuring with friends was fun. And perhaps it is that network effect that makes it so successful. Once those friends stopped playing, I stopped playing. When your customers are enjoying themselves, they’ll call their friends to get them to join. You don’t have to spend your time telling people about the game if they are already finding out about it. If no one played Runescape and the developers still wanted to commercialize it, they’d probably spend more time on marketing than they do now.

Categories
Games Marketing/Business

Why Doesn’t Different Sell?

In The Escapist last week, Shannon Drake’s article Vision Doesn’t Sell Copies: The Short Life of Clover Studios talked about the development group within Capcom responsible for the games Viewtiful Joe 2, Okami, and God Hand. Clover Studios was created to “bring more originality to [Capcom’s] products, thus leading to higher profits and better brand recognition.”

I own Viewtiful Joe 2 for the GameCube. I haven’t played either Okami or God Hand, but they received some great reviews and awards.

It turned out that good reviews and awards don’t sell games. Or at least not “enough” games.

Capcom also made Dead Rising, which sold a million titles on a single platform, the Xbox 360. Viewtiful Joe 2 sold 61,000 copies on the GameCube and and 18,000 copies on the PS 2. If your business was making and selling games, which games would you direct your resources towards?

If you’ve played Viewtiful Joe 2, you would probably be as surprised as I was at these sales figures. Who hasn’t played it? Well, apparently a lot of people haven’t. I think the Dead Rising sales figures might have more to do with a lack of Xbox 360 games than with anything else. After all, the N64 had almost all of its launch titles sell over a million copies. The PS 2 has a lot of competition, and the GameCube has less. Still, selling thousands instead of millions can be disheartening.

Similarly, a number of people were surprised at the sales figures for Gish, Chronic Logic’s IGF Grand Prize-winning game about a ball of tar saving his girlfriend. It was innovative, it was fun, and yet it sold only a few thousand copies, most within the first two years of its release.

On the one hand, it is surprising that the game didn’t sell much better. With all of the publicity from the IGF awards, more people should have paid for a chance to see what an indie could do.

On the other hand, who could play it? I remember telling my friends about the game, making sure to note that it runs on Gnu/Linux. One of them complained that he couldn’t get it to run. It was jerky and slow. After talking to him over the phone, I found out that he had a very underpowered machine. “Oh, sorry. I just assumed a simple side-scroller wouldn’t require a lot of horsepower to run.”

A similar thing was happening with Dirk Dashing when a Gnu/Linux client was announced. A number of people complained on Gnu/Linux game sites about the need for hardware acceleration for what appears to be a simple side-scrolling platformer.

While those are problems of perception from players, and specifically people who don’t have modern, moderately powerful hardware for their Gnu/Linux machines, I’m sure that the hardware requirements couldn’t have hurt. Pretty much anyone meets the requirements for Bejeweled or Spiderweb Software’s games. Perhaps Gish was hurt because people couldn’t even run it. While the developers claim in their postmortem that leeches are “too smart” to pay for games, I am not so sure that you can pin a lot of blame on them. There are two benefits for the customer when you offer a demo. First, they can find out if they would even like the game. Some people didn’t like Gish, claiming it was too clunky to play. Second, they can find out if they can even play the game on their machines. If you’re still running a sub-1GHz processor, you’re out of luck.

It doesn’t explain what was wrong with Viewtiful Joe 2. You could walk into a store, pick up a copy of the game, and know that it will run on your console the way it was meant to be played. It received many more awards than Gish, including quite a few that the general gaming public would hear about. It sold hundreds of thousands of copies. And yet it is considered a failure.

Tadhg Kelly of particleblog wrote that perhaps games cost too much to make. Hundreds of thousands of copies should be good, and in other industries those kinds of numbers would be great. Of course, when one game about zombies sells millions, why don’t these original games sell better?

What happened to the “contrary to conventional wisdom” revelation that profitable games are not just clones and more-of-the-same? Wasn’t it something of a news item a year or two back that the most profitable games were original properties? Is it a problem of marketing? Perhaps Dead Rising and Lost Planet received much heavier support than Viewtiful Joe 2 or Okami from Capcom?

I’ve heard a few indies complain about the lack of sales for their innovative games as compared to their clone games or sequels to clone games. Almost always, I’ve looked at the innovative game and thought, “Yeah, it’s innovative, but it’s not very fun.”

I think there are a number of variables in play. Marketing may be lacking or even wrong, telling the players something that they don’t expect when they sit down to play the game. Perhaps the price isn’t right. Maybe the game itself isn’t as good as the players would like. But I have a hard time believing that players don’t like different or new in preference to clones and prettier versions of older games.

I guess a better question is, “Why haven’t I bought Gish yet?” I’m a potential customer, and I think it is fun. I know it runs on my machine just fine. So what is stopping me from pulling out my credit card and purchasing it?

I don’t know why I didn’t do so when it first came out. I remember playing the demo, and it was fun. Heck, multiplayer was fun, and I find it funny that you don’t hear more about that aspect of the game. More importantly, out of all of the games out there, it actually runs on Gnu/Linux. I review a lot of Windows-only games for Game Tunnel, so playing a game on my preferred OS, one of the reasons I want to make games myself, is ideal. There is no reason for me not to purchase it.

So I did. It is technically my first purchase of an indie title.

Maybe there is more to the customer’s inertia involved in a sale than I thought.

Categories
Game Development Personal Development

Thousander Club Update: May 14th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 101 (current year) = 363.25 / 1000
Game Ideas: 616 (previous year) + 33 (current year) = 649 / 1000

Last year, I was at only 85 hours. I know I could have done better this year, but at least my current hours show an improvement from last year’s effort. Hitting 100 hours in mid-May is better than hitting that same milestone in mid-June. Still, it would be nice to be two months ahead. Last year I hit 200 hours in October. Perhaps I can hit 200 hours in August instead. July would be even better. B-)

Categories
Game Development Personal Development

Thousander Club Update: May 7th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 96.75 (current year) = 359 / 1000
Game Ideas: 616 (previous year) + 33 (current year) = 649 / 1000

Monday and Tuesday: I took the time to look through my code and figure out the best way to implement temporary invulnerability. It was great because Tuesday morning I spent about 30 minutes actually coding the feature. I did it simply by hiding and showing the sprite. Later I implemented a way to earn an extra ship every 10,000 points.

I also threw in a cheat that lets me immediately destroy all of the aliens in a wave at once, earning all of the points for the kills. It is a lot easier to test that I can earn an extra ship if I didn’t have to play through four levels every time.

Wednesday: I tweaked a few variables to see if I can improve the feeling of the game a bit. I’ll have to do more experimentation here. I also added some string to the yarn balls to make it more obvious what they are. I added a difficulty menu, which was tougher to do than I thought. I need to overhaul the menu code.

Thursday: Added the different difficulty settings. I may have to change what actually makes one setting different from another, but at least someone can choose something easier or harder if they want.

That night, I transferred the game to my laptop so I can show off the new features to the people at the local LUG. I found out that temporary invulnerability didn’t look right. It must have something to do with either the LCD display or the refresh rate or the fact that the laptop is dual core. Whatever was the cause, the ship was either completely hidden or completely visible during the temporary invulnerability state, so it was definitely wrong. After a quick change to the code, the ship slowly fades back into view when invulnerable. Not only does it work on all machines, it looks much cooler! A similar problem was occurring with the yarn balls. They didn’t seem to rotate properly, and the trailing strings didn’t seem to flow. Friday night I attempted to fix it by not updating the animations as often.

The good news is that people were starting to recognize the yarn balls as yarn balls. B-)

I did get a few of the same < title="Do You Listen to Feature Requests: Previous Post" href="https://www.gbgames.com/blog/?p=621">requests, such as power-ups and shielding. I didn’t think it made too much sense to have shielding, but I thought of something better and funnier: flying fish. Fish with pilot hats. They fly across the screen, and when they get hit, maybe you have to catch them to get a power-up.

Friday morning I experimented with rapid fire. I just increased the speed of the player’s shot to see how well it played. It made the levels much easier, but it also seemed to make it more responsive. When the kittens are near the top of the screen, it just takes longer to shoot them, and so the action seems really slow. I don’t think I can make it a permanent change, but I can see providing a rapid fire power-up. Now I have a new decision to make: is rapid fire a temporary power-up, or do you get to keep it until you lose a ship? I suppose if I make it last until you lose a ship, I would need some other power-ups in the game as well.

At this point, I’m starting to think that these features can always go into v2.0. I could spend another few months just getting all of these features working properly, but I could have released the game and gotten a lot more feedback in those months.

Categories
Game Development General Marketing/Business

Indie Game Dev Podcast: Interview with BlitWise Productions

Action has released another interview, this time with Mike Welch of BlitWise Productions, creator of DX-Ball and Scorched Tanks.

Mike discussed the importance of author recognition, working with Seumas McNally on DX-Ball 2, and developing a community for his games. While he isn’t deeply involved with the game development community, he watches it, usually with amusement.

I enjoyed hearing his opinion on the difference between working with portals and working for yourself, particularly from a recognition point of view. He mentioned some of the unexpected letters he has received from fans of his games, stating that if his games were sold on portals he would never receive such letters or recognition.

Mike definitely sounds like an indie.

Categories
General Linux Game Development

POTM for April: Vim

The general idea of the Project of the Month is to donate some money to an open source project and write a blog post about it. Everyone knows about the major open source projects, such as the Linux kernel or Firefox, but there are plenty of examples of open source projects that impact you in some way that might not appear on most people’s radars.

This month I donated to Vim, the improved vi editor that I use for all sorts of text editing, including coding and configuration editing. The main developer is using all donated money to help AIDS victims in Uganda, which is both a great cause and motivates him to do more development.

While a lot of developers like Visual Studio, and some of those developers use SlickEdit or Code::Blocks as alternatives, I prefer using Vim. It’s a text editor that I can use whether I am at my desktop or logging in remotely. If I move to a different computer altogether, Vim is pretty much going to work as I expect it to. Without it, I might have to relearn a different editor when I am at home, at work, at a friend’s computer, or anywhere else.

I used to use Nano when I first started experimenting with Gnu/Linux since it was the most similar to other text editors, such as Notepad. Once I learned that there are some editors that are much more efficient, I decided to to learn Vi/Vim. Now editing files requires less key presses, and my fingers almost never have to move far from the home row. If I could find a Vim plugin for Firefox to allow me to use it as an alternative editor for text boxes in forms, I’d use it.

I also find that I am still learning ways to improve my efficiency with Vim. Recently the main developer gave a talk called “The Seven Habits of Effective Text Editing 2.0”. There is a video, which is a little longer than an hour, and slides with notes. While I knew some of the tips, some of them were only recently learned, and the talk had a few new tips that should make my future text editing much more efficient.

I do have to say that it can take some getting used to if you are not familiar with Vim. Having a command and visual mode separate from editing mode in a text editor might seem counterproductive, but once you get over that hurdle, you can be up and running in no time. Text editing becomes much more fun and productive.

Even if you don’t care much for Vim, you can also think about using its cursor keys as training for Nethack. B-)