Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Merged proposal




	Hi again, 

	    Several people have been wondering about how the
	skills are currently implemented, and where they might
	be going :)..

> Tero writes :
>
>[skill implementation]
>
> Since skills don't need many attributes (name, type, how hard learn, how
> good player is with that skill, level, exp, ...), the easiest way is

	Skills may also change dam, ac, wc, armour, and weapon speed 
	of the user too. 

> make them as archetypes.  How they are handled internal is a different
> thing.  The most important question is that does NPC have same skills as
> players? 

	Yes. I have no plans to make separate player and monster 
	"skills".

>       If they have then memory requiments have to considered.  If
> they are handled as invisible inventory objects then it slows both the
> normal inventory handling and skill handling code.  Since each skill
> needs only about 16 bytes memory it also wastes memory.

	Well, in the long run you are right (perhaps). Both the number of
	available skills will have to grow larger (currently 23 skills) 
	and skill use by monsters will have to become incredibly commonplace. 
	Also, current implementation does not allow any monster ('NPC')
	to use more than one skill; it would be pointless therefore to 
	make monsters with a huge spectrum of skills (currently). Anyway,
	monsters already carry a host of 'objects' in their inventory
	already - books, weapons, abilities, etc... Skills are just the
	latest monster 'accessory' ;)

> needs only about 16 bytes memory it also wastes memory.  The simple and
> efficient method is make a pointer to a skill table or a pointer to table
> of skills pointers.  This would need some own code for skills and looses
> flexibility that object only solution offers, but also removes many
> other problems, IMHO

	Yeah. I have thought about creating a separate structure for skills,
	and having a pointer to a linked list of skills in the object 
	structure (so players and monsters can both use). Would improve 
	speed and memory, but coding such a thing takes time, and loses 
	some of the 'generality',flexibility, and simplisity I treasure :). 
	When skills start hogging memory and CPU, then perhaps I will be 
	more motivated :)
	
	Really, this discussion is leading towards cleaning up the object 
	structure, which (to me) seems to have some redundancy in it and 
	could use some 'pruning'.

> ["associated" and "miscellaneous" skills]
> 
> But aren't these same, "miscellaneous" skill is just "associated" skill
> that have attribute which tells it gives 0 exp. points when used ?
> Or a "miscellaneous" catecory is just like other 4/6 categories, but
> experience is always ignored.
                                                                                                 
	The main differences between the "associated" and "miscellaneous"
	skills are:

	- associated skills are associated with a catagory of experience

	- associtated skills have 'graduated effectiveness', ie
	 the higher you progress in level, the more effective the skill.
	 Only the 'assocated' experience catagory will be used to 
	 determine the skill effectiveness.
		
	- successfull use of the associated skills will generate experience
	 for the character. Experience generated by a given skill will
	 be added only to the experience catagory the skill is associated 
	 with.

	- none of the above statements are true for miscellaneous skills.


> Could Brian or Peter present a little more detailed proposition?

	Yes. I am working on one.

> I'm confused what you are really doing with experience.  The latest
> proposition seems to be that there are 4/6 skill categories that 
> have level and experience. The "associated" skills are binded to 
> these categories.

	There is envisioned a flexible number of experience catagories
	to be available. Associated skills are bound to one of the 
	possible catagories. Short of a redirection by the maintainer,
	the default bindings will be used. (changes in binding will be 
	made through an ascii files like 'skills_param' similar to the
	'spells_param' file)

> Is these categories implemented as inventory objects or only the skills?

	Not completely determined yet :) I have reasently become enamoured 
	with creating experience 'objects'. That is to say each experience
	catagory will be an invisible object in the player inventory. This
	is primarily Peter's idea, but I like it--it would allow alot of 
	flexibility. 

> How the proposed system are going to give more hps?

	My thought is that the total running experience of the character 
	be used for this. Total running experience == sum of all 
	experience in the 'experience catagories'.

> I assume that mana and grace depends on magical and clerical experience, 
> right? 

	Yes, that is the plan.

> How new skills can be learned?

	Buy a scroll of knowledge (or 'skillscroll'). This is allows later
	adoption of 'guilds' where the appropriate 'skillscrolls' may be 
	found. Right now, skillscrolls are available randomly in the shops.

> Also is there limitations how good or easily player can learn
> these skills?

	Right now, no. Perhaps in the future-but it would'nt be a feature
	I would like to see implemented.


						b.t.