Categories
Game Design

Less is More

Roads Gone Wild is an article about making roads safer by removing traffic signals and signs. I found it through Brian Marick’s agile development blog.

Roads have historically been built with the assumption that cars and pedestrians don’t mix. Seems like a sound assumption, right? No one really questioned it. Road signs were used to enforce driving patterns. For example, blinking red lights and stop signs require drivers to stop at an intersection. Also, streets and people were segregated, and so people felt safer walking in certain areas but not in others.

Traffic congestion is the result, but it was assumed that wider roads would alleviate the problem. Studies are showing that this is not the case and will only make matters worse.

There is a new trend to reduce the number of signs on roads. Instead of placing stop signs at intersections, an island can be placed in the center, and the drivers can navigate around it safely. I presume it is because drivers are much more engaged and don’t just space out while driving through. Whatever the case is, the big idea is that the physical features of the street, the architecture, can dictate traffic much better than traffic signals can.

The bonus side effect is that pedestrians and cyclists feel safer near major roadways. Businesses get attracted to these new markets, and now you have transportation mixed with local development. Previously, transportation and storefronts didn’t mix so it required a lot more space and therefore money.

So basically, good architecture influences behavior better than arbitrary rules. The requirement of a road sign can be an admission of the road designer’s failure to make a better road. Stop signs shouldn’t be necessary because a road can be architected to require people to stop in the first place.

It’s a cool idea, and I wonder how it applies to games. I’ve seen games that present a level layout that requires the use of a special item. For instance, in Super Mario World one of the first levels that allows you to collect the feather to give Mario the ability to fly also has a coin bonus area that requires you to fly to collect the coins. There doesn’t need to be a sign or clue. Players see a feather, see a ramp next to the incredibly tall pipe, and figure out that they need to run up the pipe and start flying to collect the coins. Similarly, in Wind Waker, when you get the leaf, it gives you the ability to blast a puff of air. When you see the rotating fans in a dungeon’s room, you know you can use the leaf here. There is no need for a sign or message to let you know what to do.

I think that most games do a good job of making level layouts intuitive, but I know that some games have placed markers or signs to guide the player. In reality, they probably weren’t necessary if the level was designed better. Obviously some markers are necessary for immersion, such as wooden signposts in a fantasy RPG. Others are used as optional tutorials, such as the signs in Super Mario 64. But some might be used to make up for deficiencies in the game itself.

If anything, it should give a game designer some pause if he/she realizes that a marker is getting added to compensate for a bad design. Provide hints to the gamer instead of rules. Cracks in a wall indicate a possible cave to explore. A player should be able to place a bomb or smash through. On the other hand, if the game requires the player to set some “I-know-about-the-hidden-cave” variable before a bomb will be effective or the cracks in the wall visible, that’s just bad and arbitrary.

Categories
Games Geek / Technical

Casual Games Article in The Escapist

Casual Fortunes: Getting Rich Slowly With Casual Games talks about casual games and mentions Steve Pavlina’s Dexterity Software, Thomas Warfield, and David Dobson among other developers. It even mentions the Indie Gamer Forums and Game Tunnel!

Categories
Geek / Technical Politics/Government

MS Vista Anti-Piracy: Wow, What B.S.

Well, here’s MS Vista’s anti-customer restrictions explained.

So apparently if you buy a DVD, and Vista doesn’t like your HD-television (read: you didn’t buy a newer one), it will decide you don’t get to make use of high definition quality video. I already knew I didn’t like the digital restrictions management that Windows Media Player made use of. Now Hollywood and Microsoft get to dictate whether or not you can make full use of your paid-for television and movies. It would be like Windows detecting that a server you are connecting to is not using Microsoft software and so throttling your bandwidth to make the connection arbitrarily slower. Or like Microsoft’s IIS sending non-IE web browsers different, outdated HTTP headers.

I have a friend who couldn’t play a DVD from his computer through the VCR that he had hooked up to his television. He wasn’t copying anything, but he basically had all video and audio going through the VCR to the television, and the DVD player apparently detected the VCR and prevented the video from transmitting. In order to play the DVD, he had to disconnect his VCR and connect his computer to the television directly. It is a complete hassle for the customer that doesn’t do anything to prevent copyright violation. Anyone can still take a DVD and make a pristine copy without the need to break the copy protection, so what was the point of it?

And now Vista will be enforcing customer restrictions in a similar way. Lovely.

Categories
Personal Development

Build Something Cool

I really enjoyed reading Build Something Cool in 24 Hours. Basically, set aside a weekend with some peers and decide to make something new. You’ll likely be more motivated with others than you would alone and you’ll learn a lot in the process.

I cannot imagine a better, faster path to creativity, innovation, and most importantly getting something done!

Similarly, David St. Lawrence posted a third entry for Creative Time that describes the same thing on a more personal level.

Creative time is a period of outflow. Watching TV or listening to a lecture is inflow, as is reading, eating, and mindless vegging. There is a time and place for all of these activities, but creative outflow will give you more bang for your buck than any other activity you can think of.

Game in a Day was great for me because it allowed me to set aside a weekend to making a simple game, and I did it. Within 24 hours, I went from having nothing to having a creation of my own. It was very satisfying and I learned way more in that shortened period of time than I did in the two months since then. I think I need to schedule another one…

Categories
Marketing/Business

Indie Power Trip

Don’t Fear the Indie is about what it might be like to have your own income independent of your regular job. When an employer gets nervous about a potential employee who gets income on his/her own, it’s scary.

Nothing, it seems, scares employers more than employees with independent income.

Why? Because independent income removes one of the primary levers employers use to control their employees: the paycheck.

It basically complements what David St. Lawrence says about corporate life. The days of long careers at a corporation that takes care of you are long gone, and the only really safe (and sane!) thing to do is work for yourself.

