Sorry my blog has been fairly quiet over the last week or so. I've been busy traveling to Seattle, Washington for the annual PAX Prime! Guild Wars 2 was the primary game I wanted to get my hands on this year, in addition to a couple other games. For now, I will just talk a little about Guild Wars 2. There are tons of videos and information about this demo considering this demo was featured at Gamescon now at PAX so I want to focus on something a little bit different. The two biggest thing I took away from playing the Guild Wars 2 demo was in the gameplay and the class selection.
I really love the combat in this game. It's much more real and visceral than any other MMO that I've played. The game allows you to activate skills without targeting any enemies, which really frees up combat and makes it feel much more open and active. In other games they would block you from activating a skill if you aren't targeting anything, and this is a jarring experience that only hurts combat and interactivity. With the ability to activate skills without targeting anything, it really makes you feel like you are in absolute control of your charater. Speaking of targeting, this is another area the game really excels above other MMOs. The game automatically selects targets that are infront of you. Not once did I have to click an enemy to target him. I simply aimed my character at the enemy, and it selected the one infront of me and fired my attack at that enemy. This allows me to focus on movement and positioning much more, because movement and dodging are very important to survival. That brings me to my last point: movement. Players are able to cast their skills while moving. This means while your swinging your sword at an enemy you are able to move around and dodge attacks. With ability to activate skills at any time, the simple targeting mechanic and the ability to activate skills while moving makes combat feel very open, free and realy puts the player in control of their player and is very immersive.
The other point I wanted to talk about was the classes. Like every other MMO player, I have spent a little time thinking about which race and profession I want to play as my main. After playing the the demo, I really believe that it doesn't matter which profession you choose. Close your eyes, pick any profession and I guarentee to you that you will have fun. From the few classes I've played, it's very apparent that ArenaNet aims to make every class a blast to play. Don't fret over which profession you want to play. If you don't know, choose any one and I guarentee you will ave fun.
With the dynamic combat and the enjoyability of the different classes, I anticipate this game more than ever. If you want to learn more about Guild Wars 2, check out their website for all the information you could ever want!
This week's dubstep comes from Feed Me. I really enjoy this song because of how well the volcals and melody mix with the monsterous beat. You never loose the feeling of the beat and speed through the melody so when when the bass drops hit, you're in for a ride of a life time. Less talk, and more listening!
After much lazyness and a little procrastination, I was browsing Reddit and came accross their dubstep subreddit. To make a short story shorter, I found this song and really have no words to describe it's awesomeness. I loved Sonic back in the day, and this song does make me tingle with nestalgia.
For this weeks (belated) dubstep tuesday, I'm choosing an awesome dubstep remix of a song by Swedish House Mafia. I'm really surprised that I haven't posted this one yet. The original song has a very original music video featuring dogs saving the world. I really recomend you check that one out! But for now, for your listening pleasure here is the dubstep remix.
You can buy the song on Amazon or iTunes. (no affiliate links)
If you have an awesome dubstep you think I would enjoy, leave a comment or hit me up on Twitter.
Over the past few weeks, I've been working on solving a problem in my game with spawning enemies in the missions. The way my game will work is, it will read a file that describes the objectives and which enemies will spawn during that mission. The problem is, how do I dynamically spawn enemies based on what I describe in the mission file. The way spawning is done, usually, is with a factory. A factory is a programming paradigm that allows creation of derrived classes based on conditions in the code. Let's say you have a class called BaseClass, and this classes forms the interface for the derrived classes. Next we create DerrivedClass and SecondDerrivedClass, which both inherit from BaseClass.
From here I can create a factory, where I can create new instances based on a certain condition. I use this in my game for spawning enemies, however I have some slightly different requirements. First, because the monsters will generally spawn in random, so I need a way to randomly choose a factory to create enemies from. I also need a way to use a string in a text file to create a new enemy instance the program. My solution to this was to create two maps that allow me to assign string identifiers to the factories so I could reference them from the mission file. The first map is a list of all of the enemy factories, and the second map will be used to hold only the factories specifically used for the missions. So when the mission file is loaded, and the program has determined which enemies are being used for the current mission, it will get the factories from the master list and put them into the missions own special list. Because the list is specially designated for the mission, I can randomly create enemies or spawn them based on a spawn rate criteria.
To better explain this, here is test code I wrote to solve this problem. I did this separately first so I could see how everything fits together before I put it in my production code. To apply the code to my game, each derrived class would be a different type of enemy. BaseClass is the interface for all the enemies. Each derrived class has it's own factory, so I can spawn that specific type of enemy. The master list of factories is stored in the factory base class, and each derrived class must have it's factory subscribed in the master list.
Today's dubstep song comes again from Ephixa, which I featured before for their Song of Storms remix. Turret Error is for all of the Portal fans out there. This song has a great beat, and features some turret voices from the Portal games. Check it out!
I know this post is really cliché, but I want to express my opinion anyway.
This past week Google launched it's new social networking venture called Google+. With many of it's features taken from Twitter and Facebook, it's easy to see how peoples' first reaction to Google+ was "is this a Facebook killer?" Off the bat I will say that Google+ will not overtake Twitter because Twitter fills a special microblogging niche that is not covered by any other service. Google+ does share many similarities with Facebook. However, just because it shares similarities does not mean it will steal the spotlight.
The first reason why I believe Google+ will not take massive market share from Facebook lies in the fact that everyone is already fairly invested in Facebook. Your friends and family already exist on Facebook, getting them to go setup another profile, repost all of their photos, learn the different interface, and re-add all of their friends is not exactly inviting to everyone. This remains an issue until Google opens up the API, in which case, migrating could become as simple as clicking a button. But even then, I wouldn't put it past Zuckerberg to block those API calls to prevent blatant market share loss.
My second point is based on the mechanics of how Google+ works compared to Facebook, giving Google+ a much broader use than Facebook. Facebook was designed from the very beginning for friends and family to share their life with each other. Facebook established this by requiring that the two parties be mutually accepted as friends, as opposed to just adding a bunch of people you want to follow to your friends list. Google+, on the other hand, does not require a mutual friendship to be established before two parties can start sharing and receiving information with each other (think Twitter). This shows that Google wants to crate a bigger social circle than what Facebook was designed for. When you post something on Google+, there is a much higher chance that people out on the internet will see it and follow you than if you post it on Facebook. This core difference shows that Google+ has a much more board use than Facebook.
Google+ will not overtake Facebook because it will be tough to get people's established social circles to move over to Google's new system and because Google+ was designed to be a different social experience than what Facebook was designed for. Facebook will continue to be used by friends and families to communicate, while Google+ will be used by more involved internet folk as another more open way to socialize on the web. I haven't spent too much time in Google+ because it's still fairly early in it's life and hasn't been very lively, but I'm interested to see where it goes. I believe it will go in a similar direction as Twitter and be a more open social platform that allows people to post more content than Twitter allows, but less than what a full blog post is worth. Google, please add vanity URLs asap!
As I was diggin a mine down to the bottom of the world, I ran into a huge cave system with some great loot. These huge cave systems always end up with me getting lost. I find another new hole in the wall, that leads to another massive cave system where I see some diamond ore in the distance, and I just keep going deeper and deeper. Something I'm trying out for the first time is trying to "civilize" the cave system so I can find my way around. Two ways I'm doing this is by setting up railings and step-blocks to help me figureout which direction to go in. I'll do another post on the successfullness of this later.
Today's dubstep song of the day comes from non other than Skrillex with Scary Monsters and Sprites. I really enjoyed this song because of the mix of the tough sounds Skrillex is known for and the old school 16bit tunes sprinkled about. This song really fit's it's title.
I did some more work on my game this week. First thing I did was rewrite the skill system to be a little more versitile. Previously, the skills only created missile objects that I specified. While this works for the attack skill, the heal skill really shouldn't work by generating a missile. So skills should be more flexible now, as I have split them up into their own classes allowing me to be more fancy with the way they work. I also added sound effects, and added particle effects for when the player's health is low.