Showing posts with label Programmer. Show all posts
Showing posts with label Programmer. Show all posts

A Great Game

A Gentle Reminder for Programmers

It's easy to get lost in all the details of building a great video or computer game - so easy in fact, that we can forget the parts of a game that make them fun to play. The following serves as a gentle reminder of what prompts players to play games in the first place. Refer to this reminder in the event that you get bogged down or distracted with confusing C++ syntax, or lines and lines of Visual Basic statements and DLL structures.
1. Remember the player is the main character. Here's a secret between you and me: People play games to gain a sense of control. If you can manage to program your game in a way that puts the player in control, then you've already won half the battle. This doesn't mean to suggest that the game should be easy. It simply means that when a gamer runs home from school or drives home from work to play a video game, she wants to feel the control that she didn't have during the hours between nine and five. The outcome of a game - whether it's a win or a loss - should never be random, but the result of a good, controlled game play instead.

2. KISS. Remember that acronym? It stands for Keep It Simple Stupid. We all know that programming a game is hard business, but believe us when we say we don't want to be reminded of it. The difficulty of programming a game should never be part of the game play so when possible, make the game easy to start, easy to navigate, and of course, easy to play. We're not asking for pre-school strategy here, but on the other hand, we don't want to feel as dumb as a pre-schooler either. Forget the hundred page manual. Nobody except the truly obsessed is going to read it anyway. Build your game for the average Joe and everyone will be your fan.

3. Add plenty of action. And add lots of it too. The more action you add to your game, the more attention players will pay attention to it. And the more that players pay attention to your game, the more addictive your game gets. For every action that a player's character makes, have the game react and then prompt the player for more.

4. Make the story a good one. Nothing is worse than playing a game only to wonder what you're doing and why. Purpose is and always has been a human obsession. But without it, we're left wandering... in the darkness... wondering bizarre things like how the house would look in a coat of bright pink paint. Don't give your players the opportunity to waste time like that. Give them a mission and make sure your game reminds them what the mission is at opportune times and why they must complete it.

5. Give us eye candy. But make it relevant. The graphics in a game shouldn't be distracting, they should make our eyeballs glaze over with satisfaction upon seeing them, and then salivate for more. Graphics should contain clues and entice us further and further into the game until we've beaten the thing.

6. Make it real. Fantasy games are okay, but what makes them cool is the fact that they're realistic. It's hard to get into something that isn't familiar or that there's no way we could ever experience. But if you can implement some reality into your games, players will appreciate it and relate to it on a whole new respectable level.

Open Source Software

If you've spent any lengthy amount of time on the Internet, you've probably heard of open source software but might not have fully understood what it is and why it even exists.  This article will describe this recent phenomenon and describe some of its benefits for the software using community.

In a nutshell, open source software is software made by everyone - for everyone. The hopes behind its development is that through its open access, it will evolve into something that represents the true desires of computer users. Through a wide network of user involvement, the software in question is enhanced and debugged without costs or administrative politics.

Traditionally, software is developed behind closed doors. A team of professional coders build it but the community at large isn't part of its conception. It's costly to produce and as you can probably guess, that cost is passed on to the end user: the consumer. Open source software on the other hand is free. Free to download, free to install, free to use, free to modify, and free to share.

Started over twenty years ago, it's a phenomenon that is gaining in both popularity and exposure. In its first conception, open source gave birth to the World Wide Web as we know it today. The Internet as a whole is the result of free permission to access the web, use the web, contribute to the web, and share the web with others. But it certainly hasn't stopped there. In the not too distant past, Netscape converted its once commercial version of its Navigator web browser to open source. And today, open source is venturing into the commercial realm as well.

At first thought, the idea of open source may sound just plain crazy to those who earn a living from software development. But the facts point to a different prediction. Open source software puts companies in a terrific position to re-brand and re-position themselves in a market that they may have not been able to reach before. In the business world, open source is all about image and when consumers witness corporations contributing (instead of selling) to the buying public, they gain big favor in the eyes of their users (plus tremendous opportunities to sell other items).

Inviting the public inside a product's development builds community and trust. It also sets the platform for increased reliability. Fans of open source programs are adamant about reliable software and highly criticize commercialized versions for being buggy and error-prone. Avid fans even proclaim commercialism is the cause of shoddy software.

Another benefit that open source brings to light is the speed at which its products are developed, enhanced, supported and distributed. This is because the people who regularly contribute to an open source product do so for unmotivated reasons (other than perhaps to feed the ego.) They're highly talented, they're available, and they care. Bringing money into any project can almost mean instant death. It can kill motivation, desire, and a true willingness to create a good product. In a commercial setting, participants work for a paycheck rather than for the product. And this is what puts open source projects far ahead of its monetized competition.

As a software user, this means you can contribute to an open source project as well, and help to develop it into a product that reflects your direct preferences. You aren't "stuck" using open source software the way you would be stuck using an expensive word processor or database. You have the same access to open source software as its programmers have and in essence, you are your own customer!

Perhaps at this point you're wondering where you can get in on this wonderful opportunity. There are plenty of open source opportunities sprinkled across the Internet and they can be easily found though any search engine. Google "open source project" and you'll be sure to find more resources than you can shake a stick at!