PBBG devs on twitter

See the title? I wanna compile a list of dev’s that are out there on twitter. So if ya got an account,  post it below ^^

I’m also gonna make a pbbg-dev list using the new list thingy on twitter. Not exactly sure how it works but here’s the link : http://twitter.com/tjgillis/pbbg-devs

My twitter is : http://twitter.com/tjgillis/

Cthulhu Nation

This is a quick post about a game that I have recently started playing, and frankly, I am enjoying it greatly so far. The game is called, in case you haven’t guess, Cthulhu Nation.

It’s is a rather complex RPG from what I can tell, with a great story and setting (HP Lovecraft being one of my favorite authors) and great art. The quests are clever and seem to lean towards the puzzle-ly side of things (which is perfect for lovecraft).

I can’t say much more about it since I’m still rather new to the game, but I suggest you all check it out.

Oh, I forgot to mention it won the Galaxy News best story of the year award in 07 ^_^

Recap : Alliance/Clan systems in PBBGs

This is the second half of my polls idea is to do recaps after a few days of voting and comments, where I discuss what I’ve been thinking after reading the comments and poll results and try to explain how my thoughts on the subject relate with the polls/comments or how I differ from them.

Most of the poll results and the two comments lean towards allowing players being able to create their own groups, and if they are forced into factions be allowed to smaller groups.  And I would have to say I agree.  I like the idea of players being put into factions and then allowing them to form smaller groups where they can play with their friends.

Something I’m still up in the air about is allowing players to pick their ‘faction’ though. This can quickly lead to unbalanced teams and screw up the game. One of my favorite solutions that I’ve seen is how StarKingdoms handles joining the game. When you join you can automatically assigned your position but you can reserve three positions in your area so when your friends sign up you give them your code and they are now in your area.  But for a system like this to properly work both sides have to be identical in what they offer to a player. If one side has mechs and one side has dinosaurs, you should let your user pick what they want, but if it’s just two sides of the same coin, then forcing them into teams with options to ensure their friends can join is a good path.

This is of course you want users to be forced into teams which I think works best for position based strategy games. What I mean by position based strategy games is that your available actions depend on your location on the game board/world. To get from point a to c you need to go through b. These games use area and benefit from players close to each other teaming up.

In a game where position in the world has no limitations on the players movements or actions (like Earth 2025) allowing players to form their now teams and factions makes the most sense to me.

As I’m sure you’ve noticed, I’ve referenced strategy games each time I tried to described the differences. That’s because for RPG’s I don’t really see the same problems. Players should be able to form their own groups. Sure you may have race’s or different sides (like WoW) but the focus of the game isn’t really on the warring between both sides which means worrying about balanced numbers of players on each side isn’t as big an issue as for strategy games.

Question : Complexity in RPGs/Strategy PBBG gameplay

This will be a two part poll ; one for strategy games and one for rpg’s.

Let me describe what I mean by complexity. I don’t mean code or graphics, but in gameplay. For example in a strategy that takes terrain, flanking, weather, etc into account when engaging an enemy. Or for a RPG a large tree of skills and attributes that can drastically effect how your character performs and acts in game. Not just “I have 500 str so I swing a sword harder” but a skill tree that dictats how agile you are, how likely you are to hit, perform sneak attacks, handle a certain weapon or armor, how much you can craft… pretty much think D&D

[poll id=”5″]

[poll id=”6″]

Question : Turn based or Unlimited play?

What do you prefer in a PBBG? Do you prefer the competitive edge that usually comes with turn based games (ex: You have 20 action points a day and every action your perform uses one limiting how much to can play a day?)  or are you more a fan of games that allows you to play at your own pace and explore their world and store (ex: You literally can play all day. These games are generally quest based and are RPGs).

[poll id=”4″]

I’ll be writing a follow up post to my last poll soon and will do the same with this one after a few days. If anyone has some polls they’d like to see, feel free to email me or leave the idea in the comments 🙂

Creating an items table

Today I tried to do a little work on my game but I got stuck on a table which I have been pondering about for a little while now but today it stopped me so I need to address it.

In the game I am working on, players will have items, and will be able to use these items on themselves or others. And these items must be able to have an equation that manipulates the users and the effected players stats. This equation should be able to manipulate multiple stats of each player. I will eventually want to add splash damage but let’s start out easy.

