War 2.0

From BattleMaster Wiki
Jump to navigation Jump to search
War2-Blood.jpg

War 2.0, as described in the first three sections below (preserved for posterity), is no longer on the table. Instead, the developers are working on incremental improvements to the BattleMaster codebase, as described below.

Introduction

After seven years of organic growth, the BattleMaster codebase has become more and more difficult to maintain. The number of bugs is way beyond what I consider acceptable, and new features are more difficult to add than they should be. More importantly, changes to the game structure result in breakage all over the place.

The only way out of this mess is a code refactoring, and a cleanup of some game structures. And while we're at it, let's bring BattleMaster into the 21st century:


BattleMaster meets "Web 2.0"

A proof-of-concept already exists. BattleMaster can be:

  • XHTML 1.0 compliant
  • well-structured according to the MVC concept
  • gain added functionality such as client-side table sorting or some AJAX
  • and still remain the same easy and accessible game

After some searching, I have decided upon the CodeIgniter framework as the base for a refactored codebase.


Structural Updates

In addition to a code update, there will also be a few structural updates. All the half-finished stuff that is lurking around the game will be finished (we simply won't be moving over the old stuff), and a few other changes will be made that are easy to do during a refactoring and would've been a lot of work on the old code.

A New Direction

A complete refactor or rewrite turned out to be infeasible with the development resources available to us. Thus, in October of 2008, we decided to move to an incremental approach, fixing bugs in the current code and adding and changing major chunks as we can. This has already led to a number of important changes, such as the new class system, the beginnings of the new economy, the finished referendum election system, and many other features and fixes.

Ongoing Efforts

There are a few projects the developers are working on that are either never likely to end, or simply long and involved, and not likely to finish soon. Some of these are listed below.

  • Bugfixing - an eternal fact of life in BattleMaster, as long as development is going on
  • UI updates - a long process that will eventually have the entire game being XHTML 1.0 compliant
  • Mobile UI - going along with the former, there are plans for an interface optimized for playing on mobile phones
  • Combat system - the combat code is Byzantine and difficult to understand, and needs an overhaul—and it's getting one, but it takes time

Known Unimplemented

There are still several parts of the code that are not fully implemented, but have enough there that the players already know there's something to look forward to. Some things on this list may disappear because the devs have decided that the feature is not worth the development time or is obsolete, but most will disappear from here only when they are fully implemented.

  • Ancient Documents
  • Sponsor ability to view army details
  • Change realm full name
  • Allowing a ruler who is neither lord nor duke to offer oaths
  • Auto da fe
  • Whisper to another prisoner
  • Contact management
  • Infiltrators attacking caravans
  • Infiltrators attacking recruitment centers
  • Adventurer ability to get more details on a group of monsters or undead
  • Laying in ambush for enemies
  • Message forwarding
  • Closing city/stronghold gates
  • Shadow government option to attack enemy economy
  • Some scroll spells

If you know of any other places in the game where it tells you that something is unimplemented or TODO, but it is not listed here, please note it below, and it will be reviewed by a developer.