Categories
Game Development Personal Development

Thousander Club Update: June 11th

For this week’s Thousander Club update:

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

I had a good start on Monday and Tuesday, refactoring my menu code. I wouldn’t have bothered, but I realized that I needed to add yet another menu to my game, and the existing code was just too complex. I’ve reduced some of the code duplication, but as I explored the code, I realized that I may need to change more than I originally thought.

I want to add configurable sound volume, various sound effects, and that darn instructions screen that people unknowingly request when they ask, “So, how do I play?”

Between playing Diablo 2 with friends, watching the United States play in the CONCACAF Gold Cup on television, and the day job, I’m surprised that I was as productive as I was. Perhaps I should make better use of my MythTV box and only watch the soccer games when I am too tired to work.

Categories
Games Geek / Technical

Did Nintendo Power Ruin My Game Playing Childhood?

As a child, I had an Atari 2600. I didn’t know about arcades filled with the original Asteroids, Space Invaders, Pac-man, and Berzerk. My first encounter with any of these games was on the Atari, and since I didn’t know how horrible the translation was (apparently Pac-man wasn’t very popular on the Atari), I was happy. Heck, I even liked E.T., but I recently found out that I am not alone.

When the Nintendo Entertainment System first arrived, I didn’t even blink. I heard about it, and I saw some news reports on television about how the system couldn’t stay in stores very long. I distinctly remember one segment called “Nuts for Nintendo” on what I believe was the news program 20/20. I turned to my younger sister and said dorkily proudly, “I’M not nuts for Nintendo!”

One day, while visiting our cousins, something was different. They had an Atari, too, and I expected to play Baseball, Combat, or Circus Atari. Instead, I saw some of the most amazing visuals ever. They were playing Super Mario Bros, and I distinctly remember saying “Woooow!” as I walked towards the screen.

I visited my cousins a lot that month.

Then I got my own NES.

Months later, my father informed me that one of his coworkers had a son who loved Nintendo, and this complete stranger let me borrow his copy of an issue of Nintendo Power. It was issue #4, with Link looking at a sleeping Zelda on the cover for Zelda II: The Adventures of Link. All I was thinking was, “Holy cow! There was a magazine for Nintendo!” Throughout my life, I would substitute something else for “Nintendo” in that sentence. It seems that literally every possible field has a magazine.

Anyway, I got a subscription myself, and I had it for years. I accidentally let my subscription run out right when Nintendo Power celebrated it’s 5 years/50th issue, so I had to purchase that magazine at the store. Occasionally, I received free strategy guides, including one for Ninja Gaiden that featured a section that explained how to turn a square piece of cloth into ninja headgear! Best Halloween Ever!

I never did like getting strategy guides for games I played, though. I always felt it was cheating if you sat with a book and ran through a game as quickly as possible. What kind of fun could it be to already know beforehand all of the secrets?

Yet, I had no qualms about reading the actual magazine, which usually featured hints, tips, and maps. The secret 1UP in the first level of Super Mario Bros, the way to get a quadruple match in Dr. Mario, and the entire layout of Maniac Mansion (although the statue in the maps was never in the NES game) were just a few of the things I learned from Nintendo Power.

Today, without Nintendo Power and without something to substitute for it, if I play something such as New Super Mario Bros, I notice something different. I’m exploring an entirely new world. Everything is new. I had no foreknowledge of anything in the game.

And it was fun.

But wasn’t I having fun before? I avoided strategy guides, but I learned a decent amount about games before I played them. I still had fun, and it wasn’t as if I was reading about the end of mystery novels before reading the books. Still, wasn’t part of the fun supposed to be that you were exploring a strange new world? Wouldn’t Super Mario Bros 3 have been more fun to play if I didn’t already know where the warp whistles were located?

Today, players have access to game walk-throughs, cheat codes, and more from the World Wide Web. I’ll accept that some people prefer to blast through games as quickly as possible. I remember people in school talking about how they finished Super Mario World in a matter of days, only to be told that someone else finished it in one day. Well, yeah, if you knew about taking the Star Road straight to Bowser’s castle, you could easily finish it within hours!

In high school, I mentioned that I finished Super Mario 64 and obtained all 120 stars. Someone said, “Oh, you used a strategy guide.” No, I didn’t! Why would you say that?

“I heard that you can’t find all 120 stars unless you use a strategy guide.” That’s absurd! Of course you could find all 120 stars without a strategy guide! Otherwise it would be a crappy game!

My victory, my work, my efforts…they mean nothing to anyone else because anyone could do the same thing by using walk-throughs and strategy guides, and they will assume that you did, too.

It is well known that Shigeru Miyamoto was inspired to make The Legend of Zelda by exploring the area around Kyoto. He didn’t read a map, note the landmarks, and then start looking for those landmarks. He stumbled across things like lakes and caves on his own. Everything was a surprise and a lot of fun. And yet, how many people opted to play with a map, a walk-through, and some tips they learned from Nintendo Power? How many people essentially asked for directions before “exploring” the countryside near Kyoto?

