User:Ken Oh

From The Battle for Wesnoth Wiki

What interests me in making Wesnoth add-ons is altering the gameplay so that it is mostly the same as normal, but adding one or two things which fundamentally changes the game. I like trying to make elegant systems but am not fond of creating storylines/dialog/etc.

Wesband (v0.4.0, Wesnoth 1.8.2)

Objectives: Wesband is a Wesnoth version of a roguelike game (specifically Zangband) being developed by Dovolente. Dov made an excellent dungeon generator that connects to an overworld, and he chose my Modular RPG Era as what he wants to connect with it. This was great news for me, who wanted to develop the era but wouldn't be bothered to create a campaign to showcase its features. In the end, I hope to make a fun game that really hasn't been done before: a multiplayer, turn-based dungeon crawler.

Result: Unfortunately, Dov is busy with real life, so he passed the project on to me. I've been slowly moving forward with it until a great asset came into the project. A guy named Exasperation undertook the task of learning the existing code forwards and backwards and has made many great additions to it.

Today: Wesband has changed a lot under the surface. I've taken NPCs and structured their internal workings just like PCs. This results in a lot of flexibility, variability and NPCs can even level past their normal max level while still gaining appropriate skills and stats. Exasperation has included a lot of Lua functions, new to Wesnoth, which make a lot of things available that were once impossible. For one, there is a chat output that gives the players information without making them click to clear it. Exasperation has also, employing Lua, made the dungeon creation faster and the rousing code is awesome. Players only rouse enemies once they "see" the player or his henchmen. This results in much faster gameplay than before. Oh, and almost as an afterthought, Exasperation expanded the player sides to 4 now.


Level 0 units for all mainline units

Objectives: We have units like Peasant, Woodsman and the newly-added Ruffian in mainline, but what is a Mage before he really has the experience to become a full level 1 unit? I made some level 0 units for Marhault's Dominion and, when that was lost, I wanted to take that vision further. I decided to make those units in order to flesh out towns in RPG scenarios.

Result: My art isn't great, but it works. The mainline human units are completed. Most of the elfish units are done and the goblin units are done.

Today: Progress is halted mainly because of work on Wesband. It will continue as a fun break from the heavy coding of my other projects.

Additional level 0s general thread Additional level 0s art thread

Modular RPG Era (v0.2.3, currently integrated in Wesband)

Objectives: To create an RPG system that closely resembles Wesnoth's mainline era, but allows flexibility for individual hero characters to advance as they want, without the restrictions of classes. This could be combined with existing MP RPG scenarios or altered to fit with its own random RPG scenarios.

Result: The Modular RPG era system has been integrated within Wesband. There were problems with keeping it as an era in a multi-scenario campaign, and it just became too complex to maintain for other users' RPG scenarios. If I ever get around to making my WesSaga idea, I can easily lift all of the Modular RPG content and settings into Wesband.

Today: As far as an era goes, MODRPG is incredibly robust. There are many different items, weapons, abilities, weapon specials and spells from which to choose. Most exciting are all the different races. With humans, elves, dwarves, trolls, saurians, goblins, and orcs, we've included every major land-dwelling Wesnothian race except for drakes. We're really just waiting on new drake sprite art to be finished before we adjust the sprites and try to include them.

You can find it in Wesband

Living Villages (v1a, Wesnoth 1.3.10)

Objectives: This is actually a side afterthought of some code that is going to go into the core of the Modular MP RPG Era. The idea is making organic scenarios where the environment interacts with itself as well as the player.

Result: While it works and should be fun, there's not much balance to it all. The villages belong to a side on a MP map where they can expand or be destroyed depending on terrain and player actions. The villages can't be captured, but rather they are effected when a unit rests there. Income is gained by whatever side taking the gold from the village.

Today: I'm not planning to do anything else with it. It took just a little bit of work to do beyond what I already had and I'm happy with it as it is. Find the latest version on the campaign server or here: Living Villages

Abilities Era (v0.3.1a, Wesnoth 1.3.11)

Objectives: To create a fun era in which every unit has an ability or weapon special that is not found anywhere else.

