Battles&Balances

a rule system for computer role-playing games

second edition

No Time To Play

2019

Introduction

Designing a computer roleplaying game is a lot like preparing an adventure for your real-life gaming group, except you won't be there to game master in person. You have to send a computer program instead, and it's just not the same. A machine can't tell if the players are having fun. It can't make a monster weaker on the fly if they're having trouble, or fudge a roll of the dice to prevent frustration. Allowing a clever unanticipated course of action just because it's so cool that the players thought of it is simply out of the question.

Trouble is, rule systems for tabletop RPGs are usually written with the assumption that you can. That you will be there in person to improvise wildly when the situation calls for it. An assumption that infamously breaks down when such a game is converted to a digital format. Early CRPGs were widely criticized for having simplistic combat and even worse magic. And in all honesty, how do you implement Tenser's Floating Disc in your average computer game? What do you use it for?

Not that gamebooks, which thrived during the same era (from the late 1970s until the early 1990s), were any more sophisticated, but at least they could store enough text for a proper narrative — something fans of the genre increasingly expected — and you could keep a finger or three between the pages as you jumped around. But in many videogames you can't even do that.

The point of Battles&Balances

I remember an episode from The Flintstones where Fred is watching a game on TV. It's two guys standing in the ring, who take turns hitting each other on the head with a big club. Combat in games can often feel exactly like that.

On the other hand, the most interesting decisions in modern MMORPGs often boil down to, "what precise combination of armor pieces improves the critical hit chance by one percent more for this particular class build". And clearly a lot of people find that fun. Not me.

This is where Battles&Balances comes in. It supports computer games first: every stat has a couple of uses, and they all interact in simple, clear ways. You can easily compare the power of various monsters and character builds, and be reasonably certain they won't be too strong or too weak. On the other hand, every change matters, so choices have meaningful impact, and combat involves lots of little modifiers to take into account.

Last but not least, you can still play the game with dice on a table. That keeps the rules grounded, and easy to visualize: "roll a pair of six-sided dice and add three" yields a number from 5 to 15, with an average of 10.

Battles&Balances is based on extensive research, and has been tested in working roguelikes. Most rules have variations to pick and choose from, and a magic system is included, along with guidelines for making your own. Read on and see what it has to offer.

Wait, what's an RPG?

