Wednesday, July 22, 2009

Things Are Going Forward


Not many posts here because I've been busy programming! I am on my last week of summer vacation so it is a bit sad, but boy, I have done a lot during those weeks. Now I am done with the arena battle engine (clan vs clan), I am done with a system that let players put their heroes in a duel-queue and then schedule games in one vs one and the duel-engine is done as well. I have fixed the system that allows me to save the games and watch them later and sort them depending on clan.


Yesterday I started working on an adventure engine and it is finished to 95%. This is one of the things players can do between turns and duels. Every clan gets 50 actions points at the beginning and it costs 10 to let one of your heroes go on an adventure, 20 to travel between two villages. I'll add more things to do for those points, at the moment that is all.


Adventures is working like this. You select a hero, hit a button, the game-engine looks at what is happening which could be anything from fighting an easy goblin to fight a very tough opponent in one vs one. You can also end up finding treasures without fighting. For all this your hero gets experience and if you're lucky money and loot. The fights are pretty detailed, just like in the duels and some of the NPCs have skills and so on.


Next big thing I'll do is to work on the war-engine which is a somewhat just like arena just that you have a lot more on both sides and not neccesary even numbers.

Friday, July 17, 2009

A Lot Faster...


...that went a lot faster than expected. I re-coded the whole battle-engine and it works surprisingly well now. I found some bugs when I re-coded and it takes perhaps a second, even less, to sim a clan vs clan battle now. Before it took a lot longer. I am a bit worried how I should store all the data from the battles between turns or if I should just give them highlights from the battles with stats. I would prefer both myself as a player.

Some battles are really long and although they are epic to follow round by round, line by line, then it takes a lot of resources I guess.

I'll see what I come up with. I'll continue to bug-test this battle-engine now before I make some minor changes to it so that it works in both duels and in huge wars.

Wednesday, July 15, 2009

Good and Bad News

I've finished the arena-engine and I am able to simulate a whole fight between two clans now in a 5 on 5 battle. That is the good news. The bad news, is that I need to rework a lot of the code because it simply works too slow. I took a chance doing it the way I have it now, but I noticed that it won't work in the long run, so I rather redo it now. I have all the functions finished, so it won't be that much work, but still...

Here's is another output from the first round of an arena game between two clans.

Bredulf [Longshanks] prepares to aim the next attack.
Berit [Longshanks] prepares to aim the next attack.
Throm [Bloodlust] shouts out a battle cry helping the whole group to avoid attacks.
Caramyr [Bloodlust] casts prayer of protection on Throm.
Urkk [Bloodlust] uses the ability dodge.
Maliya [Bloodlust] shapeshifts into a wolf.
Bodil [Longshanks] plays healing song healing the whole group.
Stanley [Longshanks] casts scorched earth trying to damage all around him. Throm takes 3 points of damage. Urkk takes 3 points of damage. Maliya takes 3 points of damage. Faragan takes 3 points of damage. Caramyr resists the spell.
Benny [Longshanks] casts groupheal.
Faragan [Bloodlust] casts resistance aura on whole group.


Bredulf [Longshanks] hits Maliya for 14 points of damage with Recruit's Shadow Dagger. Maliya is out of the fight!
Benny [Longshanks] attacks Caramyr with Lightning Bolt. Benny [Longshanks] hits Caramyr for 2 points of damage.
Urkk [Bloodlust] hits Stanley for 16 points of damage with Recruit's Tribal Twohanded Axe. Stanley is out of the fight!
Faragan [Bloodlust] misses with the melee attack when trying to hit Bodil.
Throm parried the attack from Berit [Longshanks].
Throm [Bloodlust] hits Bredulf for 3 points of damage with Recruit's Defenders Sword.
Bodil [Longshanks] hits Faragan for 1 points of damage with Recruit's Melodius Shortsword.
Caramyr [Bloodlust] attacks Bredulf with Smite. The spell misses Bredulf.

Monday, July 13, 2009

Arena Programming


Lately I've been working on the arena programming. The arena is where two clans faces off to the last man standing. I've finished all skill functions and all functions that fills the arena DB and prepares the game. Now I can sim the top of the first round without any problems. The top is where the heroes are placed in order after an initiative roll and then chooses a skill/spell depending on what their user has set for percentages. The skill gets executed and then I move on to the next in line.


Next up is to finish where they attack eachother with their normal attacks. I have had some problems doing all this, but it all turned out well in the end. Here is a basic output from the top of a round and that is when they have used their skills, not their basic attacks. Remember, the text is not how it suppose to be. I'll work more on this later of course.

Varawen [Shadow Watch] casts scorched earth trying to damage all around him. Faragan takes 3 points of damage. Throm resists the spell. Urkk takes 3 points of damage. Maliya takes 3 points of damage. Caramyr resists the spell.

Aramir [Shadow Watch] casts prayer of protection on Dhrom.

Throm [Bloodlust] uses taunt and tries to take over agro. Akkmar , Izha now attacks Throm [Bloodlust].

Urkk [Bloodlust] goes berserk!

Maliya [Bloodlust] casts groupheal. Faragan gets healed for 1. Urkk gets healed for 1. Maliya gets healed for 1.

Izha [Shadow Watch] casts groupheal.

Dhrom [Shadow Watch] uses taunt and tries to take over agro. Throm , Maliya now attacks Dhrom [Shadow Watch].´

Akkmar [Shadow Watch] uses the ability dodge.