Of course, people look up famous landmarks before going to experience them firsthand. Mt. Rushmore and the Leaning Tower of Pisa aren’t exactly things you happen to stumble upon. Still, isn’t it a lot of fun to walk the long way home from work and find out about a pizza place or small bookstore or a park that you didn’t know existed? It’s like finding a 1UP hiding in the sky before someone told you about it.

Categories
Games Geek / Technical

50 Weirdest Moments in PC Gaming

Thanks to GameSetWatch, I learned about an article about the 50 weirdest moments in PC Gaming. It listed a number of events, real or in-game, that were just plain strange. It’s an entertaining read, and I learned about some strange situations that I thought were relegated to the NES days. I always thought that PC games had lax restrictions compared to console games. Nintendo was particularly infamous for restricting content in games. Maniac Mansion had some entertaining problems getting the game approved by Nintendo, and I remember the fight between Nintendo and Sega fanboys when Mortal Kombat lacked blood for the SNES.

Even so, apparently PC games encounter similar problems, requiring changes to the game to accommodate different markets and gatekeepers. For example, #17 refers to the game Fallout in which the killable children had to be removed for the European market…only they weren’t really gone. #36 documents the problems Shadow Warrior had in the UK, which apparently does not like ninja paraphernalia.

The video near the end about the making of Bad Mojo was…interesting. I suppose the game would be interesting as well.

I would like to see a similar list for games that aren’t specifically for the PC. I’m sure such a list would include the strange marketing campaigns of Acclaim. While this list is being made, can we do a “Where are they now” feature to find out what happened to the people named Turok? They either have to be the most popular people in school today or the most teased.

Categories
Game Development Personal Development

Thousander Club Update: June 4th

For this week’s Thousander Club update:

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

I believe I have succeeded in creating a distributable build of Killer Kittens. Extracted, it is a little over 20MB, mostly due to the libraries included. The compressed file is about 8MB. I’m wondering if I can’t get the libSDL libraries to shrink down any more through configuration options. When I work on future projects, I think I will try to make sure I can get a distributable build as quickly as possible. I am spending too much time on this aspect instead of the actual game.

I’ve also added a new sound effect, and by doing so I realized some pieces of code were useless. For instance, when the game first starts up and brings you to the main menu, you hear the sound effect. It should only play when your ship is fading into existence. I found that I had a function called initializeSprites() that called a function initializeShip(). The problem is that the ship gets initialized when a new game is started, so I don’t need to create the player’s ship on program startup. I was going to try to split up the function so that the sound is played separately, but then I realized that the initializeShip() call in initializeSprites() was pointless.

While I have made some small progress, I can see the light at the end of the tunnel, and I’m getting impatient. More progress! More steam! Hoist the colors! I can’t do these sub-ten hour weeks and expect to get much accomplished.

Categories
Game Design Geek / Technical

300 Game Mechanics in 300 Days

While I’ve been fairly lax in coming up with 1000 game ideas for the Thousander Club, Sean Howard has set up a great challenge for himself. Three Hundred documents his attempt each day for 300 days to write about one original game mechanic that has never been used in a commercial game.

As of this writing, he is at mechanic #23, and I’ve found them all to be enjoyable to read. I love the ideas involving negative space and time splits. I think the easiest game to implement might be idea #21, Pellet Quest, which is a Pac-man as an RPG. Heck, he even created a map of the entire game world!

Unlike my game idea challenge in which I write one-liners, he is actually fleshing out details for each mechanic. You’ll probably find plenty to think about by visiting his page during these 300 days.

Categories
Game Development Linux Game Development

POTM for May: libSDL

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.

For the month of May, I chose to donate money to the Simple Directmedia Layer, the popular cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is currently at version 1.2, is widely used in games and other media applications, and has bindings to a large number of languages. If you run an operating system, it is very likely that libSDL runs on your system.

Sam Lantinga created the SDL while working at Loki, although there are some people who think he may have written it at his previous job. SDL acts as a thin wrapper over platform-specific APIs. For instance, if you use it on Windows, it wraps around DirectX, but if you use it on a distribution of Gnu/Linux or BSD, it will use XLib. If you think of it as an abstraction, you can code once and compile anywhere. In fact, my Killer Kittens from Katis Minor project can be compiled for my Debian system and for Windows without any code changes if you use a compiler that doesn’t assume you need WinMain to replace the main function.

The documentation is available at the main site, and I’ve always found the SDL Documentation Wiki to be useful. Of the books I’ve read, I would highly suggest Focus on SDL by Ernest Pazera and Programming Linux Games by John Hall. While both books a few years old, they are still relevant and can get you up to speed quickly. You can also find SDL used in the example code a couple of game programming books by Erik Yuzwa at Wazoo Enterprises.

If you are trying to figure out what libraries to use for your project, even if you aren’t thinking about porting it to a second platform, I would suggest libSDL. If all it does is provide a simple abstraction for DirectX libraries, you will still come out ahead, and if you want to port it later, it should be much easier than completely gutting platform-specific libraries and replacing them with another platform-specific library.

Thanks go to Sam Lantinga and the libSDL development community for making a simple-to-use, cross-platform, freely-available tool for game development!

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-)