The Dragon Trilogy Review series: War of the Jewel

War of the Jewel is my favorite part of The Dragon Trilogy. I’ve played War of the Jewel twice. The first time I played on easy difficulty a long time ago. The second time I started it on the hard difficulty, but due to a couple of bugs, I was forced to switch to the normal difficulty.

In this review I decided to include spoilers in order to have more freedom in reviewing.

NOTE: I feel kind bad for using the images, since I don’t who to credit for. I didn’t find the sufficient information from the campaign info, but at least should be under CC0 or GPL.

War of the Jewel

campaign-image.png

From front to behind: Akhen, the main character with a suspiciously warrior-like portrait; Menon, antagonist who is totally awesome; Svarballi, the nemesis

Gameplay

The gameplay is much improved over ASoF. There are many contributing factors. The most important factor is the custom AMLA implementation (After Max Level Advancement). What this means is that when your max level unit “levels up”, instead of getting a simple predetermined stat boost, you get to choose one improvement for your character from given alternatives. What advancement options you get depends on the unit, but some options include a new spell, improvements to an existing spell and auras. Only the main character and his friends have custom AMLA implementations; normal units advance as usual.

The custom AMLA is very good, because it gives more depth to the gameplay without increasing complexity. It also connects the story with the gameplay, because War of the Jewel’s story emphasizes protagonists’ growth and learning. In ASoF the supporting characters are closer to high-leveled loyal units with lines in dialogs. In War of the Jewel, each supporting character can become strong if leveled. None of them advance to the point where they become practically invincible like Myra in ASoF, where the AI often surrounds her without attacking.

The custom AMLA is not without its shortcomings. By favoring main and supporting characters over my recruits, I got all advancements before the second half of the game. Another shortcoming is that some of the advancements are far too situational to the point that they seem useless. It’s not always clear either what certain advancements do.

The second major gameplay improvement is the addition of Area of Effect (AoE) spells. AoE spells have really cool effects, and are more effective at eliminating multiple enemies at a time. Most AoE spells sacrifice some health, so they should not be overused. Learning an AoE spell requires lot of leveling, and they are considered impressive outside Netjer-Ta.

The third major gameplay improvement is having less Drakes! The problem with Drakes is that they are both fast and incredibly strong, which requires either a lot of cannon fodder or extremely meticulous planning of each move. Unfortunately though, the drake scenarios of War of the Jewel are / were preceded by few scenarios with game breaking bugs on hard difficulty, which can make it completely impossible to finish the Drake scenarios. This is why I first cheated and then switched to the normal difficulty.
WotJ shares some of its weak points with ASoF. For example, most of the non-elemental units are useless, and so are some of the elementals. There is barely any need for other units in addition to Djinns, Stone Titans, Lava Behemoths and Ethereal Orbs. ASoF on the other hand had many useful Aragwaithi units and dwarves.

Also, it is impossible to return to any previous move in the intro scenario, so I had to resort to manual saves.

Story & atmosphere

The most important part of WotJ for me is the story and the feelings. The very first time I played WotJ and saw Maat’Kare again, I thought in my head: “This is the civilization I built with Myra and her friends”. I was eager to see how its life continued since Myra’s apparent death. And I wasn’t disappointed.

The intro is interesting and exciting. It introduces Menon Hekare, one of the most important characters in the story. From the intro I gathered that he is very powerful and cunning. The intro also explains how Windsong were expelled from Netjer-Ta, and hints how the Maat’Karian society has changed: like many advanced civilizations of the real world, it has become highly politicized; past are the times when the nation was governed by those united by struggle and friendship. And too much time has passed for everyone to respect the dangers of Sky Soul.

The dragon Gidhonus seems almost meaningless in the end though. I wish it would have played a greater role in the story. Its creator tells that it is fueled by the power of Ruby of Fire, but Menon doesn’t hear that or decides to ignore that. While this has serious repercussions, the monster could have been replaced with a murdering thief, and it wouldn’t have changed a thing. An interesting magic-powered dragon is basically wasted.

The first part of WotJ (in the whole story line, it is IV) is very good. I really like how likable Menon is: in addition to being powerful and cunning, he’s caring and supportive – despite being a lich! It’s also very easy to dislike his political opponent, Tewarin Aracyne, who keeps smearing him with half-baked conspiracy theories.