So, you have the user who we will call player 1 (p1) and the player that is going to be effected by this item; let’s call them player 2 (p2).

Based on this idea I have been able to think of two solutions, one which I ditched almost immediately . But I don’t know if the general idea behind this one is any good. So take a look and let me know what you think.

Items table

  • id – 1
  • name – bardic’s staff of unimaginable penetration
  • equation – eq{target:10*(p1.str+p1.dex) / p2.def-50}
  • target – 0 // 0 = enemy , 1 = allies, 2 = all

As you can see, I am storing the equation in a JSON like object and would simply do a search on the search and replace the bold variables with player 1’s and player 2′ actually stats.  This method I think would allow me to easily keep the equation dynamic and clean.

Now lets look at something like area effects (splash damage, group shields) and how I would go about store such an equation in the table. This example has 3 equations in the equation object but only would be be used at most. I would either use target and others or all but I put all three is just for example.

  • equation – eq{target:10*(p1.str+p1.dex) / p2.def-50, others:10*(p1.str+p1.dex) / p2.def-20, all: 10*(p1.str+p1.dex) / p2.def-20}

With this setup I can have multiple equations and multiple stats in either set up. I did have an option 2 which was to bust out all the stats into their own tables but the more I thought about it in comparison to this it just seemed clunky and overly complex for something that shouldn’t be that crazy.

Now, to prove to myself that I could actually do this I wrote some a simple script to do such a thing. Right now the script is messier than it needs to be but I wrote it kinda quick just to prove that I can do that I’m talking about here. I will eventually clean it up when I have some time.

But the gist of the script is it hide’s the p1.stats and replaces them with actual numbers. This would naturally all come from a database but for the example I just have everything there.

I’d like to apologize in advanced for the lack of formating. I’ve tried three different highlighters and they break things worse than how they appear here. So till I find a better… sorry >.<

$eq = 10*5 / p1.str + p1.dex / p1.chr;

replaceHoldersWithVals(createStatArr(getHolders($eq)),$eq);

function getHolders($str)
{
$statArr = array();
$pos = 0;
$i = 0;
$len = strlen($str);
while(
$i != strlen($str))
{
if(
stripos($str,"p1",$pos))
{
$pos = stripos($str,"p1",$pos);
array_push($statArr,substr($str,$pos+3,3));
$pos += 6;
}else{
$i = $len;
}
}
return
$statArr;
}

function createStatArr($statArr)
{
for(
$i = 0; $i < count($statArr);$i++)
{
switch(
$statArr[$i])
{
case
"str":
{
$statArr[$i] = array("str"=>10);
break;
}
case
"dex":
{
$statArr[$i] = array("dex"=>7);
break;
}
case
"chr":
{
$statArr[$i] = array("chr"=>2);
break;
}
}
}

return $statArr;
}

function replaceHoldersWithVals($statArr, $str)
{
$pos = 0;
$len = strlen($str);
for(
$i = 0; $i < count($statArr);$i++)
{
$str = str_ireplace("p1.".key($statArr[$i]),$statArr[$i][key($statArr[$i])],$str);
}
eval(
"\$e = $str;");
echo
$e;
}

Question : Alliance/Clan systems in PBBGs

Here’s a thing I’m gonna try to go with. A weekly or twice a week question, where I present a question, two arguements and give a poll for people to vote on.

So the first question (and one I need the answer for so I can keep moving forward on my own game 😛 ) is :

So the question this time is : Do you think players in a position based strategy game should be forced  onto teams or should they be allowed to form their now teams?[poll id=”3″]

On the one hand, you have forcing players into groups. This forces players to work together as a team to defeat the other side, gives a clear enemy and can have some interesting internal player dynamics as they struggle for power in their groups. It also for the designer/coder gives a solid number of sides to build gameplay around and ensure game balance.  But, it limits the freedom of the player, forcing them to work with people in game they may not want to and may stop them from being able to play with their friends.

