Categories
Geek / Technical General

CAN HAS LOLCODE? AWSUM THX

If you have ever seen those pictures of cats with text superimposed over and if you are a programmer, you may appreciate a new language called LOLCODE.

LOLCODE is programming the LOL way. Every block starts with the keyword “HAI” and ends with “KTHXBYE”. There is a list of keywords on the website as well as some example code.

Here is the standard “HAI WORLD” program in LOLCODE:


HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Here is something I wrote:


HAI
CAN HAS STDIO?
VISIBLE "IM IN UR TIMEZ"
VISIBLE "STEALN UR PRODUCTIVITYZ"
KTHXBYE

The language is still being formed, and people are making suggestions for syntax and constructs to be used in the language. LOLCODE on MONORAILS might even become the standard language of web development!

By the way, if you plan on doing something important for the next few days, don’t click on that pictures of cats link above.

Categories
Game Design Game Development Games General

Game Complexity and Player Expectations

In the May posting of Culture Clash, Matt Sakey wrote about teaching players what they can do in a game. Specifically, how do you let your players know what is possible and what isn’t?

I found that there is a big difference between people who play video games regularly and people who do not. If you set Space Invaders in front of either group, you’ll see that the ones who play video games regularly already know how to play. They’ll move and shoot pretty much how you expect. The group that does not play video games regularly, on the other hand, will give a poor performance. Basic skills such as moving the ship and shooting appear to be difficult tasks.

The people who play video games regularly will ask about power-ups and extra reserve ships and different weapon types. The people who do not play video games regularly will probably continue to be concerned with the mechanics of the game rather than even think about anything else that could complicate the task of “playing”.

People who play games regularly understand how games are expected to work; unfortunately, this existing knowledge also means that changes in how your games work might not be readily understood. The author noted that technical limitations forced games to limit what the player could do in order to prevent the game from being played in a way different than the designer/developer expected. If you were playing a first person shooter, you might notice that your rocket launchers never seemed to have an effect on the walls of a building. Realistically, you should be able to blow holes through walls and taking the fight elsewhere, but games generally weren’t designed to let you do so. If you could escape through such a hole, the map wouldn’t have been created to account for it, and you might fall through nothingness to your death. It would be considered a bug.

But if a game is created in which you are able to do all sorts of terraforming as a designed-for feature, how do you let your players know? People who play video games regularly don’t expect rocket launchers to do anything to the environment. People who play role-playing games don’t normally expect that their avatars, while able to smite down giants, can destroy wooden doors blocking their path simply by kicking at them.

Games are increasingly complex, sure, but the complexity is offset by greater freedom. They are becoming more like reality, in that many of the old checks – like limited or nonexistent physics in game worlds – are beginning to vanish. So yeah, it’s great for newbies. But oldbies are about to enter a period when games seem less accessible. If we don’t de-chunk, the old guard might miss out on some great game content because it simply will not occur to us that it’s available.

While the article focuses on the potential of new games to offer realistic choices for the player, I think something should be said about games that continue to put arbitrary restrictions on your actions. In real life, if I run into a group of enemies, and one of them might be bribed, I would still have the option of fighting all of them. In a game I played recently, I am able to cast powerful spells that destroy everyone in my path, and yet the game stopped me from doing the same action and getting the same effect just because I was expected to talk with a specific character instead of fighting him. Even when I tried to attack him, walls of fire would simply pass through this enemy without any effect. I was pulled out of the immersion and conscious of the idea that I was playing a game.

I don’t need the ability to decide to play solitaire or knit sweaters in the middle of a war zone in order to mimic the realistic choices I would have in a real war zone. I don’t need the ability to do such arbitrary actions. I do expect that firing a tank shell or grenade into a barn should cause some damage to the foundation. If these things pierce armor plating and destroy tanks, they should easily do damage to a rundown wooden structure. If it doesn’t get outright destroyed, it should have a nice fire going to scare out any enemies.

Categories
Game Development Personal Development

Thousander Club Update: May 28th

For this week’s Thousander Club update:

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

Edit: Hah, I didn’t get to update this entry before it got posted. After a couple of good productive weeks, I had a week in which I couldn’t do much of anything.

Categories
Games

Blogging About Games

Last week, Viridian found a cool blog involving a person’s experience with the Ultima series of games.

Blogging Ultima documents CageBlogger’s journey through the worlds of Britannia, starting from Akalabeth (or Ultima 0). He writes about what the games are like, giving his opinion on the coolness of certain features or the strangeness of the stories.

The only game I played in the entire series was Ultima IV for the NES, and I had two problems. One, I was too young to understand how to play it well. Collecting elements needed to cast spells was foreign to me, let alone the virtue system. Two, it was a rental. I had all of two days to play it.

It’s a fun blog to read through, and the links to the Richard Garriott chat sessions throughout the years are valuable pieces of video game history.

The existence of Blogging Ultima led me to think about similar blogs. What about a blog for the Wizardry series? The Prince of Persia games? Even Leisure Suit Larry or King’s Quest games would probably make for an interesting story for someone to play today. On consoles, there is Dragon Warrior and Final Fantasy.

I have the Wizardry Archives as well as Wizardry 8. I suppose I could always start up the blog myself. It would give me an excuse to actually finish those games. B-)

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.