Caramyr [Bloodlust] casts touch of divine to heal the whole group. Faragan gets healed for 2. Urkk gets healed for 2. Maliya gets healed for 2.

Faragan [Bloodlust] casts divine aura on whole group.

Thursday, July 9, 2009

Skill/Spell Programming

One of the things I feared the most when I started this project was the programming of skills and spells since I had so many with such different outcome. I once did an arena game back in the days in Visual Basic and it has been the base of this much larger project, but I didn't have skills in that game. To be honest, I quite frankly thought that I wouldn't be able to do it, but the last couple of days I have been working on it and with 90% finished without any problems, I am no longer in doubt. :)

So that is what I have been doing together with a lot of DB handling again. I have filled the item DB with all the starter-gear as an example. I have also finished a bunch of read in and show info on the site kind of programming.

I can for an example now set tactic, train, queue up for duels, select for a turn, check stats, check items on every hero in a clan. And in the Clan department I have finished so that I can see info about how many houses, resource gatherers and soldiers a clan have or on another page see what they have in their vault or in their resource/ingredient warehouses.

A lot of work done the last couple of days in other words and it is still a lot fun!

Monday, July 6, 2009

So What Am I Working On Right Now?


At the moment I am mostly doing DB-handling. Setting them up and bringing data from them into the game. I am not wasting any time at the moment to make the game look good, just coding and then I'll spice it up when all that is done. I have finished so that people can create an account, log in, create their clan and their heroes and then watch info about all this on different pages. Still a long way to go, but it is a lot more motivating when you see results like this and that is needed when it is such a nice weather outside. I must have looked like the ultimate geek when I had my PHP book with me on the beach the other day and my notes. :)


I am glad I have a friend, Daniel, that helps me. I think he has solved like ten coding problems already.


Although I have finished off most rules, charts and formulars for the game on paper first, then I still trying to figure out atleast one or two more things that people can do when they log in between turns. At the moment I have a quite a detailed craftingsystem that will keep some people occupied between rounds and for the players that are not into that I have duels in the pit, check the local market or go to the inn for mini games. And there will be a lot of stats of course to check between turns. But still I need a thing or two more I think.


I am thinking some sort of PvE where you lead your clan into a dungeon or something and manually decide what skills/spells they use every round. I am sure some people would find that fun and it is a nice way to check out spells and skills. But at the same time I don't want this to turn into a grind game where people think they need to go to that boring dungeon to level. I want the majority of experience and money to come from the big turns.


Well, I guess I'll sit down and see what I come up with.

Saturday, July 4, 2009

N00b Friendly


I have played a lot of browsergames lately and I find one thin red line going through almost all of them. They're often very hard to understand early on even though browser games often are quite simple when it comes to mechanics. I have seen games that say that their goal is to make their game n00b friendly, but 5-10 minutes in I still have no idea what to do. This is one of my biggest goals with this game, I MUST make it understandable for new users because I really think many games lose their users in the first 5-10 minutes. If you don't know what to do, you log out and never log in again. I know I do.


So the hardest thing with this is to have a system where old users won't get tired to see the same old help text over and over again when they try to do something, but still you need something there for the new users. The easiest way is to have some sort of step by step help but I am not sure that people actually take time to look for that or read through that sort of help. One way could be to have help text appearing if the user is new, lets say 2 days? And on day 3 the help text is gone. Maybe a combination of both?


Either way, it is important for me and something I am going to work hard on.

Friday, July 3, 2009

Last class : Druid


The Druid is a very hard enemy to fight because you never know from round to round how they will fight. They're very unpredictable with their shape shift abilities. They are great group members thanks to their all-round abilities. The group-heal is one of the best in the game but they also have a single target heal and a bark skin buff that helps the whole group to absorb damage. They can shape shift into a wolf and fight more like a rogue or into a bear and become a lot harder to kill almost like a warrior. Some druids prefer to fight with a club and a small shield though and they wear studded armor.
Basic Abilities

Group Heal (1-4 to all in the group),
Heal (1-6 to the friend )
Shape shift: Wolf (+15 weapon skill, +4 damage, +10 initiative, no block, +10 dodge, no range attacks, -1 AF),
Shape shift: Bear (strength +2, AF +3, no block, +5 dodge, +5 parry, no range attacks),
Bark skin (+1 AF to all the members in the group. )
The druid is the 10th and last of my classes in this game. I might add more classes in the future but not now in development because it takes quite a job with programming skills/spells and everything.


Thursday, July 2, 2009

Classes: Ranger


The Ranger is deadly both from range and in melee. They do prefer to weaken or sometimes even kill their enemies with their bows before they use their short swords to finish them off. The ranger can call for a loyal pet companion to come fight for them and they have some of natures buffs like thorns that put some nasty extra damage on their arrows or swords.
They know how to fire a rain of arrows to a spot and hit several enemies and they even have a self-heal making them a very tough opponent in one versus one. The ranger is equipped with a longbow, a pair of short swords and studded armor.
The ranger is a good damage dealer for any group and still they can take a few hits. They can take care of themselves thanks to their selfheal and that is always a nice feature for a group. That way, the healers can concentrate on the other groupmembers while the ranger does good damage and keeps himself alive.
Basic Abilities

Self-heal (1-3 wounds to the ranger only),
Snipe (+15 range skill to the ranger only. )
Call for pet (a pet attacks your target for 2 points of damage undefended),
Thorns (+3 damage for rest of round to the ranger only. )
Rain of Arrows (2 wounds damage to all enemies unless they make a successful dodge roll.)