An example of a game and uses this type of system is StarKingdoms. When you join the game you join a sector with about 20 other people who vote on their leader who has the job of ensure the sectors protection and growth by joining larger alliances and purchasing sector wide upgrades. Another game is FinalEarth which has been closed for ages, but forced players into Axis and Allies teams, allowing for smaller groups to be made with these large alliances. I found this to be my favorite style and the way I’m leaning to on my game but I want to run a few idea’s by everyone.

The other side of the coin is allowing players to just join the game and form their own groups. This is a problem for me since I want the game play to be large scale battles and a constant back and forth that I’m not really sure I could achieve with hundreds of small groups.

One of the things that kinda differs in the strategy game compared to others, there is really a limited amount of space and instead of building massive empires you are levying for strategic positions.

But let’s assume I picked the option to allow players to create their own groups. You join the game and play for a little while without being a message of a group. After a few days they join one and have all of a sudden need to follow the orders of a leader they may not agree with. You join another and another.  You eventually find one but instead of focusing on the point of the game you are just are trying to find a group you can deal with. Or you just join and never join a group, which means you have never played the game in the way I’m intending it to be played.

Let me try to be not so negative and everything works out. The players find groups they like and battle like I intend. You instead of two or three groups, have 10’s-100’s of small groups battling for position. This could be pretty damn interesting and would make the game very difficult since positions would constantly change hands. It would actually make it almost impossible for one small group to do this I think. I would think that would eventually merge groups to achieve their ends.

And while this could be an interesting idea, I think after all this writing I’m even more strongly leaning towards two or three teams players are forced onto (maybe with the option to reserve a friend slot or two) and then an internal struggle for leadership as the group works towards their common goal no matter who is leading.

But, what do you think? Vote and comment and we’ll debate this till we have a solid idea.

PS: It seems I’ve written about this in the past…. And polled! But I think this is a much better explanation and a good segway for me to get back into blogging by repeating everything I’ve ever done xD

My agrument for flash in PBBGs

I’ve been reading a lot lately about how flash is a dying language and how it’s not going any where, etc etc. But this has nothing to do with that. This, instead, is a rant about why I think it makes sense to use Flash for PBBGs despite all the feedback I’ve received in the past saying I’m flat out wrong. So let’s hope that I get just as much heat this time ^^

To start lets define PBBG. I believe I have done this is the past but I am far to lazy to look for it and I’m sure I have come a bit further since then anyways in my wondering of programming, web and PBBGs.

PBBG stands for Persistent Browser Based Game. By this definition, a PBBG requires a database  for it’s persistence and needs to be played using the browser. How does flash not fit within that definition? Flash is a browser plugin. This means it runs within the browser.  A flash game differs from a PBBG that uses flash in the sense that a flash game is nothing more (usually) than a stateless game. You play, you quit, you come back and start at the beginning.  A PBBG that uses flash is the same as any other PBBG. You join, play and when you come back, the rest of the world has been playing and you start where to left.

So, Flash can be squeezed into the definition. It runs in the browser.

The next thing I got a lot of heat over is that flash is just a bad way to do this type of thing because of reason ‘a’ or argument ‘b’.  Sure, it may be a bad way for some since they don’t understand as3, but I don’t see how JS is any better. Flash will behave the same across all browsers. I don’t need to worry about writing my JS or CSS twice to make sure it works.  The only thing I need to worry about is if you’re on an iPhone or don’t have flash installed. But most people have flash installed.

I’m not saying JS is a bad way either. Each have their advantages but flash is what I know best and there are things I can do in flash that I can’t do in JS. Also, if you are looking for animation (which I’m not) flash is your ticket, but animation is a lame excuse since we are where talking mostly about next games.

I could defend flash all day, but in the end, I still view flash as a good thing for PBBGs. Please, please, don’t take this to mean make you whole damn site in flash. That’s not at all what I’m getting at. What I mean is you use flash sparingly and in the appropriate context. If you have a battlefield map, that’s a good choice. You have a crazy interactive inventory or crafting section, there’s a good spot.  I would never suggest you use flash for the whole site.

As I’ve said in also every post this year (which hasn’t been many. I’m sorry for slacking so much. I will try to be better but this is a claim I’ve made before), I’m gonna start posting again. I’m in the building stages of a game using Zend Framework and Flash.  I also will be working hopefully on a few games that fall out of the realm of PBBG, but I will also be talking about those here. One of these games is actually for my day job to boot, so I’m hoping they will let me blog about it ^^

