A long time I think about a different magic system. Instead of offring
theplayer complete spells, I want to allwo the player to combine
syllables to meaningful spells. Of course this restrict the diversity of
spelss drastically, because they now have to work in a scheme whereas
complete spells can be implemented individually and differently for each
spell.
Nevertheless this is a request for comments on my idea. Below is the
design document for the spell system as a far as I have it right now.
Thanks for all comments in adavance :)
If you find holes in the design or things which make this impossible to
implement in your opinion please let me know!
---------------------------------------------------------------
Elemental magic:
----------------
Spells are made from syllables for
- Power
- Element
- Form
- Modifier
There seem to be two groups of spells which can't be unified:
- environment affecting spells
- object (includes monster/player) affecting spells
1st group, environmental spells
------------------------------
1.) Power (trivial, several levels of Power)
cost: 1.5 per power level
2.) Elements (exclusive)
- Fire (heats, absence cools environment)
cost: 2.0
- Light (Lights environment, dark if absent)
cost: 1.5
- Water/Acid (wet/dry -> corrodes things)
cost: 3.0
- Gravity (affects the weight of all things)
cost: 4.0
- Sound (Sound, silence)
cost: 1.0
3.) Form of effect (exclusive)
- area effect (centered on location)
cost: 3.0
- beam effect (line)
cost: 1.0
4.) Modifier (may be combined)
- Duration (short - long)
default: short
cost: 1.0 per time interval
- Range
default: 1
cost: 1.0 per additional range
Influences of spells on environment implies this properties of
environment:
- temperatur
- lightness
- gravity
- loudness
- humidity
-> objects/monster/player is affected indirectly, due to interaction
with
the environment properties.
2nd group, object affecting spells:
----------------------------------
1.) Power (trivial, several levels of Power)
cost: 1.0 per power level
2.) Object affecting elements (exclusive)
- Fire (make object burn, end burning on absence)
cost: 2.0
- Electrictiy (charge/uncharge object)
cost: 2.0
- Void (makes object disappear)
cost: 2.5
- Inertia (can be modeled by increasing objects mass)
cost: 1.5
- Movement Force (pull/push object)
cost: 1.1
- Shaping Force (deform/damage object)
cost: 1.8
3.) Form of effect (exclusive)
- bolt effect (travels to location if reachable, then affects an object
there)
cost: 1.0
- object bound (bound to/moves with object/player/monster)
cost: 1.0
4.) Modifier (may be combined)
- Duration (short - long)
default: short
cost: 1.0 per time interval
- Transitive (moves to adjactand objects with time, too)
default: intransitive
cost: 1.0 for intransitive, 5.0 for transitive
Influences of spells on objects implies this properties of objects:
- mass
- electrical charge
- location
- damage level
Elemental spell costs:
---------------------
1.) The magician need to rest some time after a spell was cast.
2.) High power spells fail more often.
Spell costs in general
cost = power_level * element_cost * form_cost * (modifier sum)
The element costs, form costs and modifier costs are listed above
with the spell descriptions.
1.) Recharging time:
(cost/mage_level * constant1) turns/seconds
2.) Failure rate:
(cost/mage_level * constant2) %
***Costs need to be adjusted!!!
---------------------------------------------------------------
c.u.
Hajo
PS: please excuse my english, especially the spelling. I'm not very used
to write something like design documtents in english.
> Hello,
>
> A long time I think about a different magic system. Instead of offring
> theplayer complete spells, I want to allow the player to combine
> syllables to meaningful spells. Of course this restrict the diversity of
> spelss drastically, because they now have to work in a scheme whereas
> complete spells can be implemented individually and differently for each
> spell.
>
> Nevertheless this is a request for comments on my idea. Below is the
> design document for the spell system as a far as I have it right now.
>
> Thanks for all comments in adavance :)
> If you find holes in the design or things which make this impossible to
> implement in your opinion please let me know!
>
Sounds rather reminicent of some ideas about compartmentizing spells that were
batted around here a while back, though they were never actually worked out into
a system.
Would this system involve all the syllables being said at once, or would you say
them individually?
Would you be able to say a few syllables, then leave them hanging till the final
syllable to give it form is said, and if so, would it have any effects? (for
example, leaving fire hanging might occassionally result in accidental burns,
plus occassionally burning anything you came in contact with)
>
> ---------------------------------------------------------------
>
>
> Elemental magic:
> ----------------
>
> Spells are made from syllables for
> - Power
> - Element
> - Form
> - Modifier
>
Could you have multiple syllables from the same group in a spell? Fire and
inertia, for example? Also, would you be able to write down good syllable
combinations in some sort of magic book, and just choose them from there, saving
keystrokes after you came up with useful combinations?
A few suggestions:
Knowledge (Identifies objects, provides information on monsters and self)
Life (Heals self and monsters, not sure what effect it ought to have on other
objects, though)
>
>
> 3.) Form of effect (exclusive)
>
> - bolt effect (travels to location if reachable, then affects an object
> there)
> cost: 1.0
> - object bound (bound to/moves with object/player/monster)
> cost: 1.0
How about a ball effect?
Sounds interesting. Could make for an interesting game...
--
--Arcum
"There was a terrible ghastly silence.
There was a terrible ghastly noise.
There was a terrible ghastly silence. "
> Sounds rather reminicent of some ideas about compartmentizing spells that were
> batted around here a while back, though they were never actually worked out into
> a system.
I missed this discussion ... I discovered r.g.r.d just about a week ago.
> Would this system involve all the syllables being said at once, or would you say
> them individually?
From the gameplay, the player can select syllables individualy. He can
prepare his input with, say, "medium power environmental fire" and add
form and modfier when needed.
In effect the PC will say the spell when the player triggers it. This
means the player can eneter syllables and leave them entered, and then
trigger the spell when needed. The PC speqaks them when the spell is
triggered.
> Would you be able to say a few syllables, then leave them hanging till the final
> syllable to give it form is said, and if so, would it have any effects?
No, this is just convenience for the player. I'm not yet sure if I'll go
for a roud-based ganme or a realtime game; in a realtime game it might
be handy to "prepare" a spell and cast it with one mouse click or
keypress. In a turn based game, you have all time of the world to enter
your spells, it might not be terribly useful there to prepare spells (or
parts).
> > ---------------------------------------------------------------
> >
> >
> > Elemental magic:
> > ----------------
> >
> > Spells are made from syllables for
> > - Power
> > - Element
> > - Form
> > - Modifier
> >
> Could you have multiple syllables from the same group in a spell? Fire and
> inertia, for example?
I listed power, element and form as exclusive syllables. This means a
spell must have exactly one of them. Modifiers can be combined, but cost
additional power to cast when combined.
> Also, would you be able to write down good syllable
> combinations in some sort of magic book, and just choose them from there, saving
> keystrokes after you came up with useful combinations?
That is a nice idea. I'm not quite sure about the impact oin gameplay,
though. Casting the spells from a book requires this book to be stored
in your inventory, taking up space. Cast the spells by entering the
syllables (one key each) would free this inventory space. Keyboard
macros could be used for frequently used spells, and thus saving
inventory space with the same effect as the book, easy access to spells.
From the gameplay a book is nice. Keyboard macros could have the same
effect. I'm unsure which way to go here?
> > There seem to be two groups of spells which can't be unified:
> > - environment affecting spells
> > - object (includes monster/player) affecting spells
> >
> >
> > 1st group, environmental spells
> > ------------------------------
[snipped due to a lack of comments]
> > 2nd group, object affecting spells:
> > ----------------------------------
> >
> > 1.) Power (trivial, several levels of Power)
> > cost: 1.0 per power level
> >
> > 2.) Object affecting elements (exclusive)
> >
> > - Fire (make object burn, end burning on absence)
> > cost: 2.0
> > - Electrictiy (charge/uncharge object)
> > cost: 2.0
> > - Void (makes object disappear)
> > cost: 2.5
> > - Inertia (can be modeled by increasing objects mass)
> > cost: 1.5
> > - Movement Force (pull/push object)
> > cost: 1.1
> > - Shaping Force (deform/damage object)
> > cost: 1.8
> A few suggestions:
>
> Knowledge (Identifies objects, provides information on monsters and self)
Knowledge is a good idea, thank you very much!
I added two kinds of knowledge, like Angband has ID and *ID*
- Knowledge (learn obvious things about the object)
cost: 1.2
- Deep Knowledge (learn hidden powers, can't be forgotten or erased from
memory)
cost: 2.4
> Life (Heals self and monsters, not sure what effect it ought to have on other
> objects, though)
Most myths represent life by water, water is also one of the four basic
elements in old greek knowledge. I'll add water, which heals living
objects, but damages dead things:
- Water: (heal living things, damage dead things)
cost: 1.4
> > 3.) Form of effect (exclusive)
> >
> > - bolt effect (travels to location if reachable, then affects an object
> > there)
> > cost: 1.0
> > - object bound (bound to/moves with object/player/monster)
> > cost: 1.0
> How about a ball effect?
I restricted ball form to environmental spells. It affects an area
(=environment) rather than many objects. But the "transitive" modifier
for object affecting spells has a similar effect. When casting
electrictiy on one monster of a group, and making the spell transitive,
the electricty will jump from the affected monster to nearby monsters,
until the spell power is exhausted. In this case, transitive effect is a
modifier rather than a form.
> > 4.) Modifier (may be combined)
> >
> > - Duration (short - long)
> > default: short
> > cost: 1.0 per time interval
> > - Transitive (moves to adjactand objects with time, too)
> > default: intransitive
> > cost: 1.0 for intransitive, 5.0 for transitive
> >
> >
> > Influences of spells on objects implies this properties of objects:
> > - mass
> > - electrical charge
> > - location
> > - damage level
> >
> >
> >
> > Elemental spell costs:
> > ---------------------
[Snipped]
> Sounds interesting. Could make for an interesting game...
I'll try :-)
Currently I'm collecting ideas and refining them. This spell system is
not genuinely my idea, but more or less the essence of many spell
systems I saw in games and I thought about in the past.
I'm still unsure about questions like:
- Should I use a graphical display? If yes, 2D, pseudo 3D or real 3D?
(3rd person view is for sure).
- Should I make it multiplayer (networking)?
The worst problem is, I have much too little time for coding. But I
hope, I can make up for that with a good design. If the design answers
all questions, coding is merely writing and should be a quick job.
Thank you very much for your comments, Arcum! Your suggestions added
fine ideas to my list, thank you very much !
> --Arcum
c.u.
Hajo
> Arcum Dagsson wrote:
> >
> > In article <3B13C49F...@danet.de>, Hansjorg Malthaner
> > <hansjoerg...@danet.de> wrote:
> >
> > > Hello,
> > >
> [Intro snipped]
> > > Thanks for all comments in advance :)
> > > If you find holes in the design or things which make this impossible to
> > > implement in your opinion please let me know!
>
> > Sounds rather reminicent of some ideas about compartmentizing spells that
> > were
> > batted around here a while back, though they were never actually worked
> > out into
> > a system.
>
> I missed this discussion ... I discovered r.g.r.d just about a week ago.
>
Ah. I voted for the creation of r.g.r.d. ^_^ (Not under this name, though)
The thread is on google, here:
http://groups.google.com/groups?hl=en&lr=&safe=off&ic=1&th=4474c7060343f10d,10&se
ekm=s6go73r75k233%40corp.supernews.com#p
Some interesting ideas were thrown around...
> > Would this system involve all the syllables being said at once, or would
> > you say
> > them individually?
>
> From the gameplay, the player can select syllables individualy. He can
> prepare his input with, say, "medium power environmental fire" and add
> form and modfier when needed.
>
> In effect the PC will say the spell when the player triggers it. This
> means the player can enter syllables and leave them entered, and then
> trigger the spell when needed. The PC speaks them when the spell is
> triggered.
>
Sounds good...
> > Would you be able to say a few syllables, then leave them hanging till
> > the final
> > syllable to give it form is said, and if so, would it have any effects?
>
> No, this is just convenience for the player. I'm not yet sure if I'll go
> for a roud-based ganme or a realtime game; in a realtime game it might
> be handy to "prepare" a spell and cast it with one mouse click or
> keypress. In a turn based game, you have all time of the world to enter
> your spells, it might not be terribly useful there to prepare spells (or
> parts).
>
Depends how often you cast that spell. Something the equivalent of "magic
missile" shouldn't take many keystrokes...
> > > ---------------------------------------------------------------
> > >
> > >
> > > Elemental magic:
> > > ----------------
> > >
> > > Spells are made from syllables for
> > > - Power
> > > - Element
> > > - Form
> > > - Modifier
> > >
> > Could you have multiple syllables from the same group in a spell? Fire
> > and
> > inertia, for example?
>
> I listed power, element and form as exclusive syllables. This means a
> spell must have exactly one of them. Modifiers can be combined, but cost
> additional power to cast when combined.
>
Ah. That works...
> > Also, would you be able to write down good syllable
> > combinations in some sort of magic book, and just choose them from there,
> > saving
> > keystrokes after you came up with useful combinations?
>
> That is a nice idea. I'm not quite sure about the impact oin gameplay,
> though. Casting the spells from a book requires this book to be stored
> in your inventory, taking up space. Cast the spells by entering the
> syllables (one key each) would free this inventory space. Keyboard
> macros could be used for frequently used spells, and thus saving
> inventory space with the same effect as the book, easy access to spells.
> From the gameplay a book is nice. Keyboard macros could have the same
> effect. I'm unsure which way to go here?
>
How about letting the player choose? Provide blank books that allow for easy
casting in 2 or three keystrokes, but make it so that you can cast the spells
from memory as well, by entering all the syllables. That way, when you were just
fidding around, trying new combinations, you'd enter the whole thing, but once
you had a useful spell you were using repeatedly, you could note it down in the
book for convenience. Losing the book would be quite an inconvenience, but not
life-threatening.
Macros will work to an extent, but eventually you'll run out of keys...
Another thought: wands and staves. It might be interesting to have a staff be an
object that focuses and magnifies power, and directs it through whatever spell
is bound to it. IOW, once you find a wand, you bind a series of syllables to it,
minus power (Chain Fire Bolt, or some such), then, whenever you want to use that
wand, you'd send however much power *through" the wand, the wand would amplify
it (amount depending on staff/wand material), and focus it through the spell
bound to it.
For a limitation, you could have an exponential chance of the staff/wand
disentigrating/losing strength when too much power (how much depending on
material) goes through it. Basically staves would hold the first type of spells
(environmental), and wands the second(object/monster).
Or not. Just playing with ideas. Depends on how you see magic working in your
game's universe. And deviating from more standard roguelike/D&D objects could
make the game more interesting...
> > > There seem to be two groups of spells which can't be unified:
> > > - environment affecting spells
> > > - object (includes monster/player) affecting spells
> > >
> > >
> > > 1st group, environmental spells
> > > ------------------------------
>
> [snipped due to a lack of comments]
>
>
> > > 2nd group, object affecting spells:
> > > ----------------------------------
> > >
> > > 1.) Power (trivial, several levels of Power)
> > > cost: 1.0 per power level
> > >
> > > 2.) Object affecting elements (exclusive)
> > >
Seems a little scattered, come to think of it, but it's essentially a rough
draft. Here are a couple ideas, just to make it a little more consistant...
> > > - Fire (make object burn, end burning on absence)
> > > cost: 2.0
> > > - Electricity (charge/uncharge object)
> > > cost: 2.0
Damaging effects on creatures? (Lightning would be a possible rename, but I'm
not sure if that goes more with the theme or not. Electricity is probably fine)
> > > - Void (makes object disappear)
> > > cost: 2.5
What happens to the object? Does it reappear elsewhere? What happens if you
apply it to yourself? (IOW, is this teleport others/self?)
> > > - Inertia (can be modeled by increasing objects mass)
> > > cost: 1.5
I'm a little unclear on this one. Perhaps it could be replaced with two
elements, time (speeds up/slows down objects), and gravity (distorts mass)?
> > > - Movement Force (pull/push object)
> > > cost: 1.1
Needs a new name. Air?
> > > - Shaping Force (deform/damage object)
> > > cost: 1.8
Change to "Warp", perhaps? What sort of deforming and damaging do you have in
mind?
> > A few suggestions:
> >
> > Knowledge (Identifies objects, provides information on monsters and self)
>
> Knowledge is a good idea, thank you very much!
>
No problem, thought there was a gap there...
> I added two kinds of knowledge, like Angband has ID and *ID*
> - Knowledge (learn obvious things about the object)
> cost: 1.2
> - Deep Knowledge (learn hidden powers, can't be forgotten or erased from
> memory)
> cost: 2.4
>
Perhaps deep could be a modifier, enhancing the power of whatever element it is
attached to?
> > Life (Heals self and monsters, not sure what effect it ought to have on
> > other
> > objects, though)
>
> Most myths represent life by water, water is also one of the four basic
> elements in old greek knowledge. I'll add water, which heals living
> objects, but damages dead things:
>
> - Water: (heal living things, damage dead things)
> cost: 1.4
>
Sounds good. How does it effect objects? Water damage? Any possibility of
altering the terrain with this (creating pools or small lakes centered around an
attacking monster, for example)?
Earth should be represented somewhere in the elements, too. Perhaps Shaping
force("Warp") should be Earth, again depending on what you had in mind. That
would make the elements:
Water, Air, Earth, Fire, Lightning, Void, Time, Gravity, Knowledge.
Which sounds pretty good, though I suspect it could use another abstract element
to balance out the end (5 concrete elements vs 4 abstract). Spirit, perhaps,
though I'm not sure how that'd work out...
> > > 3.) Form of effect (exclusive)
> > >
> > > - bolt effect (travels to location if reachable, then affects an object
> > > there)
> > > cost: 1.0
> > > - object bound (bound to/moves with object/player/monster)
> > > cost: 1.0
> > How about a ball effect?
>
> I restricted ball form to environmental spells. It affects an area
> (=environment) rather than many objects. But the "transitive" modifier
> for object affecting spells has a similar effect. When casting
> electrictiy on one monster of a group, and making the spell transitive,
> the electricty will jump from the affected monster to nearby monsters,
> until the spell power is exhausted. In this case, transitive effect is a
> modifier rather than a form.
>
Makes sense, and transitive could certainly be fun. If you are nearby the
monsters, could it jump back to you? ^_^
> > > 4.) Modifier (may be combined)
> > >
> > > - Duration (short - long)
> > > default: short
> > > cost: 1.0 per time interval
> > > - Transitive (moves to adjactand objects with time, too)
> > > default: intransitive
> > > cost: 1.0 for intransitive, 5.0 for transitive
> > >
As I said, Deep might be a good addition to the list of modifiers.
> > >
> > > Influences of spells on objects implies this properties of objects:
> > > - mass
> > > - electrical charge
> > > - location
> > > - damage level
> > >
> > >
> > >
> > > Elemental spell costs:
> > > ---------------------
>
> [Snipped]
>
> > Sounds interesting. Could make for an interesting game...
>
> I'll try :-)
> Currently I'm collecting ideas and refining them. This spell system is
> not genuinely my idea, but more or less the essence of many spell
> systems I saw in games and I thought about in the past.
>
Well, that is pretty much the essence of creating a spell system...
> I'm still unsure about questions like:
>
> - Should I use a graphical display? If yes, 2D, pseudo 3D or real 3D?
> (3rd person view is for sure).
Start out with ASCII. It is a lot easier to add graphics later then ASCII
symbols, and text is more portable.
Also, graphics leaves the question of where the graphics come from...
> - Should I make it multiplayer (networking)?
>
If it's turn-based, no. If it's realtime, I'd say to leave that as a project for
after getting the engine together. A lot depends on your free time, your
familiarity with networking code, and how portible you want it to be.
> The worst problem is, I have much too little time for coding. But I
> hope, I can make up for that with a good design. If the design answers
> all questions, coding is merely writing and should be a quick job.
>
All the more reason for doing text-based and single player. That gives more time
for concentrating on the design and gameplay...
> Thank you very much for your comments, Arcum! Your suggestions added
> fine ideas to my list, thank you very much !
>
Always glad to help brainstorm. I'm good at putting together and modifying
ideas, but I never seem to have time to sit down and apply it to code (though
Angband and Zangband both have small segments of my code), which gives me all
the more reason to help others refine their ideas.
Besides, magic systems is rather an interest of mine...
Champions powers could also be thought of this way. The actual Champions
system is much too complicated to implement in a computer, but you could do
a reasonable subset, much like you've chosen. This could be for some nifty
genetic algorithm kind of stuff too :)
Neat idea. I look forward to hearing more about it.
I like the Element, but you might want to call it Sphere of Influence and
add things such as "spirit" and "mind". At one time, in a campaign of mine
for AD&D, we parameterized their schools and what not. Wasn't very
balanced, but it sure was fun.
Jay
"Hansjörg Malthaner" <hansjoerg...@danet.de> wrote in message
news:3B13C49F...@danet.de...
> Hello,
>
> A long time I think about a different magic system. Instead of offring
> theplayer complete spells, I want to allwo the player to combine
> syllables to meaningful spells. Of course this restrict the diversity of
> spelss drastically, because they now have to work in a scheme whereas
> complete spells can be implemented individually and differently for each
> spell.
>
.
I have to say, that when i did thought on such customizible
magic systems, i came to conclusion that it will be nearly
impossible to balance. Sooner or later players will eventualy
discover a subset of optimal spells in terms of min/max,
and will stick to it, rendering whole system back to the
one with predesigned spells.
And may be, it will be worth to not make spells analogue
to the doom's rocket launchers? Mages are little different
than mad lightning-fire-ball-bfg devastators.
I wish you luck with your project anyway!
Btw, is your game centered on spellcasters?
--
Orthanc - Russian Angband site http://orthanc.chat.ru/
At your service, Ilya Bely
I'm afraid this is getting lengthy. I'll try to snip a lot.
> In article <3B14A6D0...@danet.de>, Hansjorg Malthaner
> <hansjoerg...@danet.de> wrote:
>
> > Arcum Dagsson wrote:
[Pointer to old discussion about a new spell system]
> Some interesting ideas were thrown around...
I've read it (roughly) by now. My idea may sound similar, my intention was
different.
Instead of allowing much variety, I'm going for ease of implementation.
Rather than coding extra code for each combination of the syylables I want
to craete just one program part which can be parametrized with the syllables
and tehn creates the spells effects.
Probably I need two such parts as I found environmental speels and object
affecting speels are to different in effect to be unified and produced by
one routine.
I linked spell effects directly to properties of the environment
(temperature, lightness ...) and so I can apply all spell effects with the
same routine, it just modifies the properies of the environment. How this
affects the objects there is part of the object code. If temperature rises,
some objects may react, others not. Temperature may be risen by spells and
natural effects, so I do not have to use different code for that.
It's all abaut simplicism. I tend rather to leave effects out if they can't
be created with the base spell engine than to code many extra effects.
I'm not sure if this will succeed; proibablky I end up with a spell system
that is pretty simple compared to waht currently exists. But I have to adapt
my plans to my abilities and due my lack of time I have to try to get
maximum effect with minimal effort. Creating at least a good variety of
spells with a little piece of code is my goal.
In the thread it was mentioned to ciopmbine fire and ice to rpoduce steam.
While this is quite logical, it's already too detailed and special to be
created with such a simple spell engine as I have it in mind.
I plan to have "element" objects which affect properties of environment or
objects. This "element" objects will be activated with pointers to
environment (grid squares in my design) or objects by the spell engine and
can affect them. The 'form' modifier is used by the spell engine to
determine wher to apply the "elemt" objects, and the power just effects how
strong the elemental effect is. I try to keep the modifiers also simple so
that they can be apllied to all elements and forms without much extra
coding.
Well, I still have to create a test program to see if this will work and how
complex it will get.
[snip]
> > > > Elemental magic:
> > > > ----------------
> > > >
> > > > Spells are made from syllables for
> > > > - Power
> > > > - Element
> > > > - Form
> > > > - Modifier
> > > >
> > > Could you have multiple syllables from the same group in a spell? Fire
> > > and inertia, for example?
> >
> > I listed power, element and form as exclusive syllables. This means a
> > spell must have exactly one of them. Modifiers can be combined, but cost
> > additional power to cast when combined.
> >
> Ah. That works...
It's mainly for simplicty of the spell code. Combinations like fire+inertia
could make sense, but the combined effect is often not just applying both
elements but something different (fire+water/ice=steam as mentioned above).
To keep it simple, elements are 'pure' and exclusive things.
[Spell shortcuts, books, macros]
> How about letting the player choose? Provide blank books that allow for easy
> casting in 2 or three keystrokes, but make it so that you can cast the spells
> from memory as well, by entering all the syllables. That way, when you were just
> fidding around, trying new combinations, you'd enter the whole thing, but once
> you had a useful spell you were using repeatedly, you could note it down in the
> book for convenience. Losing the book would be quite an inconvenience, but not
> life-threatening.
I've added the idea of books to my list of ideas. Currently there is no
place in my design for books yet, but when doing books I'll care to keep
them inscribaeable by the player, as well as being able to buy books with
pre-written spells.
> Another thought: wands and staves. It might be interesting to have a staff be an
> object that focuses and magnifies power, and directs it through whatever spell
> is bound to it.
Pern angband has the concept of rods and rod tips. The rod is providing
power and the tips transform the pure magical power of the rod into a spell
effect. I've already included this idea into my list :-)
> IOW, once you find a wand, you bind a series of syllables to it,
> minus power (Chain Fire Bolt, or some such), then, whenever you want to use that
> wand, you'd send however much power *through" the wand, the wand would amplify
> it (amount depending on staff/wand material), and focus it through the spell
> bound to it.
The main benefit of wands/staves should be that they have power on their own
and the player can use them without having own magical powers, I think (to
make staves useful to non-magical player characters).
Probably it should be limited to experienced spell casters to bind syllables
to staves on their own. Other characters would need help from an NPC to bind
a (new) spell to the staffs.
> For a limitation, you could have an exponential chance of the staff/wand
> disentigrating/losing strength when too much power (how much depending on
> material) goes through it. Basically staves would hold the first type of spells
> (environmental), and wands the second(object/monster).
Maybe wands juts fokus power (increase the power of the spell) and thus help
the spellcaster?
Another idea ... maybe there shoudl be magical wands with power on their
own, and another object class which rather focuses pure spell power of the
caster into a more powerful spell of a certain type. I could imagine skulls,
gems, fetishes and of courses staves to have this effect.
> Or not. Just playing with ideas. Depends on how you see magic working in your
> game's universe. And deviating from more standard roguelike/D&D objects could
> make the game more interesting...
From our discussion so far, I included this list of ideas into my design
document:
Other magic
-----------
Books
- pre-written books
- inscribeable books
-> should use the same syllables like the elemental spells above
Wands
- have power
- have a distinct spell effect bound to them
-> maybe the spell effect can be echanged by an experienced spell caser
or a NPC.
Staves/Skulls/Gems/Fetishes
- fokus (increase) power
- have a distinct spell effect bound to them
-> They increase the cassters power for one certain spell
Mabe they should not be bound to a spell but an element
"Staff of fokus fire (+2)" may increase the power of all fire spells by 2
Rods
- are like wands, but recharge themselves, while wands have to be
recharged by someone
This is still a rough sketch, but at least the one new idea came up:
wands/rods as usual with their own magic power for non-magic PCs and
"fokuses" whichhelp casters to get more power into a spell or group of
spells. Thanks a lot, again :-)
> > > > 2nd group, object affecting spells:
[snip]
> > > > 2.) Object affecting elements (exclusive)
> Seems a little scattered, come to think of it, but it's essentially a rough
> draft. Here are a couple ideas, just to make it a little more consistant...
The ennvironmental spells are much more straightforward than object
affecting spells, at least I did hard to come up with a good set of elements
for object affectoing spells. Fire and electricity were the first on my
list, the other were invented with force to add more to the list.
> > > > - Fire (make object burn, end burning on absence)
> > > > cost: 2.0
> > > > - Electricity (charge/uncharge object)
> > > > cost: 2.0
> Damaging effects on creatures? (Lightning would be a possible rename, but I'm
> not sure if that goes more with the theme or not. Electricity is probably fine)
To keep the spell code simple the effect is not bound to the spell itself.
The default behaviour of all object will be to receive damage if their
charge is different form the environmental charge.
I'm not sure if this will lead to terribly useful spells, because it's much
like fire, but while some things may be affected strongly by fire (paper,
wood) others might be affected by electrictity (metals). -> This implies
objects have a property material which in return interacts whith other
object properties as charge and temperature ... not sure how to model this
yet.
> > > > - Void (makes object disappear)
> > > > cost: 2.5
> What happens to the object? Does it reappear elsewhere? What happens if you
> apply it to yourself? (IOW, is this teleport others/self?)
This is probaly the right thing. My elements all affect properties of
environment or objects. Void could be the element which affect object
location. It could just null he location (remove the object form players
world) or change the location (teleport effect)
> > > > - Inertia (can be modeled by increasing objects mass)
> > > > cost: 1.5
> I'm a little unclear on this one. Perhaps it could be replaced with two
> elements, time (speeds up/slows down objects), and gravity (distorts mass)?
Gravity is definitely a environmental element.
BAsically Inertia restricts movement of objects. The effect is to slow down
the movement of affected objects. So, your right, it affects speed rather
than mass. But what to do with 'slow' items (player/monster casting inertia
with long duration onto a sword? Unable to pick it up? Slow down the player
after picked up?)
-> This also suggests to have a 'negate' modifier which turns the effect of
the element into the opposite. Fire with negate modifier would yield cold
rather than heat. Inertia with negate modifier would speed up instead of
slow down.
-> Inertia could protect objects from being picked up by moinsters, if we
restrict picking up inert things :-)
> > > > - Movement Force (pull/push object)
> > > > cost: 1.1
> Needs a new name. Air?
Air is a good suggestion :) Thanks again!
> > > > - Shaping Force (deform/damage object)
> > > > cost: 1.8
> Change to "Warp", perhaps? What sort of deforming and damaging do you have in
> mind?
I changed it to 'earth' element as you suggested below. Magic missile
effect, delivers direct damage to target. Turns into protection effect if
negated. This filled a gap, magic miisile effects and protection spells
coudl not be cast with the former set of elements. It's even posible to
protect objects distant from the player from attacks by casting negate earth
bolts on them :-)
> > > A few suggestions:
> > > Knowledge (Identifies objects, provides information on monsters and self)
> > Knowledge is a good idea, thank you very much!
> > - Knowledge (learn obvious things about the object)
> > - Deep Knowledge (learn hidden powers, can't be forgotten or erased from
> Perhaps deep could be a modifier, enhancing the power of whatever element it is
> attached to?
Power is already part of all spells (first syllable). I thought about 5
levels of power for spells, could be increased by using 'fokuses' as
discussed above. Maybe ID spells thould revela a certain percentage of
knowledge about objects, and only the most powerful ID spell can reveal all
it's properties?
Ok, only one element 'Knowledge' wich reveals more and more information
about an object when the spell power is risen. The negate modifier should
make the player (affected monster?) forget about object properties. So we
have an amnesia spell right at hand.
> > > Life (Heals self and monsters, not sure what effect it ought to have on
> > > other
> > > objects, though)
> >
> > Most myths represent life by water, water is also one of the four basic
> > elements in old greek knowledge. I'll add water, which heals living
> > objects, but damages dead things:
> >
> > - Water: (heal living things, damage dead things)
> > cost: 1.4
> >
> Sounds good. How does it effect objects? Water damage?
It corrodes the objects. Slow damage, little damage, but long lasting.
Now, after the invention of the 'negate' modifier this should probably be
changed:
- Water itself heals living things and repairs a litle bit of damnaged
objects (cleans them at least). Negate water is acid and does damage.
> Any possibility of
> altering the terrain with this (creating pools or small lakes centered around an
> attacking monster, for example)?
This would be an environmental water spell, I'm lucky it is already listed
there :-)
> Earth should be represented somewhere in the elements, too. Perhaps Shaping
> force("Warp") should be Earth, again depending on what you had in mind. That
> would make the elements:
>
> Water, Air, Earth, Fire, Lightning, Void, Time, Gravity, Knowledge.
Air and void are affecting 'location': Void is the teleport effect, while
air move the object physically. Makes sense.
I'd like to keep time as inertia, negate inertia is speed up, but negate
time is going backwards in time, which is not what we desire, or at least
different from the initial idea and we need both, inertia and time as
elements.
> Which sounds pretty good, though I suspect it could use another abstract element
> to balance out the end (5 concrete elements vs 4 abstract). Spirit, perhaps,
> though I'm not sure how that'd work out...
I'll start with a subset of them. As written above the elements will be
objects which can be just plugged into the spel engine, so it should be
fairly easy to add new elements.
I'm afraid the onyl thing hard to code in this scheme are exception from the
basic rules, but I think I'm pretty happy if it works even without any
exceptions ;)
> > > > 3.) Form of effect (exclusive)
[snip]
> > > How about a ball effect?
> >
> > I restricted ball form to environmental spells. It affects an area
> > (=environment) rather than many objects. But the "transitive" modifier
> > for object affecting spells has a similar effect. When casting
> > electrictiy on one monster of a group, and making the spell transitive,
> > the electricty will jump from the affected monster to nearby monsters,
> > until the spell power is exhausted. In this case, transitive effect is a
> > modifier rather than a form.
> >
> Makes sense, and transitive could certainly be fun. If you are nearby the
> monsters, could it jump back to you? ^_^
Of course :-)
It's an elemental force without knowledge who invoked it. It will hurt you.
Never cast a fire ball in front of you ;-)
> > > > 4.) Modifier (may be combined)
> > > >
> > > > - Duration (short - long)
> > > > default: short
> > > > cost: 1.0 per time interval
> > > > - Transitive (moves to adjactand objects with time, too)
> > > > default: intransitive
> > > > cost: 1.0 for intransitive, 5.0 for transitive
> > > >
> As I said, Deep might be a good addition to the list of modifiers.
I'm unsure about 'deep' but I added 'negate' hwich adds a lot of new spells
effects by turning the effect into the opposite.
- Negate: switches sign of effect of element (heat->cold)
cost: still unsure
> > [Snipped]
> Well, that is pretty much the essence of creating a spell system...
>
> > I'm still unsure about questions like:
> >
> > - Should I use a graphical display? If yes, 2D, pseudo 3D or real 3D?
> > (3rd person view is for sure).
> Start out with ASCII. It is a lot easier to add graphics later then ASCII
> symbols, and text is more portable.
I'm currently working on a isometric view addon for PernAngband, you can see
some screenshots at http://isoband.cjb.net
I found, that displaying good graphics needs more information than the ASCII
view. At least I'll have to take care about that when implementing hte
interfaces. I.e. shadows do not affect complete squares in most cases, the
rather shadow only parts of the grids. As an additonal example, ASCII can't
display stacked objects properly while a graphical view is much better in
that.
> Also, graphics leaves the question of where the graphics come from...
I'll take at least some of them from Iso-PernAngband, at least those which I
painted by myself. For the others I'll have to ask the original authors for
permission first.
Those are not very many and i'm not a particularly good painter but I have
already enough images for a start. In additon I have the code for an
isometric graphics engine, and an older raycasting engine. To be honest I'd
like to go for a 3D view much like an isometric view but with the coreect
perspective display (things shrink in the distance, and paralell lines meet
in infinity).
> > - Should I make it multiplayer (networking)?
> >
> If it's turn-based, no. If it's realtime, I'd say to leave that as a project for
> after getting the engine together.
I did this with another project. Now I found that the design I chose does
not allow good networking, but requires to transfer too much data per time.
I think I have to take care right at the initial design step to keep the
option for easy networking and I have to care abouthtis throughout the whole
development, even if networking support is the last thing which will be
implemnted.
> A lot depends on your free time, your
> familiarity with networking code, and how portible you want it to be.
Usually I try to make my program 'portable'. In the psat this meant I
collected all system dependant things in one file and built a more abstratc
API on those functions. Then I had several version of this file for all
supported operating systems. I used this approach to some success with
AmigOS, DOS, Windows, Linux and BeOS. I tried to keep the system dependant
file small but for applications which used many graphics functions this file
grew sometimes to 1500 LOC for some systems. For my last game, Simutrans
(http://www.simutrans.de) I could keep this wrapper file below 500 LOC for
all OS but Linux which required a bit more.
Long speak short sense: I want to make my things as portable as I can, but
without much additional work. I have not much experience with networking
code: so far I wrote an example sever which listens on a socket and accepts
connections there. It just replies the data send by the clients back to the
clients. A kind of an Echo-Server. That's all, I merely know a little bit
about sockets.
> > The worst problem is, I have much too little time for coding. But I
> > hope, I can make up for that with a good design. If the design answers
> > all questions, coding is merely writing and should be a quick job.
> All the more reason for doing text-based and single player. That gives more time
> for concentrating on the design and gameplay...
Basically your right. But I think this time I should try to create
multiplayer/networking support (I do those hobby projects mainly for
learning purposes. Learning networking stuff would be a good thing I think).
I need to meet someone who did this already and who can help me to avoid the
most obvious problems when designing a game for being played in a network by
many people.
> > Thank you very much for your comments, Arcum! Your suggestions added
> > fine ideas to my list, thank you very much !
> >
> Always glad to help brainstorm. I'm good at putting together and modifying
> ideas, but I never seem to have time to sit down and apply it to code (though
> Angband and Zangband both have small segments of my code), which gives me all
> the more reason to help others refine their ideas.
>
> Besides, magic systems is rather an interest of mine...
Before Angband I played mostly 'magic' PC classes, but in Angband I found
the start a real mage is boring and difficult so I prefer rogues, who are
much easier while still provide some magic skills.
> --Arcum
c.u.
Hajo
Never played Ultima, my ideas go back to experiences with Dungeon Master
which I played in late 80s/early 90s on an Atari ST.
> It was a good system, if not a little simplistic, but offered a
> variety. It also made searching for the actual formulas part of the game to
> discover "new" spells.
Same in Dungeon Master. But that part of fiun was over when I discoverd that
there were a meer 120 combinations of the spell symbols and tried them all
... after that, knowing that you know all spells and ther will never ever be
more speels to discover took quite a lot of fun away. One shoudl not exploit
sytsems that systematically ... but I'm sure I'll do again if I find another
game with such a system :-)
> Champions powers could also be thought of this way. The actual Champions
> system is much too complicated to implement in a computer, but you could do
> a reasonable subset, much like you've chosen. This could be for some nifty
> genetic algorithm kind of stuff too :)
Can you tell some more details about Champions? I do not know anything about
Champions, what it is and what the player can do in/with it?
> Neat idea. I look forward to hearing more about it.
This might take some time :) All code which exists is a test program for my
field of view code. The rest is just a document with all ideas collected so
far, and some attempts to group the ideas and find object/class
representation for soem of the more concrete ideas. But I might ask a lot
more things here while going on with the project.
This time I want to do it 'right' make a good requirements analysis first,
then a design of classes and objects and finally implement it. I know about
incrmental development models, and I think they can be apllied to design and
implementations teps, but from my experience requirements analysis should be
done in big parts right before doing anything else.
> I like the Element, but you might want to call it Sphere of Influence and
> add things such as "spirit" and "mind".
In the discussion with Arcum we wnt for more basic elemts and exchanged the
abstract "forces" with earth and air. There is still room for "mind" and
"spirit" but unlike the other elements in my proposal I do not know which
properties of object or environment "spirit" and "mind" could influence?
> Jay
c.u.
Hajo
It sounds different but maybe it's the same idea behind the thing. Where can
I get more information about "mage 2 mage"?
> I have to say, that when i did thought on such customizible
> magic systems, i came to conclusion that it will be nearly
> impossible to balance. Sooner or later players will eventualy
> discover a subset of optimal spells in terms of min/max,
> and will stick to it, rendering whole system back to the
> one with predesigned spells.
Yes. My point was not so much about having an extensible system, but one
which is easy to implement. Coding each spell on its own means coding and
debugging each spell. I hope I can come up with a generic spell engien and
just plug elements, modifiers and such into it and so getting many different
spells froma relatively small program.
Of course, all the spells are predesigned, and there is a fixed number of
combinations (In my proposal there might be less than 100 possible
combinations I think) so basically it's nothing else but 100 predefined
spells.
The only difference is the coding part, which I hope is easier this way, and
the presentation to the player, at least giving hte impression that spells
are free-form and it'S just him who creates and cast them. I think if I
present the spells 'right' to the player the impression of a complex and
infinite range of spells can last pretty long.
> And may be, it will be worth to not make spells analogue
> to the doom's rocket launchers? Mages are little different
> than mad lightning-fire-ball-bfg devastators.
This is a question of balance. A set of predefined speels can conatin
poerful speels and some spells from a combination based system might be too
powerful too. Playtesting shoudl show that pretty soon;, I hope :)
> I wish you luck with your project anyway!
Thanks a lot! I hope it will survive the requirements analysis and design
phases and actually be implemented some day :-)
> Btw, is your game centered on spellcasters?
I like the idea that any character should be able to learn spells. Well at
least he should be able to try learning spells. Some PC will have horrible
mage skills, this means they fail nearly always to cast the spell. But I
want to allow them to try casting spells, and if the player is pretty
patient his warrior might learn to cast fireball one day.
The game will not be centered on spellcasters, but the spell system will be
one of the major building blocks.
From my writing above you also see, that I'll go for a skill based system.
All actions will be bound to a skill. If you try them often, that skill will
improve. You can actually train your character. The character will adapt to
your style of playing, if you play a mage like a warrior you might not have
much fun until his fighting skills go up, but he will always learn fighting
slower than a real warrior, whoi in return needs much more training to
become a spellcaster if you want to go for that.
Ok, this is just a 'want have' so far. I'll try to find basic skills or a
skill tree and then ask here again for help :)
> Orthanc - Russian Angband site http://orthanc.chat.ru/
>
> At your service, Ilya Bely
c.u.
Hajo
I had a free form system something along your lines where magic was constructed
from a series of components. The system was based on an analogy with music. My
division of the agent of expression was a little different than yours and I
based power on the degree of subtlety (or lack thereof.) Here's the link...
http://hiddenway.tripod.com/tempered/
Bob
> Of course, all the spells are predesigned, and there is a fixed number of
> combinations (In my proposal there might be less than 100 possible
> combinations I think) so basically it's nothing else but 100 predefined
> spells.
Some of your spells will be quite similar. What the difference between
fireball and coldball if target don't have resists?
My point was that some spells most likely will happen to be more effective
that others in terms of minimaxing. And those less effective spells will
be unused. So, while you have 100 combinations to casts spells, only 20
will be used.
And it may be easer to code 20 spells in tradional way than implement
spell compiler.
I don't want to say that idea is bad, but that some care must be taken
to prevent degradation of complex system to set of several keybindings.
>> And may be, it will be worth to not make spells analogue
>> to the doom's rocket launchers? Mages are little different
>> than mad lightning-fire-ball-bfg devastators.
>This is a question of balance. A set of predefined speels can conatin
>poerful speels and some spells from a combination based system might be too
>powerful too. Playtesting shoudl show that pretty soon;, I hope :)
My english seems to be uncomprehensible a lot :-(
I was trying to say that your spell system is too much combat oriented.
I had seen "fireball" spell in almost any game.
Mages in most games seems to be just other kind of fighters. Probably,
it may be worth to try to make a mage class that isn't concerned on
combat. After all, theves are not just maniacal back-stabers, why should
be wizards?
Some games had gone so far, that playing a mage in them resembles DOOM
too much. Fireball instead of rocket launcher, what the difference?
It seems to me that is so due to influence of table-top RPGs. Combat spells
are easiest to implement. Fireball is much more easy to code than Create
Illusion. In tRPG, you are not bound to mechanics, you can roleplay.
In cRPG you only have a mechanics.
Why thieves are played different, while mages and fighters only differs
in a way to inflict damage?
Don't take my delirium seriously. After all, roguelikes are supposed
to be mostly about combat.
> The game will not be centered on spellcasters, but the spell system will be
> one of the major building blocks.
If i will ever try to make my game, i'll made several kinds of spellcasters
all played by different rules.
Druids will drain mana from surrounding plants.
Mages will use prememorized spells - slow memorize, but fast to cast.
Shamans will charge their amulets with spells.
Sorceres will have to perform a rituals, so it will take a lots of
time, but effects will be truely earth-shifting.
Some others will use a kind of programming language.
Some others will construct magic creatures.
And so on...
> From my writing above you also see, that I'll go for a skill based system.
> All actions will be bound to a skill. If you try them often, that skill will
> improve. You can actually train your character. The character will adapt to
> your style of playing, if you play a mage like a warrior you might not have
> much fun until his fighting skills go up, but he will always learn fighting
> slower than a real warrior, whoi in return needs much more training to
> become a spellcaster if you want to go for that.
>
Skill system have a downside. Just imagine that you got a new rifle of
unfamiliar to you system. Will you to go to battle and shoot with it?
If you are not of suicidal kind, i bet that you will not. You will most
likely draw a circle on a wall and shoot it 100 times. Or 1000 times.
Until you will have a preciese feel of how it operates and become
familiar with it.
So, if you just picked a sword, while you had used axe for all of your
life, or find a new spell, why should you act different?
Yes, you can fireball a wall 100 times to gain a skill, but it is
really *boring*. And many peoples will consider it cheating.
So, most likely you will take a risk instead of boredom and will use your
sword or spell without training.
If skill system is created to make more realism, it fails here.
of haveing a luxury to have more junk items. Tables, broken chairs,
burned curtains, blood stains don't have anny effect on gameplay, but
affects mood a lot. In ASCII they are just plain annoying.
About networking, if you want to have a small number of players, you
can have a fully-synchronized states for all computers. Anything
that happen on one computer, happens in this way on all others.
Since all have the same logic and data, all computers will have the
same state of the game world. The only thing you need to transmit
is user input. However, this approach is more susceptable to lags.
But it can be solved by sacraficing response time to gain smoothness.
I can go to more datails if you want.
Probalbly, my english is unclear again.
I hope you will manage to make a game with interesting and complex
spell system. There are so few of them exists.
--
This site http://hiddenway.tripod.com/contents.html
is quite a noice treasure box of knowledge :-)
I made printouts of the magic system and the essay about attribute systems.
I still have to read the other material. But I'm sure it will help to
compare my ideas with other ideas.
The magic system is very well thought, but I see no easy way to implement
it? My own design was aimed for ease of implementation rather than to allow
a wide variety of spells. I mean I want to get both, but a simple
straightforward implementation is the prerequisite; getting a wide variety
from a simple system is the secondary goal. This may sound discouraging, but
I have to adapt my goals to my skills and the time I can spend on
programming.
Did you make plans how to implement your tempered magic system? My main
concern is how to implemnt such a complex system without explicitely coding
each combination of 'components'?
> Bob
c.u.
Hajo
> > Of course, all the spells are predesigned, and there is a fixed number of
> > combinations (In my proposal there might be less than 100 possible
> > combinations I think) so basically it's nothing else but 100 predefined
> > spells.
>
> Some of your spells will be quite similar. What the difference between
> fireball and coldball if target don't have resists?
According to the latest design proposal coldball is fireball with the negate
modifier. So of course they are very similar.
OTOH ball spells are environmental spells. That means they don't affect
objects directly but rather change the properies of the environment. In this
case they affect temperature, firball raises temperature, coldball lowers
temperature.
The effect of environmental temperature on objects player and monster will
be coded into the object and being classes. In general a object as well as
abeing has a preferred temperature and will generally take damage if the
environments temeperature differs too much from the preferred temperature.
So far the general behvaiour.
I plan to have plugins for reactions to environment. This plugins could be
behaviours like "burnable", "freezable" ans such. Objects in general will
take damage from unusual temperatures. Object which are plugged with
"freezable" are destroyed below a certain threshhold, objects plugged with
"burnable" are destryoed above a certain threshhold.
You see, the spells are very similar, but the effect on objects and monsters
can vary widely. The effects don't base on the spell, but are intrinsic to
the affected onjects. That's where the variety comes from, object differ in
theri reaction to the spell effect, while the spell effect is the same.
Somehow, I reverted the usual design: instead of letting the spell affect
the objetcs, the objects decide how they are affected by the spell. I still
have to see how well this will work.
The design is not very detailed in this part yet. Instead of havinmg deep
class hierarchies I want to try to use association and aggregation (and what
C++ allows to use delegation) to model my gameworld. This means my base
classes will end up to be skeletons with some default behaviour and can be
associtaed with objects which apply more specific behaviour.
This is as component based as the spell system. I'm not sure how far I'll
get with this approach, but deep class hierarchies haven proven infelxible
several times in the past (in other projects I worked on) and I try to get
around this by using the 'plugin' concept I've sketched above.
> My point was that some spells most likely will happen to be more effective
> that others in terms of minimaxing. And those less effective spells will
> be unused. So, while you have 100 combinations to casts spells, only 20
> will be used.
> And it may be easer to code 20 spells in tradional way than implement
> spell compiler.
I must admit having weak or useless spells is part of my idea. I found
offering the player just 'good' thing takes away the job of finding ggod
things and decide which things are good.
This is a bit of a exploratory task, and different player might find
different spells useful in their style of play. Some might even decide to
try playing with an unusual set of spells (some people play angband without
artifacts, some other play mages without offensive spells).
I'll try to balance the spells so that there is no obvious set of supreme
spells. But I'llleave the weaker spells in, just for giving the player
something to experiment and play with.
> I don't want to say that idea is bad, but that some care must be taken
> to prevent degradation of complex system to set of several keybindings.
Agreed. Any suggestions how to do this?
> >> And may be, it will be worth to not make spells analogue
> >> to the doom's rocket launchers? Mages are little different
> >> than mad lightning-fire-ball-bfg devastators.
> >This is a question of balance. A set of predefined speels can conatin
> >poerful speels and some spells from a combination based system might be too
> >powerful too. Playtesting shoudl show that pretty soon;, I hope :)
>
> My english seems to be uncomprehensible a lot :-(
This problems exists on both sides. English is not my mothers tongue so
sometimes I just get it wrong even if it is perfectly senseful to a native
english speaker.
> I was trying to say that your spell system is too much combat oriented.
Ok. Now I got the point!
Environmental spells: it seems to be intrinsic that changes of the
environment have damaging effect in first place. But in second, at least
some of those effects can be used to protect.
Imagine you have to adventure in a very hot area. You could use cold balls
to cool your environment, and thus be able to adventure there where other
humans just get burned by the heat ... a dungeon near a volcano for example.
Maybe a weak example ... but I think, elemental magic which plays wqith
elements like fire/cold, light/dark, sound/silence and such is damaging
affected objects in first place.
Probably I have to add more different spell systems. The elemental system
does not allow for detection spells, and not for summoning anything else but
elements. It does not allow for creating potions. You see I already divided
environmental and object affecting spells. Illusion spells (mind afecting)
and summoning spells (creating living things) seem to be two more spell
classes. Creating potions of all kind seems to be a spell class of its own,
too. I'm very unsure about all three of them, but I'll just keep the ideas
in my design dokument.
I've added this lines to my design document:
- Illusionary (mind affecting spells)
- Creational (create 'living' or 'animated' things, maybe objects, too)
Maybe they can make up for the agrresiveness of the elemental spells.
> I had seen "fireball" spell in almost any game.
> Mages in most games seems to be just other kind of fighters. Probably,
> it may be worth to try to make a mage class that isn't concerned on
> combat. After all, theves are not just maniacal back-stabers, why should
> be wizards?
What kind of spells would you suggest? I mean spells which are useful in a
game where fighting is a main part of the game?
I could come up with identify, magic mapping, detection ... can you help me
out with more non-attack spells?
> Why thieves are played different, while mages and fighters only differs
> in a way to inflict damage?
I don't know. The only thing I can imagine is that the role of a thief is
much better known by an average player than the role of a mage. And a player
chooses his PC to play a role; thos who choose a thief want to play a thief.
I assume that people have mages in mind who cast damaging/attack spells in
first place and play them this way. Since noone of us ver met a mage and
joinded him in an adventure noone of us can tell if this is correct or not.
But we all now thet thieves have to be sneaky and slick to survive, we even
call fighting thieves robbers in real life. So even the word thief excludes
the intention to fight in first place.
I'm not suer about all this, but I assume the reason why mages are played as
aggresive class is in the mind of people rather than in the game.
> Don't take my delirium seriously. After all, roguelikes are supposed
> to be mostly about combat.
:-)
> > The game will not be centered on spellcasters, but the spell system will be
> > one of the major building blocks.
>
> If i will ever try to make my game, i'll made several kinds of spellcasters
> all played by different rules.
> Druids will drain mana from surrounding plants.
> Mages will use prememorized spells - slow memorize, but fast to cast.
> Shamans will charge their amulets with spells.
> Sorceres will have to perform a rituals, so it will take a lots of
> time, but effects will be truely earth-shifting.
> Some others will use a kind of programming language.
> Some others will construct magic creatures.
> And so on...
You'll srely agree that there is no easy way to implemnt this variety of
spell (caster) classes; ease of implemention is one of my goals. Andgband
has about 6000 lines of code for all spells if I remember right. I don't
want to write another 6000 lines of code for my spellcasting system. I just
don't have the time to do so.
I have to find a line between simplicity and complexity which allows nice,
interesting ganeplay while being easy to implement.
That's why my proposal is such simplicistic and my spells are so similar; I
hope I can code the spell engine and all plugins in less than 1000 lines of
code, a few hours (< 10) this means.
> > From my writing above you also see, that I'll go for a skill based system.
> > All actions will be bound to a skill. If you try them often, that skill will
> > improve. You can actually train your character. The character will adapt to
> > your style of playing, if you play a mage like a warrior you might not have
> > much fun until his fighting skills go up, but he will always learn fighting
> > slower than a real warrior, whoi in return needs much more training to
> > become a spellcaster if you want to go for that.
> >
> Skill system have a downside. Just imagine that you got a new rifle of
> unfamiliar to you system. Will you to go to battle and shoot with it?
That depends on the granularity of the skill system. If the skill is just
"shooting" and you are trained in "shooting" you surely will.
If your former skill was "pistol shooting" then you'd probaly not because
you can shoot well with pistols, but probaly not with rifles.
So the answer depends on the skill set which is implemented in the game. You
question answered at least one of my questions: a more detailed skill system
is not desireable in all cases.
> If you are not of suicidal kind, i bet that you will not. You will most
> likely draw a circle on a wall and shoot it 100 times. Or 1000 times.
> Until you will have a preciese feel of how it operates and become
> familiar with it.
> So, if you just picked a sword, while you had used axe for all of your
> life, or find a new spell, why should you act different?
> Yes, you can fireball a wall 100 times to gain a skill, but it is
> really *boring*. And many peoples will consider it cheating.
Agreed. But i.e. Angabnd can count actions. I can say "try 99 times to open
that door" and my PC tries up to 99 times to pick the lock. He stops if the
action succeds or he is disturbed i.e. if a monster wanders by.
OTOH this would allow excessive training. Find an empty room, bring in tons
of food and then say "cast 1000000 fireballs onto that wall" go away for
lunch and then come back to have a supreme skill in fireballs.
I've seen and played games which had this feature and restricted training
somwhow so that training occured more or less in gameplay and could be
'scummed'. I'm not sure how to implement this.
But monster farming is possible in Angband and done by some but not all
players. I think this is also kind of training, some do it excessively other
s not. If I make no big mistake in my design traing skills will not be worse
than monster farming which is fairly accepted as away of playing and finally
winning Angband.
> So, most likely you will take a risk instead of boredom and will use your
> sword or spell without training.
> If skill system is created to make more realism, it fails here.
I don't follow you here; I want at least beginners to just take their sword
an go for adventure. They'll learn fighting better while fighting monsters.
Unlike casting spells which can be argued can be trained by casting spells
without a target, and shooting at a circle on the wall, sword-fighting is
trained most efectively in real combat (or you have to find friendly
training partners).
I'll think about this. I'm not convinced yet that a training based skill
system is worse than other systems. It's basicaly different and alloes
different exploits; my task seems to be to make this exploits hard or boring
so that most players will not exploit them much.
> of haveing a luxury to have more junk items. Tables, broken chairs,
> burned curtains, blood stains don't have anny effect on gameplay, but
> affects mood a lot. In ASCII they are just plain annoying.
In r.g.r.angband I fought a "pro junk" battle against autosquelching lately.
Similar to my decison to tolerate weak spells between the others just for
variety, I want to have the dungeon clutered with junk which is not terribly
useful.
Let's see how thing will develop. Yesterday I made a decision to use the
isometric engine I already used in iso-angaband and keep the graphic simple
(no free movement, no directions (no front, back, side view of things and no
animations). But this does not exclude a wide varaitey of floor and wall
types along with junk or rather 'dungeon furniture' items.
> About networking, if you want to have a small number of players, you
> can have a fully-synchronized states for all computers.
Yes, I want to go for the classical client-server approach. The server
maintains the world and the clients are mere display machines.
Open questions are:
- How much world data should a client buffer?
- Should there be full or incremental updates of the bufefred data?
-> How to keep network traffic small?
- How much (pre-) processing of user input should a client do?
Basic question: where is the best place to cut the application into serve
and cllient side?
> Anything
> that happen on one computer, happens in this way on all others.
That's what I want to have, yes.
> Since all have the same logic and data, all computers will have the
> same state of the game world. The only thing you need to transmit
> is user input. However, this approach is more susceptable to lags.
> But it can be solved by sacraficing response time to gain smoothness.
I listed some questions above. I go for realtime, but not very smooth
relatime, the cleints wil probably have update intervals between 200ms and
500ms, and it seems I have not to transfer too much data in this case if
I'm careful.
Nevertheless if you can help me with that all information is greatly
appreciated! Especially if you can speak from experience I'd like to learn
from you!
> I can go to more datails if you want.
Yes, please :)
> Probalbly, my english is unclear again.
As said earlier the problem might as well be on my side, that I often don't
understand the english well enough. But I think we can get around this
problems a question and a second explanation shoudl help often :-)
> I hope you will manage to make a game with interesting and complex
> spell system. There are so few of them exists.
I'll try, but I'm not sure if I'll succeed. I canresuse much code from older
projects, so coding is this time not the main issue. I can even reuse images
from iso-angabnd. So I have toime to concentraze on design issues, both
program and game design. This time I'll try to have most of the game design
complete before I start the program design. This means there will be lot's
of talk but no test or preview versions quite some time.
I'll try to create small test apllications for monster AI and spell system
like I did with the field of view calculation, but it will need definitely
many weeks until I start working on the games program code itself.
> Orthanc - Russian Angband site http://orthanc.chat.ru/
>
> At your service, Ilya Bely
c.u.
Hajo
The magic system was more of a general approach/thought experiment where I tried
to avoid linking it to any particular system. So it's a working template which
would obvioiusly need to be more precisely resolved for implementation.
>Did you make plans how to implement your tempered magic system? My main
>concern is how to implemnt such a complex system without explicitely coding
>each combination of 'components'?
Just some general thinking. I was planning on working out an implementation at a
later date and just hadn't gotten around to it. Really I'd like to use the
approach as the basis of a 'powers' system, such as is used in Champions.
Bob
Stay tuned for the latest NASA management screw up...
> I plan to have plugins for reactions to environment. This plugins could be
> behaviours like "burnable", "freezable" ans such. Objects in general will
> take damage from unusual temperatures. Object which are plugged with
> "freezable" are destroyed below a certain threshhold, objects plugged with
> "burnable" are destryoed above a certain threshhold.
Sounds promising. It eliminates my argument.
> Somehow, I reverted the usual design: instead of letting the spell affect
> the objetcs, the objects decide how they are affected by the spell. I still
> have to see how well this will work.
There is a sense. It depends on how will you implement it and what will
spells do. If spell have different effect on the objects, it will
be a good idea, but if objects reacts to spell in similar way, than it will
not.
How about spell-spell interactions? I mean "protection from cold"
and "frost" spells. Or "dispell magic", or "interrupt casting"? Or there
will be none?
> deep class hierarchies haven proven infelxible
I can't disagree here ;-) I think that OOP implementation in C++ is somewhat
wrong and restrictive. However, i don't have any vivid thoughts yet.
> This is a bit of a exploratory task, and different player might find
> different spells useful in their style of play.
> I'll try to balance the spells so that there is no obvious set of supreme
> spells. But I'llleave the weaker spells in, just for giving the player
> something to experiment and play with.
Now i see your point. Yes, it will be nice.
Unless your multiplayer mode have high degree of competioion.
>> I don't want to say that idea is bad, but that some care must be taken
>> to prevent degradation of complex system to set of several keybindings.
> Agreed. Any suggestions how to do this?
Early playtasting, probably.
I'm to sleepy right now to have any ideas.
> What kind of spells would you suggest? I mean spells which are useful in a
> game where fighting is a main part of the game?
> I could come up with identify, magic mapping, detection ... can you help me
> out with more non-attack spells?
>
Some of them already available by your system, such as teleport, healing,
or guardian wind. I had tried to think of a magic system without spells
capable of directly inflicting damage. I'll list some of them. Probably,
some other are already covered too. I'll think about something more
appopriate for your system this weekend.
Spider walk, silent step, courage, enforce, etc. Temporary bonuses to appopriate
attributes or skills.
Blur. Movement of creatue becomes distored in the air and it looks like
a vague blur. You can't strike preciece
Fog.
Glue. Surface becomes covered with glue. Movement is halved, if someone
falls, it is sticked to ground and can't move
Guardian Wind. Blows away projectiles
Stun. Affected target becomes mindless for a while
Slip. Surface becomes slippery, high chance to fall
If magic items in your game are enchanted in a way similar to spells identify
can reveal just one or two syllables of the enchantment, rather then just
long sword +1
Mapping can be replpaced with "wizard eye". You launch it and see as from
it's eyes. High level version could allow the control of it's flight. Probably,
it can be spoted or even shoot by monsters.
Illusionary spells seems to be most usefull and interesting against human
players. Game needs to be really complex to make AI affected and react
naturaly.
> Since noone of us ver met a mage and
> joinded him in an adventure noone of us can tell if this is correct or not.
>
This is the main reason why there is so many different magic systems in games.
No one knows what is true :-)
> call fighting thieves robbers in real life. So even the word thief excludes
> the intention to fight in first place.
> I'm not suer about all this, but I assume the reason why mages are played as
> aggresive class is in the mind of people rather than in the game.
>
If mages can be played like fighters, why can not they play like thieves?
Replace "lightning bolt" and "meteor storm" with "silent steps" and
"melt lock".
Agressive mages is in minds of the peoples, so it's this way in the game, so
it's this way in peoples' minds. We have an infinite loop :-)
>> If i will ever try to make my game, i'll made several kinds of spellcasters
>> all played by different rules.
> You'll srely agree that there is no easy way to implemnt this variety of
> spell (caster) classes; ease of implemention is one of my goals.
>
No, i can't agree. While implementation of all this varients will be far
from simple, you still can make some relatively easy:
Cast-on-the-fly: select combination and cast.
Precast: must have combination ready and prepeared before casting. So,
select combination, then spend some time precasting it (resting). Some
systems like ADnD use word "memorize". Only precasted spells could be
cast. While it's a lot less flexible, there is advantage in speed since
actual casting was made while resting, and now energies of the spell
can be released almost instaneousy. Additionaly, precasters could have
more mana (since they are not constriced by time limits, they can use MP
more effectively while precasting).
Ritualism: Like cast-on-the-fly but actual casting takes great way
more time (hours instead of seconds), but effect are also great. In
literature, swords was enchanted during weeks of hard work, not by
some oldman muttering several uncomprehensible phrases.
Cast-from-amulet: charges amulet with the spell in a way like ritualist or
precaster, but charged spell in not finished. It have any one syllable
missing. So, when amulet is activated, it's wielder only have to
cast the last syllable of his choice. A mix of precaster and flycaster.
While they are different they all are using the same magic system.
You can play with material components. E.g. to cast a spell with "fire"
and "power" higher than 5, you should have a real non-magic fire
within reach, or spell cost is doubled.
Also vary on duration (ritualists for permanence, flycasters for
temporary).
> Unlike casting spells which can be argued can be trained by casting spells
> without a target, and shooting at a circle on the wall, sword-fighting is
> trained most efectively in real combat (or you have to find friendly
> training partners).
>
Some RPGs allows cahracter to be trained by teachers for money. Just a
payment instead of macro.
> I'll think about this. I'm not convinced yet that a training based skill
> system is worse than other systems. It's basicaly different and alloes
> different exploits; my task seems to be to make this exploits hard or boring
> so that most players will not exploit them much.
>
Again, i'm not against a training system, i don't know for sure is it better or
worse than other, just wanted to point you to possible dangers. It have
some sense afterall. I hope, you will find solution.
> Let's see how thing will develop. Yesterday I made a decision to use the
> isometric engine I already used in iso-angaband and keep the graphic simple
> (no free movement, no directions (no front, back, side view of things and no
> animations). But this does not exclude a wide varaitey of floor and wall
> types along with junk or rather 'dungeon furniture' items.
>
Directionless isn't too good. It reduces a chance to backstab (since there is
no back).
"No free movement" means that you can step only by tiles, not by pixels?
Both are quite tolerable in turnbased game, but annoying in realtime.
You have to make directions for animations anyway.
I had moved networking to a new thread.
>> Probalbly, my english is unclear again.
> ... But I think we can get around this
> problems a question and a second explanation shoudl help often :-)
LOL!
Mein Deutsch ist schlimmer kann es auch nicht sein, so we are sticked
to english :-)
--
Could you tell me more about these plugins? What does the code look like? I
do not wish to have deep class hierarchies either, but I haven't come up
with a nice way to solve it yet...
/Björn
> c.u.
> Hajo
[Plugins]
> Could you tell me more about these plugins? What does the code look like? I
> do not wish to have deep class hierarchies either, but I haven't come up
> with a nice way to solve it yet...
I'll try to use some form of delegation. This means I'll craete objects
which implemnt the reaction of objects to environment and which are plauuged
into the real objects (better: they are associated with the dungeon
objects).
The code will be something like the following. Please not that I've written
this right now from mind into keyboard. This is no way tested not even
compiled. It may be utterly wrong. I hope it's clear enough to show my idea,
otherwise please ask for detail
something like that:
/**
* Abstract class. Subclasses of this implement how the object are
* affected by their environment.
*/
class environment_connector
{
private:
dungeon_object *owner;
dungeon *dungeon;
public:
virtual void connect_object(dungeon_object *owner)
{
this->owner = owner;
owner->set_connector(this);
}
virtual void connect_dungeon(dungeon *dungeon) {this->dungeon = dungeon;};
virtual void check_changes()=0; // called regularly
};
/**
* Behaviour of burnable objects. Take damage below threshold,
* destroy above threshold.
*/
class burnable : public environment_connector
{
public:
void check_changes() {
const int wnv_temp = owner->get_location)->get_temperature():
if(dungeon->access(env_temp > threshold) {
owner->apply_damage(DESTROYED);
} else {
onwer->apply_damage(100 - (threshold-env_temp));
}
}
burnable(int threshold) {this->threshold=threshold;}
};
/**
* map coordinates
*/
class coord
{
public:
short x, y;
};
/**
* Dungeon object class sketch.
*/
class dungeon_object
{
private:
environment_connector *conn;
coord location;
int damage;
public:
coord get_location() const {return location};
void apply_damage(int amount);
void set_connector(environment_connector conn) {this->conn=conn};
step() { // called regularly
conn->check_changes(); // apply effect of environment to ourselves
}
};
Now, to make an object burnable we can do something like that:
dungeon_object *o
dungeon *d;
environment_connector *conn = new burnable(300);
conn->connect_object(o);
conn->connect_dungeon(d);
The game will call o->step() regularly, thus calling conn->check_changes()
which in case of a burnable will apply DESTROYED above 300 degrees and some
damge below 300 degrees.
All of the above are rough sketches, I don't know if this works yet. Looks
fine though, and seems to be extensible.
> /Björn
>
c.u.
Hajo
Not "object" or "environment", but "Player-Character" or "NPC", thus
spirit -> affects wisdom score
mind -> affects intelligence
Now, how to incorporate those classic RPG attributes into a CRPG is
not simple or obvious. Good examples exist in DnD, such as "roll a
d20 against your wisdom to see through the illusion".
Unfortunately, such rolls, when hidden from the CRPG player, are often
not noticed, (unlike combat rolls) and make for subtle and
under-appreciated programming work.
For e.g. an enemy mage casts "negative spirit area" on your party to
lower their wisdom, then casts an illusion of basilisks stepping out
from behind a tree. The real human player, who doesn't know he's been
"unwised", sees the rendering or description of the basilisk and
decides to flee.
God speed with your development on this. It's a great idea, and it's
good to start simple. But in order to yield more gameplaying fun
than a large set of static spell-types would require an extremely
detailed set of OO classes and methods to represent your entire world
(not just the spells).
>OTOH this would allow excessive training. Find an empty room, bring in tons
>of food and then say "cast 1000000 fireballs onto that wall" go away for
>lunch and then come back to have a supreme skill in fireballs.
Two ideas:
1) DON'T allow player to carry "Tons of Food". Food is heavy. Food
Spoils. If player wants to lug 100 kilos of flour and beef jerky
around, make him buy a cart, or a mule, or both.
2) Casting 10 fireballs in a monster-infested area is bound to attract
attention in the form of a random monster encounter. Other loud or
obvious spells should do the same
3) Consider implementing "concentration" in spellcasting. A tired,
wounded, or just plain BORED spellcaster will have a higher chance of
mis-casting, and in the case of powerful elemental spells, a mistake
can be fatal.
Analogous story from my childhood - at the age of 13 I was bored, so I
started tossing fireworks (blackjacks/knallfrösche) off my porch.
After throwing about 30 firecrackers, I got careless and tossed one
which hit the railing and bounced back to explode right in front of my
feet. I'll spare you my more dangerous pyrotechnic fiascos... :-)
prost,
arnim
Hi, sorry for the long delay!
> Hansjörg Malthaner <hansjoerg...@danet.de> wrote in
> message news:<3B176DBF...@danet.de>...
>
> > I plan to have plugins for reactions to environment. This plugins could be
> > behaviours like "burnable", "freezable" ans such. Objects in general will
> > take damage from unusual temperatures. Object which are plugged with
> > "freezable" are destroyed below a certain threshhold, objects plugged with
> > "burnable" are destryoed above a certain threshhold.
>
> Sounds promising. It eliminates my argument.
I made a sketch of a design. If there should be a good variety in
behaviours, I need well some ten of those plugins. Luckily they are small
pieces of code and can be written as needed if new objects/monsters need new
reactions.
> > Somehow, I reverted the usual design: instead of letting the spell affect
> > the objetcs, the objects decide how they are affected by the spell. I still
> > have to see how well this will work.
>
> There is a sense. It depends on how will you implement it and what will
> spells do. If spell have different effect on the objects, it will
> be a good idea, but if objects reacts to spell in similar way, than it will
> not.
Soemhow it always end up in actually coding trhe various effects. THe only
question is how to make coding those effects easy, so that many effects can
be coded in little time. I hope I found a way which makes creating various
effects a bit easier than the traditional way, but I'm not sure, my apporach
seems to be rather complex when written in code.
> How about spell-spell interactions? I mean "protection from cold"
> and "frost" spells. Or "dispell magic", or "interrupt casting"? Or there
> will be none?
There will, but again on a very simple base. The environment has attributes
as temperature, gravity, wetness, linght and some others. Different spells
which affect the same property will interfere. I.e. if one monster breathes
fire and the other breathes ice, if the player is lucky heat and cold will
equalize and he'll be fairly unaffected.
Spells interfere, but just on a very simple level.
> > deep class hierarchies haven proven infelxible
>
> I can't disagree here ;-) I think that OOP implementation in C++ is somewhat
> wrong and restrictive. However, i don't have any vivid thoughts yet.
Stig suggested using another language. I'm too lazy to learn another
language right now so I try to use C++ again, but with regard to my
experiences in older projects. This means I'll try to use more associations
and aggregations and try to keep the class hierarchies shallow, perferably
below 3 levels.
> > This is a bit of a exploratory task, and different player might find
> > different spells useful in their style of play.
> > I'll try to balance the spells so that there is no obvious set of supreme
> > spells. But I'llleave the weaker spells in, just for giving the player
> > something to experiment and play with.
>
> Now i see your point. Yes, it will be nice.
> Unless your multiplayer mode have high degree of competioion.
If I can I'll try to make the players not compete too much, but rather
cooperate. But I have no clue how to do this, this is more of a wish than a
plan.
[non-combat spells]
[more spell (caster) classes]
[skill based systems]
Sorry, Ilya, I have no time to answer those point right now. I'll try to
write an answer the next days. I've not snipped that part because it was
boring but rather because it was too complex and needs some time to write a
good answer. Inteadof writing a bad answer I'll rather say nothing today and
write a good answer the next days!
> > Let's see how thing will develop. Yesterday I made a decision to use the
> > isometric engine I already used in iso-angaband and keep the graphic simple
> > (no free movement, no directions (no front, back, side view of things and no
> > animations). But this does not exclude a wide varaitey of floor and wall
> > types along with junk or rather 'dungeon furniture' items.
> >
> Directionless isn't too good. It reduces a chance to backstab (since there is
> no back).
> "No free movement" means that you can step only by tiles, not by pixels?
> Both are quite tolerable in turnbased game, but annoying in realtime.
> You have to make directions for animations anyway.
After my experiences with iso-angband it's pretty difficult to get images
for many differnt monsters, even more if different views for each monster
are needed.
I'm pretty bad in painting animations, and a slow painter, too. Maybe I'm
not good in acquiring help, but with iso-angband getting new images from
other people is very slow. So I think I must tailor the thing to what I can
do myself; painting each monster from 8 views, or make a 3D model and render
it from 8 views takes too long if I'm doing it, so I stick with one view.
This matches best to a direction-less game, so my lack of artistic skill
limit what I can do in my fame.
I tried to code an RPG with directional monsters, but I gave up on that
because I had no time to paint all the mosters and those which I painted
looked much too ugly.
> I had moved networking to a new thread.
I'll answer on that as soon as possible, sorry, I'm too busy with other
rhings right now.
> >> Probalbly, my english is unclear again.
> > ... But I think we can get around this
> > problems a question and a second explanation shoudl help often :-)
>
> LOL!
> Mein Deutsch ist schlimmer kann es auch nicht sein, so we are sticked
> to english :-)
I'm always surpised how many people speak german, at least a bit :-)
I wished I'd be better at languages. But I'm pretty happy that I learned at
least English a bit.
> At your service, Ilya Bely
c.u.
Hajo
So *that* is sth that should be included into rl. Bored PC can make
fatal mistake, so even Conan can fall under swarms of kobolds.
jaq
--
...swieci i kaci i ich ofiary...
<snip good ideas>
hajo, you remeber that roguelike you code a gfx engine for ? :)
It got a class, anmely Runecrafters that does exactly that
--
-----------------------+----------------------------------------------
DarkGod comes from | Do not meddle in the affairs of wizards
the hells for YOU ! :) | because they are subtle and quick to anger.
-----------------------+----------------------------------------------
Pe W Olorin YSo L:50 DL:696 A+++ R+++ Sp++ w:Mage Staff of Mana(240%)
Pe*/PM(Cr)(NH) D H- D c++ f- PV s- TT- d++ P++ M+ C- S++ I+++ So++ B/-
ac- GHB- SQ+ RQ V+++ F:Mage playing Mage-like(see Pernangband Sorcerors)
So a new group of spells has to be included. But why split them from object
affecting spells? Maybe you could cast "Cause amnesia" on a stone, the stone
just is unaffected becaue it has no mind?
> spirit -> affects wisdom score
> mind -> affects intelligence
Implies that this values exist in the target.
> Now, how to incorporate those classic RPG attributes into a CRPG is
> not simple or obvious. Good examples exist in DnD, such as "roll a
> d20 against your wisdom to see through the illusion".
In this case the player immediately knows that it is an illusion, regardless
if the roll succeeds or not. He can include this wisdom in his further
actions, even if his character in the game still suffers froim the effects
of that spell.
> Unfortunately, such rolls, when hidden from the CRPG player, are often
> not noticed, (unlike combat rolls) and make for subtle and
> under-appreciated programming work.
But it would be more 'realistic' to let the player not know the details
until he actually gained knowledge about those details (as writen above
making the dice roll visible gives the player this knowledge, but at the
wrong time).
> For e.g. an enemy mage casts "negative spirit area" on your party to
> lower their wisdom, then casts an illusion of basilisks stepping out
> from behind a tree. The real human player, who doesn't know he's been
> "unwised", sees the rendering or description of the basilisk and
> decides to flee.
This only works if the roll has been hidden ... which is clearly not the
case in the above mentioned DnD system. I think is strengehens the case for
hidden rolls.
> God speed with your development on this. It's a great idea, and it's
> good to start simple. But in order to yield more gameplaying fun
> than a large set of static spell-types would require an extremely
> detailed set of OO classes and methods to represent your entire world
> (not just the spells).
Well, I'll at least try to do it. I have some experience in OOP coding
(hobby, training, work) and I think it can be done. Unfortunately the past
(a project I work on since four years, OOD/OOP, too) caught me again and I
have to fix some 'urgent' bugs there ... some computer magazine has released
my game on a shareware CD and now I'm drowning in bug reports ...
This will stall all my development of my RPG idea for a while.
c.u.
Hajo
Yes I like this idea, too. I've added it to my design notes :)
> jaq
>
> --
> ...swieci i kaci i ich ofiary...
c.u.
Hajo
Hello DarkGod,
I must admit I know maybe about 2% of PernAngband features. I must admit I
feel it to be too complex to be learned in a short time. I do not understand
many of the things I find ... and I do not know how to find it out quickly.
In addition so far I always died on level 1 of upper galgals so far. Pern is
right deadly if you make the slightest mistake. An d without knowing much
about the game I make one mistake after the other. If I had not read in rgra
that you put DG_CURSE on Mathilde I had kiled her because she hindered my
exploration of the dungeon too much. That had been another character to
dump.
The hints you give in the monster description are at least for a player like
me not precise enough to actually avoid trouble before dying at least once
from that problem.
I also not noticed that drinking from a fountain is dangerous until I
actually did it ... there was no warning.
Well after all that talk, of course I'll use the same tileset for my own
game and PernAngband. This means both will benefit from new tiles for the
otherone. AN dboth will use the same graphics engine, again, benefitting
from the other project.
But I want to do a bit more than just code some display routines ... I want
to design a game and then find a good implementation of that design. I want
to search solutions for problems i.e. how to make a good spell system, how
to make a monster AI ... even if this exists, I want to learn how to do it,
and then at least try to do it to see if what I learned is useful or not.
I want to apologize that I have that little time for Iso-Pern currently. I
tried to find help with Simutrans my other project, and I have found a few
people who help in coding but still, I have to do all work on the core parts
by my own ... and currently, after Simutrans was released on a shareware CD
there are lots of bug reports (400.000 copies of that CD were distributed!
Imagine the feedback from 400.000 people trying the game :)
I'm drowning in emails ... a second magazine has released in on a shareware
CD, but this time only 5000 copies were distributed.
> DarkGod comes from | Do not meddle in the affairs of wizards
> the hells for YOU ! :) | because they are subtle and quick to anger.
c.u.
Hajo
In my last answer I forgot the main point:
My goal was to design a very compact engine for such a spell system. I
was less interested in the spell system itself, but the fact taht OOP
allows a very small and efficient implementation of this system. Due to
my limited time I prefer small and powerful things ... AFAIK in Angband
each spell is hard coded, while I tried to create a more abstract spell
engine which can be parametrized to create a multitude of spell; the
drawback is of course that such an engine is not as flexible as hard
coded spells which can be very different.
My goal was not to design a certain kind of magic but to see if this
kind of magic can be implemented in a very compact form and still
provide a good variety of spells.
Angband has about 6000-10000 lines of spell code. I hope my engine will
stay below 1000, that's my goal.
> DarkGod comes from | Do not meddle in the affairs of wizards
> the hells for YOU ! :) | because they are subtle and quick to anger.
c.u.
Hajo
No, some spells are hardcoded, but lots of them use the common
projection
code and in fact KaMband unified it so that everything in the
game(spells,
activation, ..) use the projection code, PernAngband did that with
spelsl
(for Runecrafters), thats easy and works well
--
-----------------------+----------------------------------------------
DarkGod comes from | Do not meddle in the affairs of wizards
the hells for YOU ! :) | because they are subtle and quick to anger.
Agreed, but I'm still going for something different. While Angabnd uses some
common code for the different spells (all spells are projected by the same
projection code) I want to use common code on the spell level itself. I want
to try to create a spell engine which can aplly spells to objects and
environment, the spells then change properties of the environment or
objects. The reaction of the objects to changes of their own properties or
the properties of theoir environment is _not_ part of the spell engine but
part of the objects (code). This is quite different from Angbands approach
where the spell engine knows that scrols can be burned.
In my engine fire spells just create heat, and a scroll knows that it start
burning after a certain heat level is reached.
What I meant with 'hardcoded' was that the effect of the spells on each
object type is hard coded into the spelle engine. While I want to move spell
effects to more abstract levels (create heat/cold etc. see my original post)
and let this changes then influence the objects. This may in effect look
much the same to the player, but I as a coder am interested in the different
way it is done.
> DarkGod comes from | Do not meddle in the affairs of wizards
> the hells for YOU ! :) | because they are subtle and quick to anger.
c.u.
Hajo