The milieu in this part is very interesting. We see an academy, the political structure, reminders from the past, such as a love poem from Dvalin and Alenya, familiar places and more. And it’s worth reading the unit descriptions, which are very detailed and give information about the society of Maat’Kare.

valley-of-alenya-story.jpg

Welcome to Valley of Alenya. Used to be: Valley of Silence

The group is also much more interesting in WotJ than in ASoF. Each character has their own background,  personality, strengths, and the group is much more dynamic. Contrast this to ASoF, where the main character, Myra, is the strongest, and everybody follows her. Other protagonists’ backgrounds don’t matter, except for Dvalin’s, who leads the dwarves.

In WotJ on the other hand characters have varying and detailed backgrounds. Nyx is reluctant at first. However, her combat abilities and knowledge of lands of the vampires are very useful. Though Mahyus seems cold and cynical, he is able to befriend others, and finds a woman, Branwyn. And of course his Umbra powers play a great role. Merwe is bookwormish, alway siding with Akhen, but ultimately respected for her abilities. Atenak leads Maat’Karian rebels. Despite being a commander, she shows her softer side often. One of the scenarios is dedicated to testing mostly her resolve. Sigdral is a dwarf female and a rune magic user, who likes to spend time outside the caves. Unfortunately for her, she loves Argatyr, the king of the Motsoghnir. Branwyn is the last addition to the core group. The story doesn’t imply that she has any significant powers, so it is kind of strange story-wise to give her a strong spell. While I like the character, apparently her most important function in the story is to become Mahyus’ girlfriend so that she can be saved in the next scenario. Nevertheless she demonstrates that she’s not exchanging solitude to servitude.

Finally, the main character himself, Akhen. He’s the kind of guy who at first seems to have nothing special about him. This seems especially upsetting since he’s Myra’s descendant. However, he is virtuous and determined to protect what he holds dear. One of my favorite features in the story is the relationship between Akhen and Nyx. First Akhen shows he cares about her life. Later in a short exchange he gives Nyx new hope and meaning in life. These emotions of being shown care and finding new hope and meaning are something I feel particularly strongly about.

raging-thunder-story.jpg

After trying Trident of the Seas for the the first time, Akhen has been careful to never skip an instruction manual again

The second part of WotJ (V) is somewhat boring. The worst problem is that it seems somewhat meaningless. It is not hard to guess that Drakes wouldn’t be staying around for long; if they really were even moderately numerous, they could easily wipe out most of the shipwrecked rebels and residents. Their appearance seems like a huge coincidence, and they don’t really bring anything new to the story. While it is interesting to hear how they lost Wesnoth, that could have been covered in the next episode.

The Washraha are generic barbarians, and are annoying to fight against. Most of those scenarios are pretty boring, but amidst them there is a cave scenario that is really exciting and foreboding. Until the very end I feared I would have to confront some extremely dangerous enemy. Though I didn’t have to, the ending is very effective at passing on the suspense. And it is hilarious how that one Chomi companion is always dead wrong. The Washraha scenarios introduce some other important lore related to Akashia, although it’s not yet clear in WotJ.

The most important mission in the second part is gathering allies. However, the way it goes seems very counterproductive. The Windsong refuse. On the way to the next island, rebels are shipwrecked . First they have to save their somewhat weak allies from Drakes. Then they travel deep into enemy territory to assassinate the leader of Washraha, enrage them and face the consequences. While Washraha lose the following battle, they are far from being defeated. So the rebels and their new allies leave the island, while knowing that the Chomi left behind are in a great danger. They find new allies, Folk of Woods, but have to fight Skironians and some minor enemies first (not that I’m complaining about fighting Skironians; meetings with lich lords always turn out interesting, especially with Aegaion). All of this happens during a long span of time during which Motsoghnir dwarves are vanquishing Aigathol dwarves and the rebels left behind (i.e. most of them) are losing to Maat’Karian loyalists.

In the end, I didn’t much use for the new allies anyway. I didn’t recruit their units. Giving them their own keeps (AI-controlled preferably) and some lines in dialogs would have made them seem more important.

