Wednesday, May 29, 2013

Building Libraries

So in my spare time, I like to play around with small components of various games and try to write them into small libraries. The nice thing about doing it this way is that it has no ties to a specific game. So the last few weeks I've been playing with a few different libraries.

First up, Behavior Trees. I was on AIGameDev.com and they have a few posts covering Behavior Trees rather than using Finite State Machines. So I looked at their code and built up a small library with some test cases to play around with their concept. I ran into a snag in that once it successfully made it through the behavior tree, you had to rebuild the tree, or hack the code to reset it. So after some more digging around I found snippits of other behavior trees and was able to make a small library with various nodes and put together a small demo in Unity3d showing a block moving to other blocks to "eat" them when it got hungry.

After that I started up the previous blog post and decided to begin looking at small scripts to handle cameras for most Strategy games (top down, scrolls when the mouse is near the edge, zoom with scroll wheel) and I've decided to make a permanent home for my musings. So far it only does some simple camera movement.

Today I'm looking into how to use Unity3D to make a radar system. I want to build it to behave both like an MMO with the player in the center, and like an RTS, with a camera frustum outline and the entire map displayed so you can click and zoom to that location.

As with everything I work on, I hope to build these into tutorials so that others can benefit from my musings as well.

Monday, May 27, 2013

Starting the blog again - 4X and MMO Games

I've decided I'm going to use this blog to put my thoughts on paper while I play with various mechanics and play around with game ideas. Today I wanted to begin with just making a simple camera controller that scrolls at the edges of the screen. Which leads to me why I chose this simple project.

I've always been a big fan of what are called 4X games. Specifically I enjoy the Turn Based Strategy games such as Civ 4, Masters of Orion, Space Empires 4. For those that don't know, 4X stands for eXplore, eXpand, eXploit, eXterminate. Most feature pretty indepth tech trees, have multiple paths to victory and can suck many hours of your life away.

A few games have tried to make this take the form of an MMO. EVE Online could be classified as a 4X game, Mankind.net is a smaller, nitch game that has changed a few hands, and Beyond Protocol was an indie attempt and probably could have done much better than it did.

So I find myself thinking about what I would do to make a 4X MMO game. It is something that has crossed my mind before, but not in great detail outside of saying that I'd want to make it a cross between EVE Online and Civilization 4.

I like several concepts from various games I've seen over time. A couple of them are Component Configuration and Design.

Space Empires, EVE Online, and StarDrive all share at least one concept: ship configuration. Whether you choose a ship because it has strong shields, or you design the ship from the ground up with a specific hull and add shields or armor, all of these games let you configure the ship the way you want.

Star Wars Galaxies, before NGE, and Beyond Protocol had an awesome setup with components that you designed. Depending on the materials you used, a weapon could be created with drastically varied stats. This leads to a more nitch market of gamers who like to min/max things and like to play with designs to get the most out of their materials.

Lastly, one thing I've covered before is material acquisition. EVE Online, Star Wars Galaxies, Beyond Protocol, and Saga of Ryzom have all covered interesting aspects. EVE Online has you able to get materials from mining, but the materials you can mine vary depending on where you are, from safe space to null security space. Star Wars Galaxies had materials that changed on a week by week basis leading to vast databases created to know what material was available on which planet during a given week. Saga of Ryzom had harvesters who could search for harvest nodes using skills, and Beyond Protocol had a bid system if more than one person was on a planet with a mine, you would bid on the minerals with the top 4 people getting 25% of the minerals each, if only 2 people bid on the mine, 25% went to the second person and the remaining to the top bidder, if there were 3, 25% went to the bottom 2 and 50% went to the top bidder.

These 3 things can be pretty powerful and add a subtype to the genre that allows people more specific play style. I want to go over more of them in detail while I play with my development.