Saturday, October 6, 2007

Tribes and Other Classics

Recently a couple of my friends and I picked up the game Starsiege Tribes again. Well, to be honest, its again for a couple of them and the first time for me. Anyways, I've spent a little time with the game and really enjoyed it, especially when I can play with other people I know and we're all in the same room yelling and bitching about who shot who.

So now I would like to elicit a bit of response from you, the reader. My experience with PC games both old and new has been limited. So I would like to hear from everyone what their favorite older PC games are so that maybe I can get my hands on each game and fill in that little piece of my childhood that I seemed to miss.

My hope is to actually play any game that you guys mention, so anything that is now free or really cheap would be awesome. I am after all a cheap college student. =(

Metroid Prime 3, A Second Look

Having just completed the game fully I thought I'd give this game another shot on the blog.

Most of my feelings about the game haven't changed, but I thought I'd make a few observations about it that I didn't notice before.

First off, the game exposes you to an area fairly early on in the game that is not heavily needed until closer to the end. While it is nice that they give the player the choice to explore and get a few power-ups early, most of the area is not accessible at first and frequent trips back to the area quickly become annoying.

Another thing that struck me was the lack of enemies in many rooms, especially when those rooms are being re-visited. I am not totally sure whether this is always good or bad, but its a change from the other two Metroid Prime games where backtracking through any area meant fighting most of the same hordes you did your first time through.

Next in line is the exclusion of many long time weapons. Old favorites such as the super missile and power bomb are "replaced" by the hyper missile and hyper ball mode. While I am more than happy that the developers were creative about inputing new content, I must admit that the exclusion of those items from the frequent puzzles and such was a little strange. Its neither good nor bad, just different.

Finally is the final boss battle. Playing the game in normal mode first left me a little disappointed with how the final boss battle went. It seemed way too easy each step of the way and kept me asking "Is that really it??" Hopefully by playing the game through on either veteran or hypermode difficulty will satisfy my hunger for a little more challenge that I seemed to find in the second Metroid Prime.

RPGs: Diablo to WoW (Part 2)

World of Warcraft is an mmorpg, a massive multiplayer online role playing game. But not just a massive multiplayer online game, it is the most massive multiplayer online game.

World of Warcraft starts out years ofter Warcraft III: Reign of Chaos, where the world was left in shatters.

World of Warcraft lets you choose from ten different races of characters, the Draenei, the Blood Elves, the Dwarves, the Orcs, the Gnomes, the Tauren, the Humans, the Trolls, the Night Elves, and the Undead. Each race have their own skills and abilities. From here there you choose 1 of 9 playable classes, Druids, Hunters, Mages, Paladins, Priests, Rogues, Shaman, Warlocks, and Warriors. Each of these classes have their own skills they can use and learn, armor that they could wear, and weapons they can use. Then you must choose your characters profession, which is what your character specializes in, and what your character will do for most of the game. This is all just setting up your character.

With such a massive map of the realm of World of Warcraft, you have to have some ways to get around, for the fact of walking every where is unreasonable, and no one would want to. One way to get around the map is to unlock new flying routes by searching for flying-route locations. After you find the locations, you must speak with the NPC, non playable character, route masters. Flying gives you a sight of the world from above, which means you can see places you want to travel to, that you wouldn't have seen any other way. Another type of transportion is the Alliance Air Transportation. With this you can be flown around by Gryphons or Hippogryphs. Another type of Alliance Transportation is the Deeprun Tram, which is a link between the two great capitals. Some Horde Transportation are Wyverns, which are very similar to Gryphons. Another source of transportation are Vampire Bats, who ferry people throughout Lordaeron. There is also Goblin Zeppelins which Horde players can fly above the world. There are also some forms of neutral transports, such as boats, which can transport both Alliance and Horde characters.

Throughout the game, there are thousands of quests to complete, with a very extensive storyline to follow. You can get experience and level up your character by killing creatures throughout the game, however the best opportunity to get the maximum amount of experience is to undertake and complete the quests. Seeing there are thousands of quests, you have plenty of opportunities to gain experience. The difficulty of the quests provides the player with a challenge of finding other players to help you accomplish your goals of completing the quests. Some quests take up to 25 players to finish the quest and kill a really strong enemy. This means that 25 people would have to work together over a computer. This is a very difficult task, because unlike in real life, where you can physically look at someone and ask them to do something, in the computer world you cannot directly look at them, so you have to rely on practically an open chat of 25 players. This is a far more difficult task than it appears, for the lack of communication. Which means the players must be very experienced and know what to do without people having to tell them what to do.


There is a phenomenon similar to what I described in my post Don't Plan, Evolve that happens game AIs.

Games are generally expected to be somewhat interactive. As games get more advanced, game elements are expected to interact not only with the player, but also with each other. One method of doing that is scripting -- hard-coding in behaviors that are supposed to happen. An example of scripting is in the game Quest for Glory I: So You Want To Be A Hero? In the game, you can ask human characters questions. If it is not a question the programmers expected, the character will respond with some variant of "I don't know anything about that." And if the question was expected the character will respond the same way regardless of what else has been said. And the characters do not interact with each other.

The other approach is emergence. As opposed to coding specific interactions, things are coded with properties and capabilities. A good example of this is the game Oblivion. All computer controlled characters have goals, and they try to figure out how to achieve them. In a test before the game was released, one character was given a shovel the goal of raking leaves. Another was given a rake and the goal of digging a hole. In the end, one killed the other to get the necessary tool for its job.

Emergence allows for a more realistic game, as things can respond to things that previously happened, rather than just being set behaviors that they can't deviate from.

Friday, October 5, 2007

RPGs: Diablo to WoW (Part 1)

One of the first major computer RPGs that really caught on to the public was a game called Diablo. This eventually evolved into Diablo 2: Lord of Destruction (pictured right). Diablo 2: Lord of Destruction features the same story line as Diablo and Diablo 2, in that your basic goal is to kill the three brothers of Hell, Mephesto, Diablo, and Baal.

This game really took off because of the online aspect of it through Blizzard Entertainment made the game to where the items were relatively hard to get, and most required trading. Your character level was also made to be hard enough to level, after you get to level 90, that it took a lot of time to play just to level up you character. The real part of the game that takes the most time is perfecting your character and experimenting with other characters and skills. This pretty much makes this an almost unlimited game, for the fact that no one would be able to, or want to make every single possible outcome over all 8 classes of characters.

Diablo 2 has been out for many years, and is a lot older than such games such as World of Warcraft. Some people may even say the graphics and game style are of a previous generation, for the fact that they are older graphics. However, I don't think we can say the generation of Diablo is older, for the fact of how large it actually still is. Sure the number of people that play Diablo might be down from what they were from when the game first got released, but that is how every game turns out to be after a few years.

Diablo 2: Lord of Destruction has been a game that has been able to stay the same, making only a few minor changes, and it has keep a large number of gamers playing it. It has also been able to keep selling copies of the game for many reasons, especially the highly appealing free online gaming offered by

Technological Concerns of Today

Technology is growing at an exponential rate, and everyone is benefiting from its expansion. But technology is a double edged sword. Here are a few concerns that many businesses have about the growth of technology in the corporate world.

One main problem that companies are worried about is the security of their information. As technology allows for more data and personal information to be stored on large wireless databases and held in large mainframes, the information is in threat of being stolen from unwanted hackers or internal traitors. Some of the solution are intrusion protection and awareness, firewalls, wireless security systems and strategies, password management, and data encryption.

Another issue that is surrounding new technologies is training and technological competency. Technology is growing a such a fast rate, even the skills you learned 5 to 10 years ago can become outdated. Even if you are up to speed on new methods used to solve problems, you will need to continue to be trained for what is to come out next.

Businesses are also concerned with the issue of disaster planning. If a company were to undergo any kind of theft, virus corruption, accidents, natural disasters, or destruction, they would want to be able to keep their business running. This is why a continual plan is made to keep the company running even when it is down.

Similar to security, privacy is a main concern for big business. More and more credit card, social security, addresses, and cell and home phone numbers are being stored electronically. A company must insure their employees that their information is not being viewed without their permission and is not being accessed by unwanted users.

Authentication Technologies fall into the same concern category as the latter point made. Corporations want to make sure that only their employees are using their systems and databases, and that someone isn't stealing employee' identities. New technologies to prevent such a problem are biometrics, bar codes, magnetic strips, digital certificates and authorization.

Another concern is trying to convert all paper documents into digital files and data. It is easier to store, edit, copy, move, and work with files if they are kept on electronics.

Spyware has been advancing just as fast as the spyware detectors. But the fight to make a faster and more efficient spyware detector and remover is always a challenge but important goal for companies.

All in all, technology is a never ending battle for corporations to make the next best electronic system while trying to stay ahead of the viruses and hackers' technology as to not be overran and corrupted.

* This article was posted before it was completed, sorry for the confusion*

Sources: MSB Systems Inc

Thursday, October 4, 2007

Humanity will be assimilated and we will embrace it

It started hundreds of years ago with glasses, and as with most things it didn't take off quickly.

A few centuries later, there were pocket watches. Eventually the pocket watches turned into wristwatches and soon the glasses turned into contacts. In the 1970's hand-held calculators came. And in a decade, hand-held games and music players. Another decade and then there were cell phones. And then: PDAs, headsets, iPods and now we have cell phones that can do all of those things.

As technology gets cheaper and smaller, it gets more wearable, and the more wearable it is, the more it will be worn. And the more technology that is worn, the closer we become to cyborgs like Star Trek's Borg.

And unlike in Star Trek, we're not going to resist becoming Borg. We'll like it.

But I don't think that's a bad thing. Yeah, we'll become more dependent on that technology, but we're already completely dependent on our technology now (wonderfully demonstrated by the TV series Connections and the book Dies The Fire). At least with more advanced technology, there's a reasonable expectation that the technology will be more useful and more reliable.

And really: it's convenient. I can see properly. I can listen to music wherever I am. I can call my friends and family regardless of where either of us are. I can even add, subtract, multiply and divide with my wrist. Who wouldn't want that?

Tuesday, October 2, 2007

Don't Plan, Evolve

Until recently, the only way for humans to create machines and other such things was to plan them and how they would work. Very straightforward.

But with the advent of computers that can do hundreds of computations per second, a new and so far underutilized method of creation has been born. That is an evolutionary approach. Give a computer an objective, a means of evaluating how well a particular method works, and a starting point. Have it tinker with the method, until it finds a better method. Then have it tinker with the new method, until it finds one better than that. Repeat. Eventually, it should find some really good solutions to your problem. That's called a genetic algorithm.

One example is the robot Pino, which can walk bipedally. Most robots that can do that are clumsy and slow. Those robots were made by analysing how humans walk, and having the robot imitate that. But not Pino. Pino learned how to walk by himself. At first, he couldn't, but he learned from each step until he could walk as smoothly as a human.

But genetic algorithms are far more powerful than just that. In that example, the computer can solve one problem, but the algorithm to do that must be planned. John Koza one-upped them by applying genetic algorithms to genetic algorithms. He's evolving computer programs, so given time, they could solve any problem you throw at them. In fact, some of the things that his programs have created have gotten patents.

Matlab Tutorial III

Plotting Data on Graphs

So I have thought of a new topic to discuss on Matlab Tutorial, that can help everyone out there make a better visual representation of their data that they are working with on Matlab. I am going to teach everyone how to make graphs. Now graphs are pretty simple to make, but there are a lot of extra little features you can add to make your graphs more colorful and easier on the eyes.

First, to understand what exactly we can plot. So far the only thing I have perfected is plotting two variables on an X-Y axis. To do this, you most have two arrays or sets of data (both of the same size) that are defined in the program first. After you have the variables labeled and defined, then type plot (X,Y) , where X is the label of your independent variable vector or array.

Now that you have your beautiful graph, you should put some other features on it to add just a little more customization to your Matlab graph. One thing that you should do just as a rule of thumb is have a title for the graph. The title usually should be relevant to the axes or what the graph is showing, but virtually anything can be written. The syntax for this command is title ('Your Title!') . It is important to write the '' in your syntax, otherwise the text won't show up.

Another good thing to add to your graph for informational and entertainment-al purposes is to also label your X and Y axes. This can be done by writing xlabel ('Your X Label Here!') or ylabel ('Y Label Here!') in your syntax. Again, keep the '' in there and make the labels somewhat relevant to your graph. Usually it is best to write down the axes' variables and their units.

For the instances that you want to graph multiple graphs on one plot, you have to use the hold command to keep them together and not on seperate graphs. First you must plot the first graph using the previously learned plot command. The next command that should be used is the hold command which starts with hold on, the second plot, and then finally hold off. The hold on tells Matlab to keep the graph being used for the first graph to stay in place. Essentially, you could have as many graphs as you want on one plot, but that would get complex and messy, especially using multiple axis ranges and variables. The "hold off" is used to turn off the hold command for any other commands you use in the program to not be plotted in the same display.

After you master these simple things, I can show you ways to change the graphs colors and and legends and other cool things!!! OK honestly, it's not THAT cool, but it is nice to see something that you created on the screen. It gives you a sense of accomplishment. Well till the next exciting addition of Matlab Tutorial, you stay classy San Diego!

References: University of Florida Matlab page; University of Michigan Engineering Matlab page; MathWorks Resource Page