true-darkness-story.jpgIn the last part of WotJ (VI) protagonist halt the Motsoghnir’s genocide campaign, and topple Menon Hekare. In practically every scenario, the protagonists are forced to kill former allies and citizens, which makes them very sad. The friends are also very happy to see each other again after being separated for a long time. But the happiness of reunion is mixed with a sad relief, because the friends who were left behind earlier, believed the others to have died. The emotions in their reunion are very contagious.

But without a doubt, my favorite part of the story is the scene in Menon’s mind. It’s great to see Akhen meet Menon as he really was for one last time, and a moment of happiness in Menon before he dies, but most importantly, the scene serves as a lesson that is both realistic and beautiful at the same time. How you think it applies to real life is up to interpretation, but if I had to give mine, I would say that don’t deny your feelings, and never believe you’re above emotions. Actually, the whole campaign serves as a warning on what happens when people think they are above others.

Perhaps this is why I also liked Motsoghnir’s genocide campaign. I already saw problems incoming when they were met first time in ASoF. The Motsoghnir were not happy to see elves or humans, and Alenya lived outside their society. I figured that they would resent Alenya’s and Dvalin’s offspring. It is typical for dwarves to be prideful and not able to open themselves to others. Just like in history, societies which believe in their own superiority, and cannot open themselves to others, tend to commit horrific deeds and then eventually suffer a defeat. This resemblance with history is certainly one reason to like Motsoghnir’s genocide campaign. But I feel like the more important reason is the excitement I had to deal with when playing with them and later against them. They are powerful and unpredictable; when they are allies, it feels like they could do something radical at any moment. And they are strong enemies too: unlike most dwarvish enemies in most campaigns, they use both magic and brute force. Motsoghnir scenarios also feature the best audio-visual effects, such as sounds of thunder and “True Darkness”.

Later Akhen decided that it would be best to build their capital elsewhere. It is kind of sad to see the capital in ruins later. On the other hand, the feelings this story causes are the very reason I love it 😉 . Still, I find it little strange that everyone leaves the city. Skironians should be able to find Maat’Karians from the desert anyway, and there are other Maat’Karian cities nearby anyway. Leaving all those cities is just too complicated, especially with all the wounded. They were still at war, so they should expect an attack at any point or at least active spying.

Technically speaking WotJ’s greatest advantage over ASoF from storytelling point of view is that WotJ contains a lot more non-essential dialogs. This is great, because it caused the characters to feel more humane, and they seemed like friend even during missions. I liked the relationship building that happened during these dialogs. Especially Mahyus’ interactions amused me, not to forget the dialog between Akhen and Nyx.

Like in ASoF, the writing is great. The objective quality is very good, and they convey emotions very effectively. If I had to criticize writing somehow, I would say that there were more errors (grammar, wrong words) in WotJ than in ASoF. Most of the encountered errors should be fixed already though. The second minor issue is that occasionally… the English felt perhaps… slightly too sophisticated? It feels strange to interrupt reading a dialog to check a word from dictionary. And people don’t tend to use sophisticated words when they discuss. I believe they work better in narration, where they can be used to convey meanings and emotions in a precise manner. Somehow I remember this issue better from ASoF  though.

The portraits are nice, except for perhaps two of them: grown-up Akhen and Nyx. In my opinion, grown-up Akhen portrait is too muscular and warrior-like. The young Akhen, on the other hand, is clearly a wizard. And I don’t like Nyx portrait, because the huge left eye really sticks out, the mouth looks misplaced, and in general the face lacks character. But having searched through OpenGameArt, I know that there are no real alternatives for Nyx’s portrait (with compatible licenses). (Of course there were some relatively minor characters with worse portraits)

Trivia: The name the leader of the Windsong is called Vappu. In Finnish, Vappu means May Day.

Advertisements

The Dragon Trilogy Review series: A Song of Fire

I got this little idea of writing little reviews of stories, campaigns and games that I’ve read / watched / played.

This post is the first part of the Dragon Trilogy review series. The Dragon Trilogy consists of the following Wesnoth campaigns, made by revansurik:

  1. A Song of Fire
  2. War of the Jewel
  3. Aria of the Dragon-Slayer