red5 + wamp

Well this gave me a bit of a run around, but I have finally (I think) got it all sorted out : red5 running on windows through wamp. This isn’t really that big of a feat but it’s the first time I’ve done something like it and I’d like to explain step by step how to get it working since none of the guides I read held your hand through the whole set up.  So I will ^^

If you don’t know what Red5 is here’s a snippet from Wikipedia that explains the basic idea:

Red5 is considered as a free alternate to Adobe Flash Media Server, and supports many of the same feature sets. It has a few additional feature sets such as the ability to intercept live streams, and the ability to easily plug in other Java libraries such as Hibernate.

So, my first attempt was to use tomcat, but that didn’t work so so well, and since I have a wamp server already running I figured it would be best to use that. After some googling  I found other people that had already done this, on the  Red5 mailing list , here.

Pretty much I’m just gonna copy their nine steps and add my additional comments since their way works, it’s just a little vague though.

1) Install wamp
2) Create a directory named “red5-server” into C:\wamp\www
3) Download and install TortoiseSVN
4) right-click on C:\wamp\www\red5-server folder and click SVNCheckout
5) enter  the url from which red5-server will be downloaded : http://red5.googlecode.com/svn/java/server/trunk
6) download ant from the apache software foundation (manage dependencies for compilation)
7) Extract ant to a folder where ever you want. Just remember it’s path since you will need to add it to your system variables later. I put it at : C:\apache-ant-1.7.1
8 )Download the JDK 6 and install
9) Add ant and javac.exe to your system’s Path variable (right click on my computer – > Advanced – > Enviroment Variables – > Find variable Path in System Variables and edit. You need to add the path to the javac.exe which is in your JDK installation (default on xp for me : C:\Program Files\Java\jdk1.6.0_14\bin) and the bat files for ant (C:\apache-ant-1.7.1\bin) . Make sure that each variable is separated by a semi colon or it won’t work.)
10) open a shell on C:\wamp\www\red5-server
11) just type ant server – if ant is not found your system variables are set up wrong. If during building it says that it can’t find tools.jar where it expected the easiest solution is to find where the tools.jar file is on your pc and copy it to where the ant expects it. If at the end of the build it says it can’t find javac.exe, you either installed the wrong version of java or your system vars are set up wrong.
12) You can install samples demo via the administration console http://localhost/RED5-server/webapps/installer/index.html

And there ya go -Red5 through your wamp installation.

For those wondering what the hell this has to do with PBBGs, really not a whole lot. lol. But for those that are interested in using flash or something else that can communicate with a media server for their game (chat, real time player interaction, and so on) I hope this helps and costs you’re project costs considerably 😉

Story… anyone?

As I cruise the web, playing different games that check my interest, there’s one thing I’m constantly on the look out for and that’s an rpg with a great story. And I’ve stumbled across a few that claim to have great stories, but those ones are usually single player with horrible interfaces.  Usually bad enough to make me forget it’s not the 90’s.

I don’t understand why there is a huge hole in there genre of PBBG’s. It could just be that I’m just looking in the wrong place, and if that’s case, please educate me. But I’m gonna talk a little about this and pretty much just organize my thoughts on this since this is something I would like to do at some point in time (You know, that ‘free time’ that people have. I would love to get to know that part of the Time stream…).

When I look at all the times I’ve played and try to figure out what people avoid quests is mainly the amount of effort needed to build and maintain such a system.  I can’t argue with that. It would be a large amount of work to create a game that gives you mass player interaction and story game play, but isn’t it odd that one still doesn’t exist?  Maybe there is something else I am missing here.

Maybe it’s one of the issues that I have encountered in my head every time I try to think of such a system is how to handle groups of players working together simultaneously. Almost every way I think of takes some control from players, which is something I would like to avoid. Sure I would use javascript and just constantly refresh the page until the players appear, or I could use flash with a server so that I can tell the other players in the room that I’ve arrived, but both of those solutions seems sloppy to me. I would much rather have it as simple as possible with just html links. This is the biggest hurdle in my opinion, but I dunno.

So does anyone else have any idea’s as to way such games don’t exist, or if they do exist, links?