Categories
Games Geek / Technical

Gaming for the Budget-Conscious Gamer

How To Be a Frugal Gamer provides some tips on buying games on a budget.

It gives some basic tips, like preferring half.com to eBay and renting to buying. Yard sales, the Salvation Army, and I’d like to add flea markets can be places to shop for cheap games and systems. Also, waiting out newer games to take advantage of the inevitable price drop works quite well, although waiting too long for a game with an online component might be a problem. From my own experience, Homeworld: Cataclysm was way cooler when actual people were on the servers. Why wasn’t there a manual TCP/IP option?!?

When I went to college, I didn’t sell any of my books back. I figured that they would come in handy later. In fact, these days I even find myself reading some of my non-Computer Science textbooks. I would say rereading, but I can’t do so truthfully. Anyway, one of the tips is to sell back old games.

I can’t.

Each game has a special place in my heart. I bought Zelda II for over $50 after saving up my allowance for who knows how long, and it was my first video game purchase. Wizardry: Proving Grounds of the Mad Overlord was the next one. I received Taito’s Dungeon Magic for a birthday. Dragon Warrior was my first flea market purchase. Ever. I can’t just sell off these games! For one, I haven’t even completed many of them. For two, you can’t buy the memories that these games made for me. So I can’t sell my used games. Years from now, even after the game systems stop working, I’ll probably still have them.

While I can’t say that all of these tips will be useful, I do think that some are great ideas. I never owned a non-Nintendo console, so buying a cheap Sega Genesis or Dreamcast or heck even a Playstation 2 would be a great investment in expanding my gaming knowledge. I never did play the original Tomb Raider or Toejam and Earl, and I didn’t get the opportunity to play Sonic the Hedgehog much. *sigh* The experiences I missed out on…

Categories
Personal Development

I’ll Look for Anthony Salter’s Name

The Power of the Force is an older post about Anthony Salter’s specific experience with great opportunities resulting from his actions. He’s a game developer, too, so that’s a bonus.

It’s always inspirational to read about what someone else did, especially when you know that you can do it, too. It was probably this time last year that I was worried about my programming abilities. I was basically telling everyone, including myself, that I was out of practice and needed to work on it. Except I never did much to work on it for some time. Reading programming books wasn’t enough. I needed to actually DO something. When I started working on chapter exercises from different books, I realized that I was programming again. And when I did my first GiD, BOOM, I was making games! All I had to do was stop worrying and start doing. Taking action resulted in taking more action. I was no longer just thinking vague thoughts about what I would like to do. I was doing.

I’ve had self-confidence problems my entire life. In the past I have managed to overcome my fears and self-doubts long enough to do some great things, but afterwards I always reverted back to type, thinking “Whew! Glad I got away with that, now let’s never do that again.” This has kept me from seeing the truth – that everything I’ve really tried to do, I’ve succeeded at. And every time in the past that I have conquered my fear and moved resolutely towards my goals, the results have always been positive. But now I know. This most recent experience is simply the icing on the cake. I’m not going to be afraid any more. In a few years I’ll be speaking at the GDC. Just you wait.

Perhaps by then I’ll be attending myself. I’ll keep an eye out.

Categories
Games Geek / Technical

Manifest Destiny

Like most people, I’m excited about Will Wright’s Spore, but Joystiq reported that Michael Chang created Manifest which allows users to create new creatures that make use of procedural animation and movement. Pretty sweet, especially for a three week project.

Categories
Linux Game Development

Books I Read: Write Portable Code

I recently read Write Portable Code by Brian Hook. I have to say that it was a nice introduction to what you need to worry about when writing code.

I didn’t pay attention to the fact that it was supposed to be an introduction, and at one point I was concerned that it was too high level. Of course, if it tried to cover each topic in depth the book would be way thicker. Still, it was very informative and gave me some things to think about when I write my code. It covered some issues that almost invariably come up when trying to port code.

If I learned nothing else from this book, it was the idea that writing portable code should never be done for the sake of it. If you want to write a program that is perfectly portable, you may end up sacrificing a lot of time and effort that doesn’t make it worth it. For me, I want to make games that run on at least three platforms: Windows, Mac OS, and Gnu/Linux. Ideally I would like to write code that compiles on anything I throw at it, but Hook points out that you should never just write portable code. It has to be portable for a reason, and the more you clarify why you want it to be portable and HOW portable you want it, the easier the job will be. For me, my three targets are very specific, and while BSD shouldn’t be too much of an issue to port to, I should decide up front if I want to support or it or not. I shouldn’t write my code and have an idea of a BSD port nagging at me from the back of my mind. Similarly, if I want to support something like the Pocket PC or Palm OS, I should not make that decision once a project is almost finished. As Hook says, when you write portable code, you write code to be portable. Even if I don’t know the exact platforms I want to support, I should have an idea if I will require multiple threads, megabytes of memory, or any number of things that can’t be assumed on different architectures and platforms.

I should always have clarity of purpose, and it was just eye-opening to think about it in terms of writing portable code. Write Portable Code is definitely a book I will be rereading and studying in the future.

Categories
Game Development Geek / Technical

J2ME Development

I mentioned previously that I was going to help a friend with his mobile game development company, and so I finally got around to learning how to work with J2ME.

I’m reading J2ME Game Programming by Martin J. Wells. I don’t much care for his randomly inserted jokes, and it is fairly obvious that the book is geared towards Windows. At one point I thought that Sun didn’t offer a MIDP1.x package for Linux-based systems, but I finally found it. I really didn’t want to be forced to use Windows every time I worked games in general, let alone mobile games.

It didn’t take me long to get things going, as you can see:

/me finally gets to check off an entry in his TODO list.