Result: I have made 3 factions (Pirates, Bandits and Knights of units leveled 1 and 2 and, with the help of many others, created a unique ability every unit. The level 1 units each have either an ability or weapon special that effects what it can do. The level 2 units have some sort of leadership or aura effect that alter adjacent units.

Today: The era is complete except for the small details. Play-testing and bug-fixing will come slowly as I'm more focused on other projects. Eventually new art would be nice too. Find the latest version on the campaign server or here: Abilities Era

The Endless War (v0.5.1, Wesnoth 1.3.2)

Objectives: I noticed some people on the forum talking about what it might be like if players didn't lose dead units, but got to recall them back next scenario. I decided to combine this concept with another of mine that pits you against a consistent enemy and, if you win against them, you move to a harder scenario for you but, if you lose, you don't just get game over. Instead, both of you move back to a harder scenario for them but an easier one for you. Only after one side can win a consecutive times in a row will the game end.

Result: I made this with one balanced scenario (a MP map) and a home map for each side, with plans to add a random map between the balanced and the home maps. I successfully allowed dead units to be recalled on both sides, but since the AI doesn't know how to recall, I had to do it manually.

Today: I ran into some bugs and eventually stopped working on the project out of frustration due to some bugs. I have since tried to start it up again, but between having problems with bugs and trying to update deprecated maps, I failed to complete the project. The latest version can be found here: The Endless War

New: Fortunately, this has inspired several spin-off projects.

Despair and Decay (v0.3.1c, Wesnoth 1.2.x)

Objectives: My objectives for this campaign was to, firstly, make a campaign with Undead, an under-represented faction for campaigns. Secondly, I wanted to do something to make Walking Corpses much more usable and lastly I wanted to create large battles. I've always been one to simply make a huge random map FFA with AI and treat it as if it was a campaign. I thought if I could make large scenarios which have as many interesting parts to them as a few individual scenarios, then the player wouldn't get bored.

Result: I came up with an idea to retrace the Undead's push through Wesnoth during and slightly before the events in Heir to the Throne. Your character starts as a risen dead who has no real idea of his life's history. You go to places that Konrad and company later take back, like Elensefar, and then options unfold where you can possibly meet with Konrad back at Weldyn, at the battle for Wesnoth (this isn't the best ending, since it doesn't really happen in HttT).

Zookeeper was kind enough to write code for me that replicates any of your Walking Corpses. This make Walking Corpses useful, and often vital, to strategy. Also a hat tip to flava clown who did a lot of help things along.

The large battles were loved by some, hated by others. My problem is when I was working on the campaign, I didn't know WML well enough to add a rich experience.

Today: Development is on hold. It's not that I have lost interest in the project. It's simply that there are so many more interesting things I've been working on and want to finish before I go back to coding as mundane of a project as a regular campaign. Even though only 4 scenarios remain, a lot of work needs to be done cleaning up some scenarios, making some more interesting and working on writing the storyline down. That is not to mention updating maps and WML for new versions. I regret abandoning the project and disappointing and losing an asset such as flava clown. The latest version can be found here: Despair and Decay

Marhault's Dominion (none released, Wesnoth 1.5.5)

Objectives: Spencelack's Ooze Mini-Campaign got me thinking about making a survival scenario where you have to protect your castle from waves of sieges. Also, the aim is to blur the line between campaign and scenario.

Result: I made a huge map with a castle in the center where you can only recruit peasant units to start with. From there you can upgrade them to more advanced level 0 units which can then be advanced into any of the human level 1 units. Any advancement to a unit unlocks the recruitment of that unit up to level 2 units (you can eventually recruit Knights, but never Grand Knights).

Your castle is surrounded on four sides by Elves, Undead, Bandits and Orcs who collectively send units at your castle. They have keeps and leaders and they constantly recruit to siege your castle. If you manage to kill a leader, it is then replaced by another one a few turns later, but at least you get a reprieve from that side's recruiting for a while.

In helping the balance between campaign and scenario, I've added a "retire" option for units as a way to take units from the field and put them into the recall list. Once retired, units can be recalled after 6 turns. This should help when the player gets too many units to keep with upkeep.

Also, later in the game, events are triggered that enable quests. These quests are mostly only able to be completed by a certain level 3 unit according to their unique abilities. Once completed, they give that unit a special treasure or ability which makes the unit a hero that is above and beyond other level 3 units.

Today: I lost all of Marhault's Dominion when my laptop crashed about a year ago. I've been able to rebuild most of what I had before plus I reduced the map nearly half the size. Sending a high-level unit on a quest only to have it gone for 20 turns was simply unacceptable.

WesSaga (none released)

Objectives: This is an RPG I would love to see. WesSaga is how I plan to fulfill my own request.

The idea is to procedurally make a map and plop players on it. The map will have towns, nations, factions, units, environments, etc. that will interact with itself. Players will interact with those forces, creating further situations to interact with.

Imagine this: Players roll into town as adventurers. They discover Goblins raiding their town every so often. Maybe the players defend the town from the raids, or maybe they go to the source of the raids. At the source, they find an Orcish army is sweeping through the land. Defending the town might have make it strong enough to resist, or maybe not. Maybe the players have to flee the town to find a capital of human civilization in the area, and try to convince them to prepare for the incoming army.

Plot points could be made randomly and procedurally. I think of how Nethack makes random rooms. Some are dead ends, others are one of the, but not the only, ways to the floor's exit. I think this could be done with plot and storyline. This project will see if I am right.

Result: I've made a human town system that interacts with the land and has a rudimentary trading system within the village. The concepts are just forming in my mind now. What needs to happen next is to have villages that grow, spread, interact with other friendly villages and defend itself against monsters.

Today: Wesband is moving right along, so I'm not working on this so much. When Wesband is mostly done with, I'll get back to this. Of course, any work I do with Modular RPG while working on Wesband will always help this project.

However, I'm a little concerned about the viability of this project. The main problem is that I want masses of enemies to act on their turns. This may lead to too much time between player turns. I think when I do try to make this, I will start very small, in both concept and mapping, and move on from there.

Assassin in the Forest (v2, Wesnoth 1.6.5)

Objectives: Elvish Pillager once made a scenario that I've never played, but I heard about it from someone who bumped a really old thread. The concept seemed fun and easy to do, plus I needed a break from Wesband. (I tried to get his blessing, but he doesn't answer PMs and hasn't been in the irc room since a month of writing this).

Result: I took part of one morning and made it with a beefed up Assassin. Here are some extra abilities that he has: -conceals -nightstalk -sneak (use no more than half of max moves to stay hidden) -slash&dash (can use remaining moves after attacking with melee, each hit with melee adds 1 move) -remaining ammo (if you kill your opponent with your throwing daggers, any strikes left can be used and you can attack again).

It's kind of fun, though there are some problems: you're a little useless at the beginning, as the AI destroys each other quicker than you can do anything, and the only real thing you can do is make sure one leader doesn't get so strong that you won't be able to beat him by yourself.

Today: I'm pretty much done with this. It was a fun distraction. If anyone wants to do anything with it, be my guest.


Concept: I always thought the WML Wiki would be a little better if it had more examples. This is one thing I've done in the past: but I think we could go further with this. It's a shame I'm too busy writing WML that I'm going to actually use to even update the link above.

You're Making Up WML

Concept: Every once in a while, a new user posts WML with completely made-up syntax in the WML Workshop. A collection of these would be funny (if nothing else), but the page could be useful as a guide to help those users who post such things understand the problem and stop doing it.

Anyway, here are a few links to get me started:

The High Seas: Full Sail (none released, Wesnoth 1.7.x)

Objectives: During getting bogged down coding Wesband, I started thinking about another project, a way to expand the concept of Bob_the_Mighy's The High Seas. What I wanted to do is make every hex be able to have a larger representation. It would be like TL's Imperium mod . There would be overworld units (usually ships) and then zoomed-in spaces where the actual battle takes place. That way, ships could connect and units could board during naval battles. Another inspiration is Ultima Exodus: ship1.png ship2.png

Result: I built some maps and some prototype ships and came up with a bunch of concepts. My favorite was how a kraken could attack ships directly, on the overworld view, but then tentacles could try to grab sailors and drag them into the sea. Another key element that would represent naval scenarios is how ships could view further than their movement, and all viewing would be uniform (something like 12 hexes?). Another improvement is to root it in Wesnoth's world. I made a map that was the west coast of the Great Continent and extended west to the Green Isle (now over-run by pirate Liches). The "era" would be before the fall of Wesnoth, when naval tech got to the point where they were able to rediscover the Green Isle.

Today: I ran into some problems with how all this would work with Wesnoth's gameplay. Most of all, how hexes would connect to each other. I can't even remember now what the problem was, but I decided I had recharged my batteries enough for Wesband. I also realized how great a project Wesband is, and that I should really finish it.

Diplomatic-noth (concept)

Concept: This is a very old idea that I came up with: Wesnoth with a diplomatic slant. Majorly inspired from the Romance of the Three Kingdoms games, the map would be divided into regions that could be owned. The computer AI would mostly enforce this. Diplomatic arrangements would set up the AI's assessments of you as a player and a nation. Each AI would see your perceived strength, threat and trustworthiness (amongst other factors). And, while each AI would try to advance their own cause, they would constantly try to balance the line of not being too aggressive. Basically, if a player tried to play like you do in vanilla Wesnoth, the FFA way of doing things, that player would be perceived as highly threatening and not worthy of trust, and thus would get ganged-up on by the AI. However, even if the player plays nice with the other remaining sides but amasses a ton of power, the threat level gets too high and the remaining sides would have to ally to stay alive. Winning wouldn't be as simple as picking off each enemy one at a time. The main problem I have in the concept is whether or not fog should be enabled. Being able to hide things from other sides would add a lot, but having absolutely no info of the enemy wouldn't work at all. Other ideas that came to mind: Spies, which could be invisible to enemies. Diplomats, which would stay in allied side terrain and benefit them somehow. The other major issue is how to make AI adhere to the rules that it's going to set for everyone else.

This page was last edited on 19 September 2010, at 16:51.