Tag Archives: ideas

mobile tower defense

Well, it’s break time again. After a long day of debugging the crazy networked asynchronousity that is my current project, taking a break to find a solution to a strange jabberd error (xml where whitespace matters is dumb, btw), and then copy-pasting individual frames of an animation into a SWF… my eyes are bleeding. Well, not quite, but I’ve been staring at the screen way too intently today.

So naturally, I don’t close them. I read Sean Howard’s design of the day (#23, the linear roguelike brawler rpg) and get to thinking about something that’s been floating around the back of my brain for a while.

I’ve wanted to write a tower defense style game for a few months now, but couldn’t ever really think up a twist that I liked.

For those who’re tuning in late, Tower Defense is a style of RTS play where you build stationary defensive towers that blast an (often) endless stream of dumb enemies that are trying to capture your base. The specifics vary, sometimes the mobs have AI, sometimes they have special features, etc… but that’s the gist of it.

Warcraft 3 provided what were probably the first true TD scenarios. They’ve since been copied hundreds of different ways. There are lots of good TD games out there now. Lots of good TD games out there written in Flash, even. Some of my favorites:

  • Flash Element TD – The first one that really grabbed my attention. Fairly straightforward, but stable and enjoyable.
  • Onslaught – Very free form. Only 3 types of offensive towers, but they can be upgraded and chained together and create an amazing variety of interesting strategies. Onslaught also has a big leaderboard that not only shows other people’s high scores… but their final tower layout so you can learn from them.
  • Desktop TD – Insanely free form. There is no track for the mobs to follow. They just sort of A* their way across the board. Very well designed and intuitive. I love the art and npc design, I love the UI. It’s also the game I find the most difficult out of the three.

So… if I am to design my own TD game (eventually to possibly maybe even be written in AS3), there are a few absolutely essential features that we need to start with:

  1. A mute button. 😛
  2. SharedObject preferences. I want the game to remember that I don’t like noise. I want it to remember my name for the high score list, I want it to remember any other important UI preferences.
  3. The ability to increase the flow of mobs. Either with a simple “send next wave now” button or with a Lemmings style throttle that simply increases the rate of spawn flow.
  4. The ability to see valuable information. These games really just come down to a lot of numberchasing, so we may as well give the numberchasers a lot to work with. I want to be able to get status reports on any mob on the screen. I want to know more than just the range of my missiles, I want to know their rate of fire and their blast radius, etc…
  5. The ability to pause the game and still see this valuable information. This isn’t Tetris where getting a paused snapshot of the puzzle is cheating.
  6. Intuitive UI design. It should not require a degree in astrophysics or a magnifying glass or a cheat sheet in another browser window to figure out how to do things.
  7. Gentle learning curve. The game should be accessible to the newcomer. You should be able to just sit down and play without having ever seen another game in the genre – or without having paid much attention to the instructions if you read them at all.
  8. Depth. Finally, the game should not become boring easily. Just because it was easy to pick up and learn doesn’t mean it should be juvenile or lacking in options.

mobile world

As one way of addressing the last of these problems (depth), I like the idea of multiple stages where you have to rebuild your base from scratch after each phase – bringing a portion of your resources and your tech tree across with you. Ie, you don’t stare at the same exact layout for 200 consecutive waves… you may only have to (get to) stay on the same board for 10 waves.

Or, taking a page from the design of the day, what if the game was a running battle?

So, in stead of spending 10 waves on one board, you are playing on one continuously enormous board, but can only defend part of it at once. After every wave, your board may shift by one or two tile widths. There are plenty of thematic possibilities for this. Terraforming, plague of toxic spores/zombies/tribbles, etc… the actual theme isn’t terribly important.

When a tower you own moves off of the board, you should get a refund, say for 75% of its total cost. There would be an option to destroy units you do not want before they scroll off, but at a penalty – perhaps you only get 50% of the cost back when you sell them off impatiently. Units should not build immediately, however, and if you cancel a build before it completes, you will get a full refund.

mobile enemies

I would like the battlefield to be open to allow multiple paths for enemies who are trying to get past you. There should not be a single linear/winding/curvey path that they trudge along mindlessly. I’d like them to flow.

It would be nice if enemies were given sufficient AI to make some basic danger assessments in addition to simple shortest-path calculations. I’m thinking that the baseline AI should be standard A* style pathfinding with toggleable risk avoidance behavior for some varieties of mobs.

It would be nice if they weren’t 100% predictable. Predictable? Yes. Highly predictable once you know the rules? Certainly. But not guaranteed. It’s no fun if the mobs are too smart. But there does need to be some small amount of nondeterminism to mob behavior – at least for certain types of mobs. Some mindless drones are required and appreciated – it’s not as fun if the mobs are all smart either.

Mobs should spawn along the entire front, not just at a single predictable point. You should have to protect a broader area than a single tower can cover alone. You should be able to take advantage of choke points and ways of forcing the mobs into places that they might not otherwise willingly flow.

There should be different varieties of enemy. Their most fundamental attributes should be clearly identifiable to the player (intuitive icons would be nice). There should be multiple traits that npc’s may have in combination with each other:

  • Speed – Some mobs are naturally slow, some are naturally faster than others. Making something naturally slow might combine in interesting ways with other special traits.
  • Resistance – Some mobs are naturally resistant (or weak) to one type of damage or another. Demons might calmly walk through your flamethrower batteries without taking any damage, and mummies might go up in smoke at the mere site of them.
  • Offense – Some mobs fight back. Some mobs might have passive offense – maybe those demons have fiery auras around them that burn towers they walk past. Some might be aggressive and care more about battering down your towers than progressing across the map. Most mobs should only fight if cornered, however, and should probably just flow around towers in stead of trying to carve their way through.
  • Aversion – Some mobs do not fight back, they run away. They’re scared of fire. Not necessarily weak to it. Heck, they could be resistant or even immune. But when a fireball hits them, they run away screaming for a while 😉
  • Modes of Transport – Some mobs walk, some fly. Some should be capable of swimming. I want water on my maps. Some mobs might be capable ONLY of swimming. Maybe some mobs ‘blink’ every few steps.

There are probably a few other special attributes to add to the list. “Boss” mobs should be more interesting than just a single creep with 100x normal hp. Give them something that makes them a truly unique challenge to overcome.

mobile “towers”

This kind of take the concept of “tower” defense a bit far… but what if towers weren’t necessarily stationary? Granted, most games in the genre are about building static defenses and living with your mistakes. Allowing you to field mobile infantry starts getting much closer to a traditional RTS after all.

What I would like to see are some (not all, very few in fact) of your units having some sort of mobility themselves. They are still fire-and-forget defenses. You don’t give them orders once deployed. They have their own AI that they follow, just like any other tower, even if it is slightly more involved.

Mobile units would be chained to a central home location and will return to it if otherwise unoccupied. When the mobile unit’s anchor point scrolls off of the map, the unit unspawns just like any other “tower”.

Mobile units would have to sacrifice something in order to become mobile. The most obvious example to me is that perhaps you have a unit that has decent mobility but has terrible range. It does comparable damage to similarly priced immobile towers but has to run in between targets to kill things.

Some other uses for mobile towers might be non-offensive units that attempt to herd mobs for you (gravity guns, fear, or just maybe just physically pushing them around). Perhaps repairbots can be placed in the middle of a group of towers that they will then help maintain. Maybe one mobile unit is a glue monster that paints its entire area of influence with sticky traps that render mobs immobile for a time. Maybe a mobile unit taunts and kites creeps to keep them occupied while other towers can finish them off.

mobile objectives

Every TD game I’ve ever played has the same goal. Whack the foozles before they get to point X. Sometimes you have some time to kill them after they reach point X, but otherwise the goal is the same.

Since our viewport is moving, it doesn’t necessarily make sense that our goal should simply be to kill everything that comes onto the screen – though that’ll probably be a large portion of the game.

I like the idea of occasionally hitting special parts of the map where you have an objective to perform. These objectives may or may not be required, but I think most will be mandatory. That is, if you fail in the objective, the game is over.

The first objective type that I can think of at the moment is the acquisition and protection of some sort of third party object on the map. These might be pieces of technology that will improve your tech tree. They might be large caches of resources that will allow you to field more units. Or, they may be hostages or similar that need to be rescued and led to safety.

Other objectives might be the destruction of a large stationary target, such as an enemy base. The object could also be a dam that would flood the map below you, seriously altering the flow of mobs; or, it could be a wall that is preventing your progress.

And there you have it. My “mobile” tower defense idea in a nutshell. Maybe one day, I might even think about it again, but for now, it’s back to copy-pasting sprites 😉

magic v2.0

I’ve recently given a lot of thought to the magic system in Walraven. It is a mess of kludges and bandaids upon bandaids upon gaping wounds. Lots of systems in the game were written as temporary type measures just to get a feature into testing. Unfortunately, with the kind of time people tend to have for working on the mud these days, those temporary measures have just sort of stuck around and become permanent.

I therefore propose a list of new features and rewrites that will become version 2 of the game’s magic system. (This article is being cross-posted to the Walraven Codex).

Concentration

Last night, Zaecus and I got to talking about how dumb the spell interruption math was. So, I improved it, but there’s only so much that can be done with a stateless system.
Example:

I am a mid-level caster. I have 70 concentration skill.

I get hit hard with an axe for 20 wc. I have to make a 100 dc check to avoid interruption. The odds of my passing this check are somewhere <20%. OR

I get hit 10 times in one heartbeat by a horde of little goblins, each of which hits for 2 wc. I have to make 10x 10 dc checks. The odds of my passing each and every one of these checks are 100%.

In fact, even if I only had 25 concentration skill, I would still be pretty much able to ignore the goblins with impunity.

I don’t like it. Yes, bigger hits should have a bigger chance of immediate interruption, but smaller hits should add up. That, and it shouldn’t be possible to become essentially immune to spell interruption.

Enter the concentration pool.

These would be a fourth set of points that go onto everyone’s hpbar. Just like endurance is kind of a temporary, non-lethal sort of analogue to health, so too will concentration be a sort of buffer that affects mana.

Unlike the other pools on the hpbar, maximum conc will not be modified by the living’s race. Concentration will be a very small number for everyone, but it will regen rapidly.

Absolute maximum concentration is 25 and is calculated:

5 + floor(magic.concentration/5)

Most of our high level casters currently in the game will have over 20 points of conc, but nobody’s very close to hitting the max yet.

Concentration operates on a 10 hb tick. Every tick, players will regenerate 20% of their maximum conc. Thus, a newbie gets 1 conc back every 10 hb and a theoretically capped player gets 5 conc back.

Despite the conversation that led to the idea’s evolution, conc won’t be used just for spell interruption. In fact, its use won’t be restricted to the magic system. Just like endurance impacts some magical actions, concentration will impact some mundane actions as well. But first…

Interruption

When you get hit while performing an interruptible action, you make a concentration check as detailed above. If you fail the check, your action will be interrupted.

However, if you pass the check, you will simply take a point or two of concentration damage. But 10 little hits, each with a chance of reducing your concentration suddenly start to add up.

Conc damage won’t be guaranteed, and the size of the interruption vs your skill levels will be considered. The math for this hasn’t yet been worked out. But what I would like to see is a system where a little hit has a chance of doing 0-1 damage and a big hit has a chance of doing 1-2.

Casting Costs

Successfully performing any spell will require concentration in addition to its mana cost. If you don’t have enough concentration, you can’t start casting the spell. If you run out of concentration, the spell will be interrupted.

The concentration cost to perform a skill is equal to its spell level. Thus, level 0 spells are immune to interruption by concentration loss – but the people who are probably most concerned about being interrupted while casting a lvl 0 spell are also those who are more likely to be interrupted by direct damage anyways.

Maintained Spells

Many planar spells are going to be shifting from having limited durations to being actively maintained by the caster’s concentration.

The spell’s maintenance cost will be determined individually on a spell-by-spell basis. Thus, Haste, a lvl 0 spell that would be incredibly game-breaking if it were made permanent will have a high maintenance cost despite the ease of casting.

Maintenance costs are debited from the caster’s conc pool after every conc regen tick. Thus, your natural conc regen rate determines the number of spells you can maintain indefinitely. Of course, once you’re maintaining sufficient spells to negate any regen you have… any further conc loss threatens your ability to continue maintaining them.

Priest spells will generally be distinguished from planar magic by not requiring any sort of concentration cost to maintain. Concentration will still be required to perform the spells in the first place, it just won’t be required to keep the spells going. Of course, this also means that priest buffs come with the built-in duration limitation that much planar magic lacks.

Maintained spells cast on targets other than the caster will require the caster to stay near by the target. This means that a PW can’t just buff somebody in town and idle while they run off and enjoy the benefits of semi-permanent enhancements.

Of course, it would be mean and unrealistic to require the caster to keep their eyes on the target 100% of the time. That’s impossible unless you sit in the same room forever. No, what we’ll do here is make a note every conc regen tick. If you’ve lost sight of your target, the spell is flagged. When the next tick comes around, we see if you’ve found your target again and either remove the flag or remove the spell.

So, to lose a spell by failing to stick together as a party, you’d have to be separated for a duration of 20-40 seconds before the system notices. I call that plenty fair.

Meditation

Meditation will be changed to embrace concentration. I don’t want to alter anyone’s final mana regeneration rates while meditating, but I do want to change things up a bit.

First off, meditation cycles will be shifted around. Now, in stead of starting instantly and then needing to regenerate readiness, you will spend readiness first and will receive regeneration second.

Second, meditation will primarily be used to regenerate concentration. Med ticks will not heal mana directly, they will heal an amount of concentration (based on your magic.meditation skill).

Third, meditation will convert concentration into mana. So, when a med tick happens and you’re already full on conc, the entire conc buffer will be flushed down to zero and will be converted into mana at a rate of 2 mana per 1 conc.

Fourth, stopping meditation will no longer stun you. Neither will your endurance decay slowly as you meditate. In stead, when you stop medding, any conc you have will be converted into mana immediately and your conc will be recharged at the expense of endurance (at an initially bad rate of exchange that improves slightly the longer you meditate before standing up).

This has several benefits.

It allows our existing meditation verb to be used to heal both concentration and mana. Making med heal conc first allows you to easily spot regen if necessary to perform an action that requires conc.

Flushing the conc pool means that we don’t have to worry about things like preventing people from medding while hasted – they’ll drop the spell themselves. It also means that you can’t med in order to regen mana/conc to maintain spells in excess of your abilities.

Offsetting any end cost until the end of meditation means that there’s no reason to stop medding just to regen end (note, end regen will still be disabled during med, it just won’t decay).

Clarity

Clarity will likely be a 3rd level priest spell in the grand tradition of EverCrack “mind candy”. In stead of affecting mana regen rates, clarity in my universe will improve the target’s concentration regen rate.

Focus

Focus will be a command that allows the player to convert an amount of mana and endurance directly into concentration. I haven’t considered the exact math for something like this yet, but I think a conversion of 10 mana and 10 end (and 500 readiness) to 5 concentration is fair.

Crafting “Cooldowns”

Every time you ‘craft’ or ‘build’ something, there will be an associated concentration cost. This will probably replace the current per-recipe cooldowns.

Other Uses

Complex battle actions (dancing monkey punch of the fallen sun) might require concentration. Lots of roguish abilities will likely require concentration (picking locks, anyone?). The ‘count’ and ‘consider’ commands will cost concentration. Any prayers offered will cost concentration (in addition to any other favor, etc… costs the prayers might have).

Plenty of uses. Pretty much anywhere that more than two brain cells are required, we’ll probably be using concentration.

Brainspace

At present, there are just over 50 spells in the game. If you know them all and type ‘spells’, the output is intimidating. It scrolls lesser terminals into exhaustion.

Even if you know all 53 spells… you probably don’t use more than 5 or 6 of them on a regular basis. And there are probably 30 or so that you don’t even use occasionally.

In an effort to recognize this and to introduce a bit more strategy and realism to the magician’s life, I am imposing brainspace limitations.

Before you ask, no. Don’t worry. This limit does not impact crafting recipes – only spells. There’s no way I would impose some sort of restriction like this on players w/o letting them write recipes down first ;P

Every spell will use an amount of brainspace equal to the spell level + 1. Thus, Sora’s Beacon (a lvl 2 spell), occupies 3 units of brainspace. Brainspace capacity is simply calculated as:

racial minimum + floor(magic.memory/4)

Humans will have a racial minimum brainspace of 25 points.

Thus, to a player with capped memory skill (50 point capacity), Sora’s Beacon represents 6% of their capacity.

If you try to learn a spell that is too big for your brain, you’ll be told that it doesn’t fit. No penalty will be imposed for the attempt. However, there won’t be any reason to trial and error your way with memory limits. Your brain capacity (both used and maximum) will be clearly labeled on the ‘spells’ command.

In the event that your maximum capacity is somehow reduced below the amount required to hold all of your memorized spells, your brain will discard spells at random until it has enough room to continue. (No other penalty/backlash/etc… will be imposed, since losing access to a random spell or two is hefty enough of a penalty).

Players are able to increase their memory by memorizing and forgetting spells, but only to a certain point. After that, the only way to increase memory skill will simply be by using the spells you have memorized (casting or scribing them).

Yes, there will probably be ways to force your enemies into forgetting spells, but none are explicitly planned for in the foreseeable future.

Spell Resistance

One of the current biggest problems with the magic system is that 99% of all magical effects are absolutely guaranteed to work. Fireballs never miss, etc… Sure, a few spells have been hacked with gratuitously heinous attempts at giving the victim some sort of saving throw, but no centralized system has been written.

Old school (1st and 2nd edition) D&D had a really weird system where attacks were seemingly arbitrarily classified into seemingly arbitrary save categories. Ie, to avoid this spell, you must make a save vs… oh, paralysis! Wait, no, breath weapons! No! Rods! Save versus rods! The huh?! It was so dumb that we just ignored saves entirely when we played.

In d20, they fixed it. Saving throws in d20 occur in one of three categories: Fortitude
(things you resist by being tough), Willpower (things you resist by having a mighty brain), and Reflex (things you resist by not getting hit in the first place).

I’m kind of torn here. I want to do something simple, in the vein of the d20 method, but I don’t want to copy them directly. My sense of game design is already tainted enough by decades of exposure to pen and paper RPG’s.

Warcraft uses a system where saving throws are based on the type of magic you’re avoiding. At least, they do for damage spells. So… spell resistances are more like armour classes vs a particular type of damage. For other spells, they just seem to do a base percentage chance of success based on relative caster/target levels with maybe a modifier thrown in (ie, a warlock might spec such that their “affliction” spells are x% more difficult to resist).

I think that something closer to this is my answer. We already have a finite number of spell types – ie, planar origins. Therefore, I want to make saving throws based on the type of spell in question. And I want to give racial modifiers to resistance. We will probably have to sacrifice the “realism” of allowing thieves to dodge fireballs – for this I am not heartbroken.

Spell resistance checks will simply be a pair of opposed rolls. The attacker must beat the defender’s roll in order to overcome resistance and inflict whatever meanness they’re trying to hit them with.

I think a few new skills are called for to make this work happily:

  • magic.penetration – The ability to overcome spell resistance.
  • magic.resistance – The ability to resist spells 😉
  • magic.save.[mana type] – One for each of the magic.mana skills.

Resistance checks would consider the mana and penetration skill of the caster (along with any racial or other modifiers to the skill level) versus the save and resistance skills of the target (also along with any modifiers, of course).

Well… maybe we can figure out some way to allow dodging of purely physical attacks that are simply set in motion by magical means… Those attacks will probably get by w/o using a saving throw at all. Saves are for resisting magic. Dodge rolls are for dodging melee/missile attacks.

Equipollence

e·qui·pol·lent [ee-kwuh-pol-uhnt]
–adjective
1. equal in power, effect, etc.; equivalent.
2. Logic. (of propositions, propositional forms, etc.) logically equivalent in any of various specified ways.
–noun
3. an equivalent.

[Origin: 1375–1425; late ME < L aequipollent- (s. of aequipolléns) of equal value, equiv. to aequi- equi- + pollent- (s. of polléns) able, prp. of pollére to be strong]

—Related forms
e·qui·pol·lence, e·qui·pol·len·cy, noun
e·qui·pol·lent·ly, adverb

This is something I have always wanted to do in the mud. But what is it? Why you pick funny word? Glad you asked.

In short, I would like to allow players to attempt to channel more mana than their bodies can naturally accommodate. Currently, the system handles overmax mana by simply bleeding it off at a rapid rate. I would like to make this more skill based and less arbitrary.

Equipollence is the act of metaphysically setting oneself to be equal to more than they really are. Huh? Grin. Thematically, the mage is somehow both equal to their physical self with their physical limitations and equal to a mana battery capable of channeling a few hundred more thaums at once. Or maybe they set themselves equal to another self? I’m not a mage. But then again, neither are you. You wouldn’t understand. 😛

We’ll have to add a magic.equipollence skill to the list, with maximum learning difficulty, of course.

When a caster somehow has their mana charged over their natural maximum (via any number of potential means), they must make an equipollence check against the “damage”. If they succeed, they are allowed to go over max.

They must then continue to struggle to maintain a grasp on the mana. Every time they use mana, they must equipollate again in order to avoid losing their external buffer of juice. Mana drain effects will also force an equipollating victim to make another check.

Example:

I am a typical high level spellcaster. I have 450 mana.

I dj something worth 100 mana. I must equipollate 100 mana. Upon success, I now have 550/450 mana.

I then try to teleport somewhere. Teleport costs 50 mana, which will reduce me to 500/450.

First, however, I must equipollate 100 mana again in order to keep a hold on it for the duration of the casting. Then, the 50 points are debited.

I must now equipollate 50 mana to avoid losing the remaining buffer.

If I had failed my equi check while casting, I could still have teleported, but the spell would have been cast from my base 450 mana, not from the external buffer (which would have gone *piff*).

Losing the buffer will result in mana burn.

Mana Burn

In my brain, I take this term from M:TG.

The general idea is that when a caster tries to use more mana than they can handle (or when they lose control of mana for one reason or another), they suffer backlash damage.

The two cases where I am currently planning for mana burn are:

  1. When a spell is interrupted critically (ie, they really fail their concentration checks).
  2. When equipollence fails critically.

In practice, 5 points of mana burn turns into 1 wc of mana damage. Thus, if I critically fail to equipollate up to 400/300 mana, I’m in danger of 100 points of mana burn » 20 wc of mana damage » potentially 160 points of hp lost (1 wc translates into up to 8 hp).

I would like to come up with interesting and unique methods for handling mana burn based on the type of mana in question, but that would just be for added flavour more than anything else – no real tangible gain in functionality.

Mana burn damage blows through armour and offers no saving throw. After all, you already had your chance to avoid this 🙂

Mana Death

It’s been long promised that draining something’s mana below zero will destroy it in a much more meaningful way than draining its health below zero.

Well, there’s not much to say here other than mana drain and mana death will be implemented as part of the big v2.0 system overhaul.

When something dies from mana death, it won’t leave a corpse.

When a player dies from mana death, the penalty will probably be much more severe than a normal death.

But… I’m not sure what that penalty might be. Depending on if the whole spirit world oocland system ever gets implemented for dead and sleeping players, the penalty might be just a long limit on your respawn timer… or it could be an undispellable debuff that is put on you after you rez…

Either way, it’s very very mean to kill somebody this way and it won’t make you any friends.

Elemental Spirits

I’ve discussed my notion of elemental spirits before (in the main Codex article on magic, scroll down a ways).

The spirits are going to take a much more active role in the new magic system. There will be numerous spells that allow the summoning of assorted extra-planar beings as well as numerous spells that somehow ask a spirit to do something directly w/o actually having to micro-manage their actions.

Magical Items

This is really the subject for another post, so I’ll be brief and touch on the highlights.

Scrolls are going to become significantly less useful as a means of bypassing the normal casting system. They’re also going to become much more difficult to store together in large quantities w/o bad things happening

More specific-purpose magical items will become craftable. Many more wands and magical staves will be added to the recipe list along with more flexible crafting recipes that allow you to apply a bonus to an otherwise mundane (but high quality) item.

Some of these effects will be embedding spell charges in weapons/armour, giving stat bonuses to the wearer of the clothing, and specific effects only available through magical crafting.

Temporary enchants of various sorts similar to the permanent varieties will also be made available for use on equipment.

Thaumic Pollution

Background magic. Ambient mana. Thaumic radiation.

According to my original magic docs:

Every time a spell is cast, magical energy is released into the atmosphere around the caster. This ambient mana remains present for a while before being absorbed back into the opposing plane. Ambient mana typically has the effect of reducing ease/reliability of further spells, but can potentially be tapped into for useful benefits (which benefits have yet to be discovered).

This system is going to change the whole face of the magic system in a big way.

Each and every time you spend mana, it adds to the room’s background radiation level. Every time you suffer mana burn, it adds even more. Also worth mention is the act of channeling mana into another player or into a container. In these situations, mana is typically not leaked into the environment in measurable quantities.

Background magic levels generally have the effect of making any magic more difficult to perform (slowly increasing costs and skill dc’s).

In addition, they also have an effect on the results of spells that one does manage to cast – depending on mana types involved. Namely, if there is a high level of fire mana in an environment, fire spells will have larger effects and ice spells will be diminished. The same holds true for all other sets of opposing planes.

Every location defaults to some small amount of default ambient mana. Some places have more (temples, volcanoes, great trees, etc…), and some have less. Any additional mana added to the location will gradually dissipate until the room is back to its normal level.

The base unit of magic is the ‘thaum’. [Insert Discworld ‘thaumometer’ joke here]. One point of mana is equal to one thaum. Every time you perform a spell, the base cost of the magic (not the adjusted cost) is released into the environment.

Generally speaking, rooms have ambient mana levels in the neighborhood of 5-50 thaums. Then also tend to have a capacity for about 1000 thaums before things get ugly. At this point, spellcasting has probably become about 2x as difficult as it would be normally. Of course, the difficulty modifiers scale gradually with the pollution level.

The math involved here is pretty rudimentary physics, actually 😉

Ambient mana in excess of the room’s baseline has a half-life of 1 minute RL.

Example:

Thus, if I cast a whole bunch of spells in a location with a baseline of 10 thaums and raise the mana level to 700. Spellcasting is roughly 40% more difficult through this amount of pollution.

One minute later, the room’s ambient mana level decays to 355.

One minute later, the level decays to 182…

Then to 96… 53… 31… 20… 15… 12… and finally back to 10 after a total of 9 minutes.

There are several specific effects of excess thaumic radiation that have yet to be determined. For now, consider this math a guideline for how the system will probably be implemented initially… but as with everything else, it is subject to rebalancing.

Magical items also contribute to background mana levels…

Level Four

The subject of the theoretically possible lvl 4 spells has been brought up by several players. While I can neither confirm nor deny the existence of lvl 4 spells at this time, I can say that I am personally interested in such an animal. But given the sort of power available through lvl 3 magic… they’d have to be crazy powerful.

For reference, the current list of some of the more interesting lvl 3 spells I have planned includes the following:

Animate Tree – Permanently give mobility and animal level intelligence to a fully grown tree. It becomes a willing (and powerful) servant for the Druid who casts the spell.

Cloak of Chaos – Protection from everything, courtesy of Nestha’s caprice.

Convert – Forcibly change the target’s alignment to more closely match that of the casting Priest.

Create Pocket Dimension – Umm… yeah.

Earthquake – The planar mage’s answer to a druid’s tornado spell. Slightly… less refined.

Glyph of Transportation – Create a (semi-permanent) glyph that when touched will teleport the user to some exotic remote location. Use this to link distant libraries together, or to allow a PW quick and easy access to his summer home when the old tower gets a bit musty.

Invoke Murtavo – Call down the wrath of the dark god to do something mean and unhealthy. A bargain at only 5 constitution and your immortal soul.

Planar Lock – Prevent teleportation to/from a location.

Possession – Summon a demon to share the Warlock’s body. Hello great power at great price.

Resurrect – Death penalty? What death penalty.

Tornado – Alter the winds so dramatically in a concentrated region that they become a targeted funnel cloud. Druids can use this spell to knock down buildings and small armies.

Tree Abode – Turn a tree into a building.

In order to facilitate lvl 4 magic, we would need to look into upping player skill level caps. I am not going to do this directly to the player or via magical buffs. The only way players will be capable of raising their active skill levels above 100 is through equipment that gives bonuses on top of the calculated skill level.

These items will be variously difficult to manufacture and each item will be capable of granting a single bonus to a single skill. Similar bonuses do not stack. Thus, if a player has a pair of gloves that have been imbued with a +5 bonus to Channeling skill and a hat that gives a +7 bonus to Channeling, only the hat’s bonus will be used.

Other Changes

There are actually about 4 or 5 more big topics that I’d like to see addressed in the v2.0 rewrite, but those will all have to be addressed at another time.

ldmud jabberd

Mud <-> outside world communication. It’s an idea that I’ve been throwing around for months (years now). I’ve given up on it several times. And today, it reared its ugly little head again when McKay (Sora) poked me about something vaguely related.

The incarnation of the idea this time around is simple enough that I’m willing to commit to producing it in the nearish future. It’s simpler than previous ideas but still adds a lot of value to the game – and by virtue of being simpler it has the added bonus of being more likely to see its way into implementation 😛

General Idea

Write an ldmud erq daemon that masquerades as a simple chat line inside the game and as a simple jabber user on the outside.

The ‘jabber’ channel would be added by default to all players (along with the ‘chat’, and ‘newbie’ chans). It would ideally eventually supersede/merge with the general purpose ‘chat’ channel.

The mud would log in to a normal jabber account (probably walraven@simud.org or something similar).

Players inside the mud would be allowed to register a single jabber account (such as their google talk address or something) with their character account. The daemon would then add those accounts to its contact list.

When somebody says something over the channel, it is broadcast to everyone in game as well as everyone who is currently logged in to the jabber side of things. When somebody in jabberland sends an im to the account in question, it is relayed to the chat line as if the player in question had said it normally from within the game.

IM’s from non-registered accounts will simply be ignored.

Users who log in/out of jabber should have their presence announced on the channel, and should show up in a special section of the ‘who’ list. Users who log in and out of the game should have their presence announced to jabber-side users.

If a user is logged into both jabber and the mud, they should still receive the jabber-side messages unless they turn this option off.

Example

Sora, Malap, and I have all signed on for the jabber service with our various accounts. We all maintain a generally high degree of jabber presence all day, every day.

A newbie logs in to the game. The three of us see the notice and are able to instantly help out if needed. Even though we’re not actively playing around in the game world, we can answer questions and the world doesn’t feel empty.

Athenon and Garvin have jabber accounts but don’t use them 24/7. They could register as well, and thus give us an even better semi-permanent presence in the game.

If the newbie is still playing and Garvin logs in, he’ll see the notice and will be able to chat with a fourth person. All w/o anyone else actually being inside the game space itself.

Potential Upgrades

  • Ability to direct tells over the same connection somehow w/o the danger of replies being broadcast to the whole mud? Hmm…
  • How about forwarding in-game IM’s to the user’s jabber account in stead of spamming them on login?
  • Ability to send basic informative commands from jabber. Ie, ‘who’, ‘finger’, ‘uptime’.

bangitty bang

In the wake of Gamespy’s article today, and my flipping through my boss’s copy of the art book… I have a wish.

I want one thing from WoW. And one thing only.

I want pistols.

Specifically, I want one-handed/dual-wieldable guns that count as normal weapons (ie, they don’t equip in your ranged weapon slot).

  • I want them to require either hunter class or engineering profession to wield (in addition to buying the weapon skill from a trainer – perhaps even a quest to activate the ability).
  • I want them to use ammo from bullet pouches, and I want them to use gun skill (or at least give dwarves the +5 bonus to pistols as well and require folks to level this separately – kind of like 1h vs 2s sword).
  • I want them in stead of a point-blank talent for high level hunters – possibly with a lvl 40 req to learn the skill (like polearms are lvl 20).
  • I want them to have a base range of 0-8m, which should probably be improved by the appropriate hunter talent.
  • I want them to work while moving, just like any other melee weapon (and unlike normal ranged weapons).
  • I want them to benefit from all appropriate hunter talents and buffs (ie, they use ranged attack power in stead of melee, they get firing rate bonuses from pouches, improved hawk, and rapid fire, etc…).
  • I want them to count as suitable weapons for hunter special abilities, shots and stings.

I think it would be appropriate if their base damage and rate of fire were similar to one-handed melee weapons. I think it would be appropriate if there were some pistols that were only allowed in one hand or the other.

I think it would be appropriate if hunters were required to do something like stances to switch between pistols/regular ranged.

I also think they should continue to be restricted to only applying scopes or other similar enhancements – no fiery enchant or crusader pistols thank you.

I want pistols.

Note: Rogue friend of mine thinks to complain about this idea. In fact, he was pretty vulgar about it. I don’t care 🙂 I want pistols. I want pistols so much that I’m willing to forget my complaints about absolutely every other game balance/feature issue out there…

I want pistols.

one chat

Well, the last week or so has seen Peter get something like seven job offers (including one from me :P). The most interesting offer of which was from Cambrian House, the stealth startup that he, erm… “discovered” a few weeks before their actual launch.

So… Cambrian House. Which, to avoid confusion with Candle Hill (the biggest city in my game world, also abbreviated as CH) has been arbitrarily assigned the internal codename of “Turtle”. Because I like turtles. And because the Cambrian Period was all about hard-shelled critters, and turtles wear their own houses. But I digress.

Cambrian House is a sort of mobocratic (they use the word “crowdsourced”) software project development/marketing engine. The basic business model is as follows:

  • Random people submit ideas.
  • The general public is given an opportunity to vote for their favorite ideas.
  • Those ideas that do well get the green light and begin production.
  • By production, I mean open source type development model.
  • When the project goes live and starts pulling in money, contributors get a cut of the royalties based on the amount of time/work/creativity they put in.

All in all, I think it’s a pretty interesting idea, and I hope they do well. I’ve even posted three ideas. One of my ideas is even doing well in the polls so far.

one chat

So, you ask, what is my amazing idea that everyone loves and stuff? Well, it’s not that amazing, really, but it’s a service that I’ve never seen offered well enough to write home about. To quote the brief idea description that I submitted to the Turtle:

Instant messaging service that aggregates multiple protocols and SMS text messaging into a single, easy to configure and easy to use network.

Allow people to register their numerous IM accounts with the service. They then log in to the single network and are able to transparently communicate with any of their friends on their other contact lists, without worrying about trivial things like which chat protocol each friend might happen to use or trying to configure things like a traditional multi-protocol IM client or Jabber transports.

In other words, we’re looking at a centralized service that handles any number of IM account logins on the server side of things. The end-user would then simply log in to our service in order to get access to all of their existing accounts – without having to keep multiple sockets open or having to worry about the problems just mentioned.

I would like to see the client for this service offer a few extra special little features (including some I didn’t have room to mention in my original post):

  • Server-side contact lists. – Not all protocols support them (like ICQ), some probably never will, and some that do don’t support them well (like MSN).
  • Associated contacts. – Any decent multi-protocol IM client allows you to say that any number of your contacts actually point to the same person. If you’re lucky, you can even stack the contacts together so they only show up on one line of your buddy list.
  • Email gateway. – For really desperate situations, you should be able to treat email addresses just like IM accounts. Click a contact for whom you’ve specified an email address and it should be able to mail them if they’re not logged in to any IM’s at the moment.
  • SMS text messaging. – In addition to traditional IM and email gateways, as an added service to our customers, we should allow them to send text messages to arbitrary cell phone numbers. Ideally, this should be able to work regardless of the recipient’s phone company.
  • Encryption. – Since you’re only ever talking to our server, all communication with our server should be encrypted – regardless of the chat protocol we might wind up using to talk to your friends for you. If you’re chatting with friends who are using protocols that support further encryption, you should get that too. If your friends don’t use a protocol that offers encryption then only their end of the communications will be broadcast in the clear – unless they’re using our service of course.
  • Platform independance. – The client should be available for all major systems (Windows, Mac OSX, Linux, FreeBSD, Solaris, PocketPC, Palm).

To vote for my idea, click the icon below and then click the “add my support” link. No obligation or registration or anything is required.

Support My Idea at Cambrian House

spell effect survey

The following is a continual survey that I am conducting of all magical effects that I have seen implemented in pen and paper rpg’s. The point here is to condense them into their barest forms and thus be able to categorize specific spells into individual categories – and to use the list as a sort of checklist when designing other magic systems.

affect metal – magnetism, rust
affect plants – growth, decay/rot, bless crops, alter the properties of fruit
affect stone – make hills/tunnels, sculpture, shift between mud/sand/clay/etc
affect water – sanctify, poison, alter temperature
affect wind – controlled bursts of wind, affect sailing/flight, stop wind
alter weight – make items heavier or lighter (with or without altering effectiveness)
animate objects – stones, cutlery, corpses, golems, plants
blindness – often caused by a flash of light or an illusion
breathe without air – breather under water or in other inhospitable environments
buff – generic statistic increasing
communication – send a message to someone, omens, dreams, telepathy, couriers
comprehend languages – foreign languages, magic, codes, written and spoken
concealment – cause target to blend in with surroundings – different than invisibility, also obfuscation by mists/smoke/etc
conjure minerals – create stone, water, metal, wood
control weather – cause/calm storms, alter temperature
damage – earth, fire, ice, lightning, stench, plasma, poison, sound, vacuum, wind, mental, spiritual, physical (blades and bludgeons)
darkness – cause an area to become dark – intercept light passing through it
debuff – generic decrease in ability levels
detect aura – detect magic, alignments, prowess, truth, life
detect invisible – see invisible or concealed things
detect minerals – hunt down gold, water, etc…
fear – cause a target to wig out – usually running away or becoming somehow paralyzed
flight – move while in the air – usually quite rapidly
heal – undo injury of one sort or another
identify – determine magical properties, history, composition, uses of an item
illusion, auditory – spooky noises, ventrilloquism, improving a visual illusion
illusion, visible – ranging from imaginary castles to pretty light shows to fireballs that can really kill the target
invisibility – different from concealment in that the target is actually impossible to see by mundane means
levitation – different from flight in that levitation is just the act of floating – usually no actual travel is allowed, or it is at least slowed significantly
light – cause something to glow so people can see – often conjure floaty balls of light, also flashes and colours bordering on illusion effects
mend – repair damaged equipment
mez – mesmerise, cause a target to become mentally befuddled/charmed to the point of nonaction or to changing sides
raise dead – either resurrect, reincarnate, or make zombies
repell – cause targets of a certain type to be kept at a distance either by fear, confusion, or sheer metaphysical effort
resist damage – protection from one or more types of damage
silence – target or area becomes silent, either stealth or preventing spellcasting/communication
sleep – victim falls into involuntary sleep, also healative uses
summon elemental – usually expendable force of nature becomes personified to help in combat, rarely summoned for nonviolent reasons
suspended animation – hibernation, feign death
telekinesis – move items around
teleportation – move between two locations without passing through the interposing physical space
track – follow the trail of a target object/creature
transfer soul – mind jar, soul gems, possession
transmutation – flesh to stone, shift between states of matter and fundamental elements
walking – surface tension is no problem, similar effects allow climbing up sheer surfaces and running across sand/water/uneven terrain
wall – physical or immaterial barriers of mineral, elemental, and biological matter

damage redirection; traps; alter alignment; instant death; summon other sorts of things; gates; permenance; counterspells, dispelling, and other meta-magic; polymorph; forgetfulness; generic ultimate spell of doom