Be warned though. It seems like I have a really soft spot for emotional character stories with a friendship and / or romance theme. It’s also extremely probable that I’m letting my experience with War of the Jewel influence my judgment ;).

Let’s begin

A Song of Fire

ASoF-campaign-image

Part I: The Last War – In a long-forgotten era, at the heart of the Great Continent, an ancestral evil is awakened, threatening to destroy the whole world. Follow young Myra in the war that will alter the future of Irdya and its peoples forever.

 Gameplay

In general, I would say that the gameplay of ASoF is better than in most of the mainline Wesnoth campaigns. The factions in ASoF are less balanced. For example, many of the elemental units are completely useless. On the other hand, Aragwaithi faction is very nice. Its unit tree is very diverse, the units are interesting and the graphics are nice. While the Windsong human units are interesting, they don’t seem very useful. I’m not going to reveal the other factions that will appear later on.

ASoF has about 30 playable scenarios. One upside is that it doesn’t have dungeon grinding scenarios, where player has to spend hours after hours in a cave or other slow-movement area, searching for something and killing hordes of enemies. Unfortunately, the first third of the campaign contains many scenarios where you play with huge armies against huge drake armies. On insane difficulty, most of them are level 2-3, so they deal huge damage and are blindingly fast. In huge battles you’ll be spending hours making sure that your formation is perfect, or you will lose high level units. Fortunately, not all scenarios in the first third are like that and the last two thirds maps are much better in this regard. Not that I always disliked the huge battles; I often enjoy meticulous planning.

One downside of ASoF is that it doesn’t have a custom AMLA (After Max Level Advancement) -implementation. While Myra can be leveled quite far, many of the supporting characters will reach level cap far too early. Fortunately this mistake was averted in the other two campaigns of the Dragon Trilogy, which had very enjoyable leveling experiences.

One minor note about the difficulties: Hard difficulty turned out to be pretty easy. In many scenarios it was easy to avoid heavy losses by finding the best strategy.

Story

My favorite part about ASoF is the story, and the elements that make it feel “immersive”. Before covering the interesting parts, let me just say that the grammar and writing style were good. I never noticed any kind of errors.

The story progressed logically, which made it feel more natural and believable. By logical I mean that the actions made sense, and the events that happened had reasonable probabilities to happen. Of course the story had some surprises, but they all made sense.

The characters too were believable, which makes them more relatable. The heroine wasn’t 100 % purehearted idealistic all-good character. Instead, her main motivation was to protect what she felt like her only family, the first ones to fully accept her. Sometimes she didn’t want to help people who had wronged her in the past, but was ultimately persuaded by her friends to do so. She was also harsh towards her most loyal and innocent friend. However, as she gains status of the the leader through her actions, she feels responsible to do her best. She also made some dangerous decisions when desperate. Even then, she felt like a good leader and person. I also liked how ASoF contains many supporting characters, each with their own personality. While certain characters have quite generic personalities, I don’t think it’s that bad.

I also liked how ASoF contains “strong women”. By strong women I mean women who have important roles on their own. Too often women characters seem more like “rewards”, somehow inferior or doomed to praise their husbands etc. On ASoF, all women are important on their own. (I don’t have super strong opinions on women on games, but I like it when important characters have some depth)

The dialogs were good. They conveyed emotions, were well written and interesting (and not just excuses for the next scenario). They often contained humor too. In certain cases, a character could say something ridiculous while being completely serious.

ASoF contains non-essential dialog too. For example, sometimes moving two characters to adjacent hexes triggered a dialog, usually primarily between the two characters. The dialogs were often cute, and were used to strengthen player’s emotional connection to the characters. My only complaint is that ASoF didn’t contain as many non-essential dialogs as other revansurik’s campaigns 🙂

I loved the music in ASoF. The repertoire of UMC-music used was rather large and of good quality. One of my favorites is the awesome intro music.

Conclusion

A Song of Fire is an excellent Wesnoth campaign. I enjoyed most of the scenarios. While I really liked the story of ASoF, but it was the sequel that really made me fall in love with it. What ASoF really needs is custom AMLA and perhaps less huge battles.

My final rating: 4.5 / 5.0

 

An important note about reviewing

I’m trying to be careful while writing reviews. The reason is based on my knowledge of psychology.