(You can probably skip this section if you're familiar with the concept.)

Roleplaying games are make-pretend for adults. Who hasn't played mom, or doctor, as a kid? When enough of your pals were outside, you could play Cops and Robbers. And if you were nerdy enough, the latter turned into "stormtroopers and rebels", or "villains and superheroes". The details changed, but one constant remained exchanges like this:

"Pew pew! You're dead!"

"Nuh-uh! You missed!"

"Did not! I'm a good shot!"

"But I'm quick and can dodge!"

"You can't do that! It's cheating!"

"Sure I can!"

More mature players would resolve the dilemma by consciously invoking tropes such as the Rule of Drama, Rule of Cool or Rule of Funny, and indeed that's a popular way to play especially on forums or chat, called freeform. But sometimes you really want to keep track of the details ("did I fire five shots, or six?") to balance out the good and the bad. Which in turn requires some calculations, and dice or cards to spice up the play while still keeping it fair.

That's really all an RPG is — not how they came to be, but what they grew into. On the computer, they preserve the sense of adventure and strategic challenge while adding a dose of instant gratification, along with elements from other media such as books and movies. Either way, making them work well is an art; hopefully you'll find this attempt worthwhile. Enjoy, and thanks.

Characters

Characters are the heart and soul of a roleplaying game. They may be controlled by players, a game master or the computer; they may be blank slates, or have a cool name, detailed personal history and colorful description, with a portrait to match. Either way, to the rule system they are a set of attributes that determine what they can do in the game and how well. In Battles&Balances, you're not just a number, you're half a dozen numbers, and then some.

First of all, any character in this game has a size. The size is always an even number, usually between 4 and 12 (because you'll have to roll dice for it, and divide it by two in some situations). Humans are represented by 8-sided dice, abbreviated as d8. Sizes don't have to respect proportions though! They're more like a rough indicator. Also consider other factors, like build. For instance, generic fantasy dwarves may be shorter than humans, but they're also broad and solid, while elves are taller, but also thinner; both would be a d8 as well, with the differences captured by attribute scores.

Speaking of which, apart from their size, characters have five attributes:

Muscle determines how much your character can carry, and influences how much damage they deal in combat — or don't, as the case may be.

Stamina determines how much damage your character can soak up before keeling over.

Agility determines how good your character is at hitting opponents in melee combat.

Speed determines how well your character can defend in combat; also how soon they move relative to other characters, and how much.

Focus determines how well your character can aim a ranged weapon, remember how to cast a spell, see, hear and generally notice things.

Each attribute has a score, usually between 2 and 4, with a score of 1 best left to characters with a disability, and 5 meaning "peak (insert species here)". A score of 6, if you insist, is fit for a demigod; by the time they have scores in that range, humans are fighting d20 dragons and giants because no lesser creature can provide a challenge.

Other, secondary scores are derived from the ones above:

Carrying limit is defined as muscle times size times 3. In other words, a d8 character with 2 dice in muscle can carry 2 x 8 x 3 = 48 units of weight. You can rationalize these as pounds, but it's really an abstract number chosen to spare you from dealing with fractions.

The damage modifier is equal to (muscle - 3) x (size / 2). For instance, a d10 character with 4 dice in muscle deals 5 extra damage every time they connect, while one with only 2 dice deals 5 less than normal.

Health is stamina times size. As your character takes damage, they accumulate another score called wounds; if their wounds ever equal or exceed their health, they're defeated. That doesn't have to mean death however! It all depends on the game's premise.

You may have noticed that being bigger gives an advantage in every regard, including speed and focus. This may seem counter-intuitive, but think of it this way: all else being equal, larger creatures have bigger eyes and ears, and longer limbs. Attribute scores can be used to account for differences.

Character creation

Let's define a few different characters and see what they look like:

**Chief Adunc, envoy of the Underground Committee**
Dwarf (d8)
Muscle: 4, Stamina: 4, Agility: 2, Speed: 2, Focus: 3

While not exactly a warlike race, dwarves deem it important that each of them can fight to defend themselves and their own. Tasked with a peaceful mission, Chief Adunc isn't especially adept at hitting an enemy... but he only needs to land one blow. And he can take a lot more than that.

**Prince Vasyl of Ostgrund**
Human (d8)
Muscle: 4, Stamina: 2, Agility: 4, Speed: 2, Focus: 3

One would be fooled, seeing his girth, but the prince is also a skilled fighter in addition to a good leader, which has helped earn the respect of his soldiers. Not exactly fast or resilient, he makes up in skill and training. And tactics, but that's another story.

**Jinx the Thief**
Elf (d6)
Muscle: 2, Stamina: 2, Agility: 4, Speed: 4, Focus: 4

Legend has it that Jinx was really a powerful sorcerer from a distant shore. Stranded in the port city of Costamata, penniless, hungry, ignorant of local customs and language, they were forced to live on the streets for a while, and would still return sometimes to help people in need.

(Note how Jinx gets an extra attribute point to compensate for smaller size.)

As for how to let the player choose, there are several ways, such as offering them predefined characters or giving them a number of points to distribute at will. But I found it easier to make every character a weakling or at most average at first, to leave plenty of room for growth.

Character progression

Most games have characters of some sort, but only in RPGs it's essential that characters develop as time passes, gaining new abilities and getting better at those they already had.

How to achieve that is another story. Growth can happen in more than one way. And the most obvious is increasing the attribute scores we've discussed already.

The question is when. It can be as simple as letting the player increase an attribute of their character by one point at key moments through the game. More flexible is to grant them a number of experience points for reaching the same milestones, and let them spend those points at will. E.g., making each upgrade cost 1000 XP, and handing out 200-300 XP for a minor objective, with another 100 or so on average for each enemy defeated, means the player can "level up" their character every three story beats.

Of course, that means a linear increase, but even if you make XP harder to come by as time goes on (after all, you're not going to learn as much from killing the 57th giant cockroach as you would from the first), 15000 XP later every Steve Rogers turns into a Captain America — the best at everything. And in a party-based game, it means the player characters will keep stepping on each other's toes. If you want a game to last longer, you'll need to space out those story beats... but that means slower progress, which in turn can feel unrewarding.

To solve that problem, in-between more significant upgrades, you can give them cool new toys to play with. And that means equipment.

Equipment

Creating cool characters is all fun, but it's just the first step. After all, you're not going to let them run around in rags the whole game, are you? We can talk about looking past appearances all day long, but in the end cloth makes the priest. From the humble brass lantern to the fanciest royal scepter, equipment is a big part of roleplaying games, and can be an even better indicator of progress than the increase of some abstract numbers.

In Battles&Balances, all items a character can wear, wield, consume or otherwise use are treated the same way. They all have a number of attributes, and which of them have meaningful values determine what kind of an item it is. For instance, if it has a protection score greater than zero, then it can be used as armor, regardless of what other properties it may have.

Weapons, shields and armor

Speaking of which, some items are special in that they can be equipped. As we'll see in the next chapter, there are three slots the combat rules care about: weapon, shield and armor. To keep things simple, the latter is treated as a whole, as opposed to keeping track of boots, helmets, greaves, pauldrons, breastplates... you get the idea. But if that's the way you want to go, just keep in mind that protection scores add up quickly, especially if you also allow for upgrades, and that can unbalance combat unless taken into account.

Weapons are a little more complicated. An item with an attack score greater than zero is a ranged weapon. An item with a damage die greater than zero is ammunition. An item with both attributes is a melee weapon. Either way, a character can only equip a weapon in their main hand; there are no provisions for dual-wielding at this time.

Conversely, shields are always one piece, and defined by their defense score.

Weight

Equipped items have another useful trait: their weight doesn't count towards a character's carrying limit. For their other belongings, it's assumed each character carries some sort of bag. You can require one explicitly if you like; the game rules only care that as long as a character is under their carrying limit, they can always pick up any item that's portable (by them). In other words, it's a soft limit, not a hard one. But it does mean they can drop an item and not be able to pick it back up.

As per the rules outlined in chapter 2, an average human can carry 3x8x3=72 units of weight. That seems like a lot, but it's not. Baggage adds up when characters have to carry spare weapons, spare armor, lots of food and who knows what else. You can always fudge values though: very light items like pieces of parchment can weigh nothing, while others get heavier than they should be in compensation.

That said, what's a good weight? For weapons, 1 to 4 — think rapiers versus two-handed swords. Armor should weigh more, 6 to 12 at least, and probably above. It depends on how fast you want it to fall apart (if you're using the optional wearout rule), and how many spares you want characters to carry with ease. Items one can consume, such as food and potions, should be somewhere in-between, unless you want characters to stockpile a lot of it, or there are other things that take up space in their bags. If that's a problem, give them multiple uses. It kind of assumes the container weighs more than the content, but gameplay trumps realism.

More on weapons

It really depends on the game, but as a general rule the ideal attack score for a weapon, or defense score for a shield, is about half the size of the character wielding it, give or take a couple of points; you can go higher for characters with a lot of dice in agility. The damage die is more restricted, but keep it to 1d4 for knives and the like, 1d6 for axes and swords, or 1d8 for heavier weapons. (Of course, that doesn't account for giants wielding entire tree trunks as clubs.) Either way, you probably shouldn't let any character wield a weapon with an attack score bigger than their own size.

So weapons are defined by two numbers: the attack score represents their reach and precision, while the damage die accounts for points, blades, spikes or simply weight. But that still makes upgrades a no-brainer; to make things interesting, you also want to keep track of other traits. A poisoned dagger or flaming sword spring to mind, but those are probably the exception. All melee weapons, however, can be loosely divided into piercing (or thrusting), slashing and blunt.

This opens up many opportunities: some types of armor could do worse against certain weapons and better against others, requiring some preparation before a fight. More importantly, the more steel a weapon is made of, the more expensive it will be... and the more skill it will require. That's kind of important, because you see too many games that tout "historical realism", but everyone in them is running around in plate armor, toting swords. Folks, that stuff costs a lot, and takes long arduous training to use well!

By the way, speaking of realism, in case you're wondering whether swords count as slashing or piercing weapons, most kinds were mainly designed to stab the opponent — even the Japanese katana! (Some of them, like most rapiers, don't even have an edge at all.) Exception were various long, curved swords designed to be used from horseback.

Combat, contests and healing

The rules of a roleplaying game should support those activities that will involve players the most, and like it or not, most time in RPGs (especially the computer variety) is spent in combat. Which also just so happens to be the most in need of rules.

How to handle combat in a game depends on your priorities. Battles&Balances focuses on making sure each enemy provides the right amount of challenge to players of a certain power level. Another goal is to ensure that each combatant and each fight feels different. You can have glass cannons, that hit hard but go down easily; slow ponderous fighters that can both take and dish out a lot of damage, if only they catch you. Quick, light skirmishers that deliver a flurry of weak attacks; snipers that strike from afar but can't run.

Of course, gear matters too, and luck can be tilted one way or the other.

Battles&Balances doesn't have a concept of being "in combat" versus "out of combat". That's just a general term for when characters repeatedly attack each other until one side is defeated and out of play. What counts is whether the combatants are in melee range, missile range, or out of range entirely.

Key to this combat system is that a character's attribute scores represent a number of dice. To see how well the character succeeds at attempting a task involving, say, muscle you roll that many dice of the character's size. E.g. for an average human with a muscle score of 3 you would roll three eight-sided dice, 3d8 in RPG parlance, and add up the results. If any bonuses or penalties apply, add or subtract them from this total. This is called "rolling muscle".

So for one character to attack another in melee, first roll agility. If they have a weapon equipped, also add its attack score. The defender in turn rolls speed and adds their shield's defense score, if any. If the attacker is smaller than the defender, half the difference between their respective sizes is added to the attack roll. Otherwise if the defender is smaller, the same is added to their defense instead.

Either way, if the attacker's grand total is higher, they hit and get to deal damage. Otherwise, they miss.

Damage is calculated much the same way: roll the weapon's damage die, add or deduct the attacker's damage modifier, if any, and finally the margin of success: by how much the attacker's roll managed to beat the defender's. Then, if the defender is wearing any armor and the damage is at least equal to the armor's protection score, reduce the damage by that much.

(The latter rule simulates the fact that being clubbed is going to rattle your insides even through full plate. But in game terms it's to avoid the situation where evenly matched opponents keep hitting each other but causing no harm.)

After all that, if there's any damage left above zero, add it to the defender's wound score. If a character's wounds ever equal or exceed their health, they're defeated and out of play. As mentioned in chapter 2, that doesn't have to mean dead, but still unable to keep fighting for the moment.

Those are the basics. For ranged combat, the attacker simply rolls focus instead of agility, and the damage die comes from the ammo, not the weapon. The damage modifier doesn't apply, but everything else works the same.

Example

Let's bring back one of our characters from chapter 2, and deck them out:

**Prince Vasyl of Ostgrund**
Human (d8)
Muscle: 4, Stamina: 2, Agility: 4, Speed: 2, Focus: 3

Weapon: Hardlight sword, +5 attack / 1-6 damage
Shield: Hardlight kite, +5 defense
Armor: liquid metal, +5 protection

Attack roll: 4d8+5      Damage modifier: +4
Defense roll: 2d8+8     Health: 16

Ready? Now let's bring in a worthy enemy for the prince to fight:

**Shock Trooper of the Star Republic**
Human in power armor (d12)
Muscle: 5, Stamina: 4, Agility: 2, Speed: 2, Focus: 2

Attack roll: 2d12       Damage modifier: +12
Defense roll: 2d12      Health: 48

The shock trooper has just been disarmed, but thanks to power armor they fight like a much bigger creature. Which just so happens to give our hero an extra edge: he gets a +2 bonus, or (12 - 8) / 2, to both attack and defense.

Now for the actual fight. An overconfident opponent allows the prince to strike first. He rolls a 1, 7, 8 and 3, then adds 5+2=7 for a grand total of 26. The enemy soldier can't possibly roll that much. He manages a 12 and a 4 for a total of 16. Vasyl's margin of success is 10; he adds his damage modifier of 4 and rolls the sword's 1d6 for another 5, dealing a staggering 19 damage!

But his power-armored opponent still has plenty of fight left. They roll a 9 and a 7 for attack. The prince only manages a 6 and a 2, but adds another 5+2. That barely fails to block the attack, and the shock trooper deals 16-15+12=13 points of damage! Even with his armor absorbing 5 of them, the prince still takes 8 wounds, cutting his health in half. Another hit like that and he's beaten...

All this illustrates not just how the rules play out in practice, but also how you can reinterpret unusual characters in terms of the same rules.

Time tracking

So far we've allowed each character to take one action in turn, as if they all moved equally fast, but that's kind of silly when we make a point of tracking their respective speeds.

To fix that, first give each character a number of action points (abbreviated AP), equal to their speed score times size. In our example above, the prince would get 2x8=16, and his opponent 2x12=24. Then have them take turns as before, except now they spend a number of APs every time. If a character is out of APs when it's their turn, they can't do anything, but their APs refresh. And here's the real trick: if they have even one action point left, they can always act, borrowing the difference from the next round!

(Where "round" is meant in a loose sense. Since characters will have their APs refreshed at different times, there won't be distinct game rounds to speak of.)

Question is how many APs each action takes. To draw a weapon, it could be as many as its weight. To move out of an opponent's reach, it could take the latter's size in APs. And to attack, spend a number of action points equal to the attacker's size minus three. In other words, Prince Vasyl would use 5 every time, and the shock trooper 9 -- nearly double. Surprisingly, that only makes them a little slower overall.

Optional and variant rules

The above rules involve a fair amount of number crunching. If for some reason you need to cut down on the dice rolling, simply ignore speed and shields and have both sides roll agility. Whichever of them rolls higher, if any, deals damage to the other according to the usual rules. Repeat as needed. (This is best used with settings where people duel with rapiers and swordcanes.)

To simplify even more, don't bother rolling the weapon's damage die, and simply deal maximum damage every time. The margin of success makes for enough variety by itself. This makes combat brief and deadly, which is also a good fit for more cinematic settings. You might want to stick with lighter weapons, or else use armor with a higher protection score.

Weaknesses, resistances and special effects

Speaking of the damage die, you can account for weaknesses and resistances by doubling or halving it as appropriate. E.g. if you hit an undead enemy with a silver blade, roll 1d12 instead of 1d6, whereas if you hit a rock elemental with the same, roll 1d3. Since the latter can't be found in real life, if playing on a tabletop just roll as normal and divide by two, rounding up.

Moreover, some weapons may cause persistent effects such as poisoning whoever they hit or setting them on fire. It's tempting to make these effects deal damage over time, but that just delays a death spiral, as the afflicted character likely can't deal with it right away. Better to do it like this: the first time a successful hit causes such an effect (on a coin flip for instance), write it down and deal 1 extra damage. If it happens again, put a checkmark next to it and deal 2 extra damage. Repeat as needed. The counter resets to zero once the effect is cured.

Armor degradation

Either way, it may seem strange that armor can take blow after blow and never suffer from it. For more realism, every time a character's armor absorbs damage, have it take half that damage itself as wearout. Once its wearout equals or exceeds its weight, the armor becomes unusable. As armor only absorbs damage over a certain threshold, it will last longer than you might expect, unless the game involves lots and lots of combat.

If you use this rule, make sure armor protection scores are always even numbers. And of course it conflicts with the optional piecemeal armor rule as described in chapter 3.

Blessings and curses

The rules so far are designed to smooth out randomness and ensure combat is fair in the long run, but not too predictable. In particular, you can always see when a fight isn't going in your favor, giving you a chance to retreat. But sometimes that's not an option, and at other times the dice will just kill you by surprise.

To keep that from becoming too much of a problem, you can grant player characters a blessing every time they take damage (perhaps over a certain threshold, say half their size). Each blessing simply means that on the next turn they're allowed to roll twice for attack (or defense) and keep the better result: a so-called blessed roll. Spells, or a cleric-type party member, could be another source of blessings.

Conversely, certain enemies such as undead could deal curses instead. These work in reverse, forcing you to keep the worse roll, which makes things more difficult. A weapon and/or shield can also be permanently blessed or cursed, making all attack or defense rolls, respectively, work this way. But that can unbalance combat, so be sure to take it into account.

Naturally, none of that applies to armor. But it may well apply to rolls outside of combat.

Contests

Martial as they may be, sooner or later RPG characters will also need to test their abilities in peaceful situations. Fortunately, that's a lot simpler than what we've seen so far, if otherwise similar.

Opposed rolls

Let's take another example: Baerg the fighter is at the tavern waiting for his drink, when a huge orc challenges him to arm wrestling! The orc is a d10 creature with 4 dice in muscle, but while Baerg is only a d8 human, he's got 5 dice in the same attribute! The orc has never met a human so big and strong before.

To simulate the contest, roll the dice three times for each side, and compare the totals, either on a best-two-out-of-three basis, or more simply by adding up all the rolls and only comparing at the end. And while the two seem evenly matched, Baerg has a slight edge due to more dice. The orc is likely in for a surprise...

Static checks

But not all contests are between two active opponents. To bring back another character from chapter 2, let's have Jinx the Thief on the run from the city guard, with only a few seconds to jump over a tall fence, lest they be caught. It makes no sense to roll dice for the fence, since an inanimate obstacle by definition just sits there. Jinx still rolls three times, but all they need to do is reach or beat a set target number.

Choosing the latter is an art, but the following thresholds should work well: 10 for trivial, 20 for easy, 30 for routine, 40 for challenging, 50 for difficult, 60 for unlikely, 70 for impossible. This allows even a tiny, crippled character rolling 1d4 to succeed at a trivial task, while a healthy human rolling 3d8 can still fail the same. Jinx does rather better, rolling 14, 16 and 17 on their 4d6 in agility — enough to succeed at a challenging task.

(Then again, notice how even an average human rolling 3d8 can in fact succeed at an "impossible" task, while a 6d8 demigod has a fifty-fifty chance.)

Of course, Jinx only gets one try here, for obvious reasons. To limit how many attempts a character can make when time isn't an issue, you could impose a penalty for failure, such as taking damage or having an item break. And where that doesn't apply either, there's simply no point in rolling the dice.

Healing

Either way, sooner or later characters will succumb to their wounds unless you give them a chance to heal. Simply using food for that, like in certain modern MMORPGs, works surprisingly well, even if it's not at all realistic. Another common option is rest, but that only works if:

you track game time outside of combat and

you impose some penalty for dawdling, such as monsters catching up.

Otherwise, you're better off granting players an opportunity to heal at key points in the game, much like in the case of experience — either by granting access to a healer (if the game's fiction supports it), or else simply ruling that they remove a certain amount of wounds. And speaking of XP, a character increasing their stamina will have more health, which makes the same amount of wounds less serious. But they still add up, so healing remains essential.

Magic

In real life, magic was how people used to try and bend the laws of nature back when those laws seemed too hard to decypher and master. It's no coincidence that in many old cultures magic and religion were bound together if not the same thing. And gods were fickle.

That last part has been preserved in fiction, where magic plays the role of a powerful force, able to grant a huge advantage, at the risk of running out of control and doing more harm than good, never mind the sacrifice it requires in the first place. Any resemblance with modern technology is deliberate.

In computer games, it's more tricky to capture the chaotic nature of magic, or for that matter to keep it fair. Moreover, it's hard to make up a magic system outside of a given world. However, I have one you can plug with relative ease into an ISO Standard Fantasy Setting.

The goal of this system is to limit how much players can rely on magic without introducing yet another concept, like mana, and to ensure magic doesn't overlap too much with other game mechanics, lest it become pointless

Most people encounter magic in the form of spell scrolls. These are written in a magical language, but the script is usually mundane, so that anyone literate may use them. Reading the spell out loud, or signing it, triggers the effect. (Some wizards insist that doing both at once is more powerful.) Due to magical backwash, the scroll crumbles to dust at this point, so each of them can only be used once.

Now comes the fun part: after casting from a scroll, anyone can try to remember the spell and cast it again from memory. To do that, the character must first succeed at a static Focus check against a target number equal to the spell level times ten. That takes time equal to one game round (see the section on time tracking) per spell level; if using real time, make one round equal to ten minutes. A failed check can't be retried until after a number of hours equal to the spell level. A successfully remembered spell can then be cast as normal, within a reasonable amount of time, say the same day.

Some spells can be memorized at a higher level than their stated minimum, with a corresponding increase in difficulty. When cast, they'll have proportionally bigger effects and longer duration. Scrolls however have fixed spell levels.

Either way, casting a spell temporarily blanks the caster's mind, so they can't attempt to cast the same spell again right away unless they have a scroll for it handy. They can still cast any other spell they have memorized.

Last but not least, spells tend to have catchy one-word names.

Example spells

Blessing

Level: 1+; duration: instant; range: caster.

Grants the caster one blessing per spell level.

Undergrowth

Level: 2+; duration: 1 minute/level; range: 3 meters/level.

Strong vines sprout from the ground in a three-meter radius (per spell level) around the caster. They grow rapidly and forcefully, pushing upwards anything they can't grab and hold down instead. (The exact effect is sensitive to context.) The vines can sprout from all kinds of surfaces, breaking them if necessary, but die out soon unless they find soil to catch root in. Either way, they cease being magical once the spell has expired.

Windstorm

Level: 2+; duration: 10 seconds/level; range: 15 meters/level.

A strong wind picks up around the caster, and blows forcefully in the direction they're facing, spreading out in a 45-degree angle. The wind is strong enough to blow creatures off their feet or equivalent unless they succeed at a static Muscle check against a target number equal to the spell level times ten.

Wintercoat

Level: 2; duration: continuous; range: caster

Whatever armor the caster is wearing starts glowing with a bluish light, and becomes resistant to fire damage as per the section on special effects. Conversely, it becomes vulnerable to cold damage. The effect lasts until replaced by a different enchantment, or until the armor falls apart.

Summerheat

Level: 2; duration: continuous; range: caster

Whatever armor the caster is wearing starts glowing with a reddish light, and becomes resistant to cold damage. Conversely, it becomes vulnerable to fire damage.

Snowdrift

Level: 3+; duration: 10 seconds/level; range: 15 meters/level.

A cold wind picks up around the caster, and blows snow in the direction they're facing, spreading out in a 45-degree angle. The wind isn't especially strong, but anything in its path takes 1d4+1 of cold damage per spell level.

Sunstroke

Level: 3; duration: continuous; range: touch

Whatever weapon the caster is touching starts glowing with a reddish light. Any damage it deals from that point on is treated as fire damage.

Frostbite

Level: 3; duration: continuous; range: touch

Whatever weapon the caster is touching starts glowing with a bluish light. Any damage it deals from that point on is treated as cold damage.

Flamestrike

Level: 4+; duration: instant; range: 3 meters/level.

A tall flame bursts from the ground in front of the caster, then surges forward as if carried by a strong wind, spreading out in a 45-degree angle. The flame is briefly-lived, but hot enough to ignite paper or light fabric on the spot; anything else in its path takes 1d4+1 of fire damage per spell level.

Levitation

Level: 4+; duration: 1 minute/level; range: caster.

The caster lifts into the air, about knee-high to waist-high, and can move around at up to their usual running speed, along with everything they can carry. They can maneuver normally while in the air, but not make sudden moves such as jumping aside to avoid an incoming missile, unless they push against a wall or some such.

Potions

Potions are quasi-magical brews sold in small flasks or vials. They boost one attribute of whoever drinks them for a short duration. Specifically, for the next three game rounds the character in question rolls one extra die for any roll involving that attribute, inside or outside of combat. Drinking another potion of the same type before the previous one has all but worn off extends the duration by another two rounds, but deals 1d4+1 of damage in the process.

Missing elements

There is much these rules don't take into account, mostly because they don't feature in any of my games yet:

vehicles;

animals;

deities;

skills;

crafting.

I also haven't discussed darkness, light sources and visibility. Should probably add that in a future edition. (Dual-wielding torches for the win!) In the mean time, feel free to make up your own. Just consider whether additional rules make the game more fun, or just bog things down. Even with a computer handling dice rolls and math, it's still the player who has to take the various factors into account when making decisions. Moreover, NPCs also require AI, and that means more complicated coding the more rules you have.

Last but not least, we need to talk about setting, because generic rule systems aren't. Battles&Balances for instance favors games with a single character (as opposed to party-based) and carefully planned progression; this determines the kind of adventure it fits well. So far it's been used in several roguelikes and one gamebook, all generic dungeon crawls. From there to a compelling backdrop and story is a long way. Not that story has to mean an epic saga, but that's a whole other story. No pun intended.

Either way, make games you love and your players will love them too.