Friday, December 9, 2011

How about what the game looks like?

Here's a small taste of what our game has to offer. We still have some temporary art so be nice!

Navigation at it's finest

One component of nearly any shooting game, especially when multiple players are involved, is a mini-map to inform the player of unit positions. This is something we felt was necessary for our game and was part of our recent developments. When rendering a mini-map, any information necessary needs to be re-rendered to the small portion of the screen that is meant for the map.

To do this, a simple algorithm is used to scale down unit positions for the mini-map. The algorithm is as follows:

x position = mini-map screen coordinate + unit x coordinate * (mini-map width / main map width)

You do this for both the x and y coordinates and then draw a small shape or texture to the screen at the location. This draws a nice indicator for the unit in correct screen space for the player to enjoy. You can also play with effects to get player attention. For instance, our end level objective pulses to ensure the player knows about this important location.

That's it for this post, check back for more development updates coming soon!

What made Donkey Kong Country look so attractive?

When making a 2D game you will be forced to either learn how to create sprite sheets or navigate the interwebs to find that one sprite sheet that fits your needs. When you usually find that sprite sheet, it's on some weird format or some terrible resolution.

This is how we went about creating animations for our game. It was basically the same steps that the people from Rare followed to create their assets when developing Donkey Kong Country. Take a 3d model and since we don't have the software to render animated 3d objects on our game, we can render it to a sprite sheet and use it on our engine.

Make your art in Autodesk 3Ds Max and then render at whatever resolution pleases your needs and you will have a high resolution, high quality animation that will impress. Thanks to a 3ds Max script written by Geoffrey Samuel, we were able to render from 3ds max to whatever resolution sprite sheet at whatever configuration we needed. It also helped with making alpha based sprite sheets.

CLICK FOR GIANT CRAB!
The final product
CLICK FOR GIANT CRAB!

Wednesday, November 30, 2011

This is my BOOM STICK! Quick and easy top-down shotgun effect.

Ahh, the shotgun. When the baddies are closing in, there isn't much else that will have the devastating affect on the target as a shotgun. In our game, the scout will be equipped with a shotgun. Combined with his sprint ability, the scout's best strategy will be to time the use of the sprint to get in, let off a few blast, and get out. For the shotgun blast to look like a shotgun blast, it must behave a bit differently from most of the other weapons in the game. Weapons like the pistol and machine gun will fire in a straight line, all the time, while the shotgun must have a spread.

I went through a few different ideas on how to accomplish this, but I couldn't get it quite right. Thanks to the help of John O'Leske, our course director, he was able to point me in the right direction and the shotgun now has proper blast. By adding one more step to the calculation, the effect can be achieved quite easily. Just like with the other guns, the first step is to find the vector between the player and his where the crosshair is aimed. Then, we find the angle of that vector. Then to change the trajectory of this piece of the shotgun blast, we rotate that vector a bit. Repeat for each piece of the shotgun blast, in our case 5 times, changing the vector a bit, and a simple, but effective shotgun blast is achieved.

Check back soon for more information about Medusa!

Tuesday, November 29, 2011

Networking Update - Single Player

Welcome back for an update on the network development for MEDUSA. Much of the network development initially has been centered around multiple client computers connecting to a single server computer. This communication is great for playing the game with multiple people, but supporting only a single player is essential as well.

In order to support a single player, we run the server and client game states alongside each other in one application. This means that the input, updates, and rendering to the screen is run from both states. A basic idea is the following:
  • Client sends input to the Server
  • Server reads the input and updates the game accordingly
  • Server sends all updated information to the Client
  • Client renders the newly updated objects to the screen
This process is the same for single player as with multiple players, with the key difference being the Client and Server are running in the same application on a single computer.

The end result of this method prevents us from writing a completely different set of logic specific to a single player. It allows the preexisting client/server communication logic to be used regardless of the player count. The networking is coming along nicely and will provide a great experience for the players.

That's all for now, but stay tuned for more updates on MEDUSA!

Monday, November 28, 2011

Class Preview: The Scout

The Scout is a very high mobility class and benefits from being able to easily gun and run. We wanted to preserve the mobility that is inherit to the class but give interesting choices as to how to approach enemies.

The Scout's shotgun fires a spray that becomes gradually less accurate the further away the Scout is from the target. This gives the Scout two options as to how to operate. The Scout can keep a safe distance from the enemy and do less damage with each shot. The risks here are that ammo is finite and it will be quiet easy to run out if you don't deal enough damage with what you pick up. The other option the Scout has is to get in the enemies faces and shoot at near point black range for maximum firepower. The risks here are obviously the player is also very close to getting hit and the Scout is a very fragile class, with the least health. A few missteps and the Scout may end up dead.

Now even a really good Scout that can effectively backup and shoot away from the enemy will run into a problem of the best possible path does not always lead them back to his allies. It will not be uncommon for a Scout to end up in a corner by themselves and be low on health or ammo. The Scout's special ability allows them to increase their movement speed and avoid death for a short period of time to be able to rejoin the group. We decided the Scout shouldn't be able to shoot during this invincible sprint because it could lead to issues where a Scout would end up using this defensive ability offensively and tank most of the damage for the team by standing in front.

We hope everyone will enjoy the Scout as it is the most aggressive and mobile of the 4 classes.

Saturday, November 26, 2011

Class Preview: The Medic

Early on we decided that we wanted a 4 person co-op shooter. Each player would be a different class and everyone agreed at least one of them should be able to heal.

Early designs had the medic similar to Team Fortress 2's medic with a medigun that literally shot health at targeted allies. We decided against this plan because we wanted a play experience that was fun for all team members. The least picked and most powerful class in TF2 is the Medic solely because his main objective is so vastly different than the rest of the team. In a first person shooter most players want to shoot enemies and rack up kills, not hide behind a larger character and heal him. We decided on a simple to learn, difficult to master approach with the medic's gun shooting like the other characters but if the bullets collided with an ally it would heal them for the amount of damage it would have done to an enemy. It allows the medic to actively participate in a fight gunning down enemies but in clutch moments able to support other teammates.

The Medic's special ability is a stun grenade. We wanted the medic to still feel like a support class and not be in the front lines but be able to continue to protect allies. The stun grenade pushes enemies back and stops them from moving for a short period of time. This allows the medic to get into a better position to shoot and heal damaged allies. This ability can also still be used very offensively to stop large mobs of weaker monsters from surrounding a team.