The ultimate reason why a person likes something is based on emotions. Those emotions are unreachable from the “rational” mind. However, if the rational mind is pressed to give an explanation, it will invent its own reasons! Those reasons are NOT the real emotions.

To make matters worse, your brain might be fooled to believe in those reasons, which would ruin the experience retrospectively.

The following article explains the phenomenon well:

Introspection Illusion

Arkhados: Plans for summer 2014

Greetings!

If you have been following my blog you may have wondered why I haven’t posted anything for a time.

There are many reasons. At first I just wanted to implement most of the goals I mentioned. Then I got very busy at school, then I started new project and after that I just wanted to focus on programming Arkhados 🙂

So I’m back on developing Arkhados (on my free time) and I have “big” plans for it. But let’s talk quickly about previous goals first.

In my previous post I mentioned many goals I had in mind. Most of them have been more or less implemented:

  • There is now effect system for different use cases. Buffs like Purifying Flame show visual effects.
  • Spell bar works. It shows icon for each spell and cooldowns.
  • Some spells have sound effects but many of them don’t.
  • Team play hasn’t been implemented but the groundwork for it has been done.
  • Arena is lot better now. It has walls and lava at the edge.
  • Music has NOT been added.
  • Camera is now somewhat configurable
  • At the end of each round statistics are shown to each player
  • Dummy AI has NOT been implemented

I have also made changes that weren’t listed as goals. One of the biggest ones was that I’ve added new hero with some unique mechanisms: Elite Soldier.

Elite Soldier is sci-fi themed character with roots in Quake. Elite Soldier has few weapons as spells. Elite Soldier has low cooldowns compared to power of his weapons but to compensate for that each weapon has limited ammunition which Elite Soldier gets over time. Elite Soldiers weapons are Shotgun, Machinegun, Plasma Gun and Rocket Launcher. Elite Soldier’s movement spell is Rocket Jump which consumes one Rocket. Elite Soldier’s core skill is “Like a Pro” which gives Elite Soldier ammunition, armor, and most importantly, ability to shoot while moving, just like in Quake 🙂

Another feature is the buff bar at the right edge of the screen. Now whenever player get’s buff, its icon is added to right edge of the screen and cooldown is shown. I might move buff bar to elsewhere because right edge is not visible enough.

There are also many improvements I’ve made that I won’t enlist or mention here.

My next goals are to move all synchronization to use UDP, few other networking improvements and then fog of war. I have already changed some of the syncing to use UDP instead of TCP but only for messages that don’t need any delivery guarantee.

Before I’ll switch all syncing to UDP I’ll first reduce packet size by changing all String data to use numbers. I’ve already done that to many messages but now I want to remove Strings from all messages.

When all sync packets use UDP instead of TCP, I’ll send packets with delivery guarantee too in batches. Perhaps I’ll do it like Quake 3 does it and send them with all other sync data, at least from server to client. Batching sync messages will help reduce networking overhead and make way for the next big feature, fog of war.

Fog of war is important feature because it will make Arkhados lot more tactical and exciting since you aren’t aware of all enemies movements. And after fog of war has been implemented on server side, it is much more convenient to add skills like invisibility 🙂

Implementing fog of war won’t be easy though. It requires me to change many things and learn new graphics stuff. (But that also makes it more exciting for me 🙂 ). There are at least 3 big things I need to think about lot:

  1. Determining which entities can be seen by which players. At first I will make it sight range based but later walls too will break line of sight.
  2. Only sending information about entities that player can see. This depends on both 1 and the networking changes I will make. This can be lot harder than it sounds really.
  3. On client side I need to shade areas that player can’t see and perhaps even render some fog.

Other thing I want to mention is that I have been planning to introduce Arkhados for bigger community for some time and now I believe that this summer would be the good time to do that. That doesn’t mean that Arkhados is ready, it just means that I’m more satisfied with its inner workings.

I’m not going to advertise Arkhados in many places and I probably won’t make website for Arkhados yet. Instead, I’m going to mention Arkhados at two places where I hope I can get contributors from: opengameart.org (OGA) and jMonkeyEngine’s forums, because Arkhados uses it.

I hope that some artists and designer will get interested in Arkhados because my artist’s skills are very lacking. I can’t make 3D-models and I can barely animate them if they have rig. JMonkeyEngine forums will hopefully have some skilled programmers who will be interested.

But before I want to introduce Arkhados to any potential programmer contributor, I need to implement the mentioned networking changes and fog of war because they will have big impact on code. I hop ethat after those changes the most central mechanics of Arkhados will be more stable in the sense that they won’t be changed much.

It will probably take weeks before the changes have been done. Meanwhile I will try to prepare Arkhados’ GitHub page for it and maybe provide some documentation. I have already added many ideas to the GitHub page and I will be adding more as I get more ideas.

Arkhados report #5

Great news! Both characters are now functionally complete, meaning that they both have all spells. There might be some details I’ve missed and characters might not be balanced but that’s irrelevant right now. Unfortunately, not all of them are easily observable. For example, Embermage has shield spell but there’s no shield that you can see so.

My next step is to add lots of new features to Arkhados without adding new features to characters. There’s a long list of features I want add at this phase:

  • Visual effect system (for example, Embermage’s shield)
  • Spell bar
  • Animation system that works
  • Sound effect system
  • Team play
  • Better arena
  • (Music)
  • Camera settings
  • (Statistics)
  • (Dummy AI)

I guess it’s clear why these are important. I will design and implement visual effects first, because they convey useful information that right now isn’t otherwise available, as in the case of Embermage’s shield spell.

Arkhados report #4

It has been long since I have posted anything here. Neither I have commited anything to GitHub-repo for long time. That’s not because I have been lazy though. Actually, I’ve been working very hard to get new model for Arkhados.

I took this model and started animating it. I had no previous experience with 3D-animations so learning took its own time. However, now it seems that I have all needed animations in satisfactory state. Likely they need some more working but perfection is the worst enemy of good so I’m going to use what I got. I intend to contribute back my changes to model, but not yet.

Before I started animating new model, I added some new features to the game:

  • Character’s velocities are now synchronized. Unfortunately, I haven’t been able to test this enough because of external factors
  • Input can now be configured in settings menu and they saved
  • Free camera is now implemented and used by default. It is not configurable yet
  • Terrain’s LOD-control is now properly set, causing much better performance
  • Characters and projectiles move faster now
  • Initial hero selection screen (not tested)

Next of course, I’m going to add this new character to game and test here selection screen with it. Then I’m going to add spells to it. I guess I have to rethink some aspects of how character entities are added to world and how they are animated.

Meanwhile I’ve also redesigned some upcoming characters with Allexit. He too realized now that movement spells are important for fast paced game like this. I’m also waiting for new Meteor spell that Otto has (or hasn’t) been doing.

Unfortunately, I think I’ll be busy this week so I don’t know when will this new character be added.

Arkhados status report #3

This is my first status report after renaming game to Arkhados.

I just noticed that I haven’t properly mentioned Embermage’s second spell that I implemented. Embermage’s second spell is called “Ember Circle”. It’s area of effect damage spell that periodically deals damage to player in the selected area. It has small delay to make it possible to avoid damage.

After that I’ve implemented another spell called “Magma bash”. Magma bash is projectile spell that does no damage and does not have knockback effect but instead it incapacitates enemy character  for certain time. Projectile is quite fast and small and it has pretty small cooldown so that Embermage can better control enemies. Since Embermage will not have many protective spells, it needs crowd control spells.

Since adding casting time, game’s controls have suffered a lot. At one point it was very hard to NOT interrupt spell casting. If you tried to cast again or move, you interrupted casting and spell was put to cooldown. Another problem was that during casting you were not able to rotate so targeting enemy was more about luck than skill. Third problem was that if you were moving to some direction and casted spell, your walking would not restore after casting even if you were pressing keys. It made movement and casting quite clumsy.

Now I can happily tell you that those problems are fixed! I believe that Arkhados’ controls are pretty nice again.

Lately I haven’t been programming that much but instead, I’ve been documenting code and writing “How to add spell” -guide. The guide is almost finished and it’s already available in project repository’s wiki pages. If you are programmer and want to start contributing I suggest you to start from there. I’ll put a link to some of our hero designs once few issues have been worked out.