Our community module

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Post Reply
Message
Author
lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Our community module

#76 Post by lukep »

Canderel wrote:In terms of leveling up:

All parts/mutations level up individually, giving one lots of different imrovements almost continually. But each part has a max level --- maybe not?! Almost I guess like iron vs steel vs titanium etc. Also when removing a part some of its power lingers. So you can either build so that you keep you parts on you for long before switching (less frequent levelling up), thus optimising the permanent gains, or switch to more powerful parts, whose permanent gain wouldnt be as close by and perhaps not as strong.
My idea for class/levelling/parts (note: I am working off the assumption that weapons are intrinsic to parts, not separate items, though it could work either way without much modification):

Each body part (eg. arm of smashing) has 10(?) levels, gaining in statistics each level. They start with various intrinsic talents as well. In addition to the part improving with levels, it gives perks to the part slot (eg. right arm) that it is in. Example:

---

Arm of Smashing (lvl 1)
Damage: 30 (kinetic/blunt)
Range: 1-1
Precision: 3

Intrinsic talents (talent level = item XP level / 2):

Knockback: 5 energy, 6 cooldown, melee attack
Hits for (150-200)% damage, knocking back (2, 2, 3, 3, 4) tiles.

Power Sweep: 10 energy, 4 cooldown, melee attack
Hits for (200-250)% damage in a frontal arc.

Ground Pound: 15 energy, 10 cooldown, melee attack, 1 radius
Hits all in area for (50-75)% damage as kinetic/concussion damage.

Levelling bonuses:
1: part + 1 precision
2: body slot perk -> (+5 kinetic/blunt damage on melee attack)
3: part + 5 damage
4: part + 5 damage
5: body slot perk -> (Knockback talent level 1)
6: part + 1 precision
7: body slot perk -> (+1 precision, melee attacks only)
8: part: + 10 damage
9: part: +3 precision
10: body slot perk -> (Power Sweep talent level 3)

---

That would mean that a fully levelled Arm of Smashing would look like this (including bonuses from the improved right arm slot):

Arm of Smashing (lvl 10)
Damage: 55 (kinetic/blunt) (50 base + 5 from right arm bonuses)
Range: 1-1
Precision: 9 (8 base + 1 from right arm bonuses)

It would have access to all of the talents at talent level 5.

---
If, after levelling up your arm of smashing fully, you decided to switch to an arm of slicing, some bonuses would be retained, as shown here:

Arm of Slicing (lvl 1)
Damage: 30 (kinetic/blade) + 5 (kinetic/blunt)
Range: 1-1
Precision: 4 (3 base + 1 from right arm bonuses)

Intrinsic talents (talent level = item XP level / 2):

Pin: 5 energy, 6 cooldown, melee attack
Hits for (130-180)% damage, pinning for (2, 2, 3, 3, 4) turns.

Stab: 8 energy, 10 cooldown, melee attack
Hits for (200-250)% damage, bypassing armour.

Parry: passive
(5, 10, 15, 20, 25)% chance to deflect an incoming melee attack, negating it.

In addition to those three talents, you could also use Knockback (lvl 1) and Power Sweep (lvl 3) as well.

Levelling bonuses:
1: part + 5 damage
2: part + 1 precision
3: body slot perk -> (+5 kinetic/blade damage on melee attack)
4: part + 5 damage
5: body slot perk -> (Stab talent level 2)
6: part + 1 precision
7: body slot perk -> (+1 precision, melee attacks only)
8: part: +3 precision
9: part + 10 damage
10: body slot perk -> (Pin talent level 3)

---

That would mean that a fully levelled Arm of Slicing (with the bonuses from the Arm of Slicing as well) would look like this (including bonuses from the improved right arm slot):

Arm of Slicing (lvl 10)
Damage: 55 (kinetic/blade) (50 base + 5 from right arm bonuses) + 5 (kinetic/blunt)
Range: 1-1
Precision: 10 (8 base + 2 from right arm bonuses)

It would have access to all of the Arm of Slicing talents at talent level 5, as well as Knockback (lvl 1) and Power Sweep (lvl 3).

---

I don't know if there should be a limit (say, 5 or 10) to the amount of body slot perks that can be applied to a specific part, or if it should just get unequivocally better with levels.
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Our community module

#77 Post by yufra »

That looks really good lukep. I think that I will start coding up your abstract combat system soon and if you (and others) want to suggest some more cybernetic parts or gene splices that would be great. We can always scrap the early stuff if we don't like it, but lets get something to poke around at.

I also think it would be useful to have semi-regular meetings on IRC if we can manage that. I know it is the holidays so everyone's schedules are probably crazy, but some brainstorm sprints would help give me the material to code things up. Is there any interest in scheduling something, say Saturday January 7th?
<DarkGod> lets say it's intended

Rectifier
Archmage
Posts: 386
Joined: Mon Aug 29, 2011 8:06 am

Re: Our community module

#78 Post by Rectifier »

I'd just like to remind everyone to use the github's wiki along with the irc channel #tome on rizon.net.

I recently added a layout for character "classes"/backgrounds. These pages are intended to create a baseline character with pre-allocated points or slightly different features from other backgrounds that a player can use.
In keeping with the spirit of the mod, a player can change their statistics and talent points from this initial background as well as branching out; but, the page will funnel ideas for talents that fit within that initial background of that character.

For example, let's say a character's background is a robot core that specializes in holograms. In a more typical rpg, that robot could get a later upgrade to use trillions of nanobots to give his holograms mass and function beyond illusion. Due to the open character style agreed upon for the module, we might not come up with such a cool "late game" talent for that niche character type because development may be too unfocused or divided up to give issues like this enough attention.

So anyway, regarding the layout page I made on the wikipedia, the point is to focus our ideas so that players who want to choose niche talents for a specific feel won't be left out and more importantly, it lets our programmers get a working player character up and running more quickly. :wink:

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Our community module

#79 Post by bricks »

Hmm... I'm more in favor of a less incremental leveling system, something geared more towards making significant gameplay changes with each talent taken. I hadn't considered leveling the equipment directly, which is an interesting idea, although it makes me hesitant because it's so dependent on item availability. Instead of gaining levels, how about directly spending experience on item upgrades? Further, items you don't want could be "broken down" for extra experience.

I'll reiterate that I don't like cooldown-based skills. Cooldowns don't balance abilities very well, they just force you to develop a cycle. Instead I think abilities should be more moderated in damage output, and designed around specific tactical options. The resource cost is how you keep these balanced. It's also hard to develop lots of abilities for ranged weapons, maybe one each.

Otherwise I like the setup. I think both passive and active upgrades should be communicable, and should be given specific names so the player can readily see which upgrades have already been purchased for a part. Upgrading a rocket-launcher arm for greater explosions could also improve the explosions of missile launchers. Specific attributes of a weapon should only be upgraded once or twice; this is a little tricky for melee weapons, though. I like the idea of adding extra damage types (ex: Plasma Spear upgrade for spear arms, which would also apply to pike arms, etc.).

Effectually I see a player who has focused on upgrading one type of part picking up an "ultra-part" and already having most of the upgrades. They could then skip to the admittedly more expensive but also more interesting upgrades for that specific part. I'll try to give a more specific example of how I envision this working over the next few days, I'm a little tired right now. Meeting on IRC sounds good, Jan 7th might work.

The spread on weapons discussed earlier sounds good, so long as it's checked only on misses. Which would have the weird effect of higher spread against small targets.... Hmm. Need to adjust for that.

Edit: Ugh too many ideas. Forgot to mention that this talent system would completely remove the need for primary statistics.
Sorry about all the parentheses (sometimes I like to clarify things).

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Our community module

#80 Post by lukep »

January 7 is a tentative yes for me as well. As for this talent system removing the need for primary stats, I don't mind that at all.

An alternative leveling system (which I don't like as much, personally) would be to have the bonuses purchasable nonlineraly (or on a branching path) with XP.

Regarding breaking down unwanted parts for XP, I would rather it have a 20%(?) chance of giving one slot bonus on breakdown. This would make builds more rounded.

I don't know how a less incremental leveling system would work out, it would limit the amount of upgrades for each part, and/or be very difficult to come up enough appropriate ones to round out a part.

EDIT: balancing by cooldown could be removed, instead balancing by energy.

One thing that would help prevent spamming talents would be to have a three part setup for energy. Bioenergy, ATP, and Capacitor. ATP and Capacitor are low capacity/fast recharging from bioenergy. Eg.

Bioenergy: 300/300 +1/turn
ATP 50/50 can turn 5 bioenergy into ATP/turn
Capacitor 50/50 can turn 5 bioenergy into Capacitor/turn

This may be unnecessarily complex.
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

Devorius
Cornac
Posts: 41
Joined: Fri Dec 09, 2011 4:19 pm

Re: Our community module

#81 Post by Devorius »

How about an overheating system for balance: i.e. each cybernetic part generates heat both on use and for some, every turn/cycle/step/other interval. For organic parts, maybe... stress or stamina.

There would then be parts/upgrades/items/talents to reduce heat/stress/increase stamina and also others that raise the threshold, but threshold would be primarily effected by levels/skills/stats.

Similar to systems used in mecha games, I think it would also fit the theme very well.

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Our community module

#82 Post by bricks »

That is a little complex, but it offers a lot of gameplay choices. It also would make it easier to balance enemies, since they may not live long enough to deplete/replenish the main resource pool, but they would still have time to drain their fast-recovering resource pools. I honestly find these resources a little easier to swallow than the fidelity/sync (or whatever they're called) resources. Perhaps those ideas could be combined.

I think you are right, it would be hard to design talents for individual parts that aren't incremental. I was thinking about the upgrade unlock system a little more. Buying a specific upgrade should allow you to get a discount on that upgrade for another part, instead of outright unlocking it. The breakdown XP bonus wouldn't be needed then, though it could return a fraction of a part's purchased upgrades.
Sorry about all the parentheses (sometimes I like to clarify things).

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Our community module

#83 Post by bricks »

A page for parts. I took lukep's example and expanded it. Somethings that have been discussed are still missing, like the talent costs. I think cost should scale with tier, but some parts will have talents earlier and thus it will be cheaper to purchase that upgrade. That would help differentiate similar parts in the early-game.

What do you all think of egos on parts? Right now every part is a complete piece, with ten purchasable upgrades. There are a few ways egos could work. First, parts could have their base values modified. I don't like this too much, since the base values are truly meant to be meager in comparison to the upgrades. Second, the "ego" could determine the available upgrades. Stealing an idea from Borderlands, the egos could represent different manufacturers and models. The "make" could determine upgrades 2, 5, and 8, and the "model" could determine 3, 6, and 9. 1, 4, and 7 would be innate to the part (i.e. all hammer arms would be the same), and 10 would be something really special, perhaps even customizable (choose from one of three upgrades, double-invest in a previous upgrade, apply a valid upgrade from another part). This way there would be a small, meaningful variety amongst otherwise identical parts.
Sorry about all the parentheses (sometimes I like to clarify things).

Devorius
Cornac
Posts: 41
Joined: Fri Dec 09, 2011 4:19 pm

Re: Our community module

#84 Post by Devorius »

Are we sure we want to hardcode all the parts? I think that item talents and specs should be more dynamic and abstracted.

For instance give talents a keyword list; for example: talent stab would have keywords "melee," "edged," "thrust," "pierce."

Then when generating a dynamic weapon, it would search for talents based on associated keywords and weapon+talent level+stats. This approach would allow for many possibilities, in addiction ensuring that players wouldn't end up grabbing the same gear playthrough after playthrough which gets stale after a couple times. Another benefit is that players would gain access to a much more varied talent roster, and ease the addition of greater numbers of talents and gear.

Edit - I thought I would mention that many of these suggestions are coming based on an RPG I'm currently writing, but I really enjoy Tome and other open source games so I don't mind sharing; should my project come to fruition (not so much time gets devoted to it as I should :) I'll probably open source it as well.

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Our community module

#85 Post by lukep »

Devorius wrote:Are we sure we want to hardcode all the parts? I think that item talents and specs should be more dynamic and abstracted.
I was thinking all parts would be simple (white item equivalent). On the other hand, having everything use an item generator similar to ToME's randarts has a certain amount of appeal to me.
Devorius wrote:How about an overheating system for balance: i.e. each cybernetic part generates heat both on use and for some, every turn/cycle/step/other interval. For organic parts, maybe... stress or stamina.
I see this playing identically to my proposed system, though I may be missing some nuance.

---

I created a page for sight, stealth, and monster knowledge on the wiki with my proposed system. Basically it allows the player (and NPC's) to gain increasing amounts of information about others as they get closer to them. Stealth works better at longer ranges, and is countered by See Through Stealth. Link here.
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

Devorius
Cornac
Posts: 41
Joined: Fri Dec 09, 2011 4:19 pm

Re: Our community module

#86 Post by Devorius »

lukep wrote:I see this playing identically to my proposed system, though I may be missing some nuance.
Yeah, looking over what you said (I somehow missed it when I was reading through) it's pretty much the same; only symantic differences. Mostly that yours is decremental and mine is incremental.

lukep wrote:I created a page for sight, stealth, and monster knowledge on the wiki with my proposed system. Basically it allows the player (and NPC's) to gain increasing amounts of information about others as they get closer to them. Stealth works better at longer ranges, and is countered by See Through Stealth. Link here.
Looks good. What if available data was also limited based on a sensory module effecting what statistics are viewable? This would be mixed with your system, so that both range and sensory conditions would have to be met.

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Our community module

#87 Post by bricks »

Devorious, I'd love to see a procedural item generation system done right. I'm just not entirely sure how to go about it. I'm also concerned about the return on the time investment. Maybe as a long-term goal?
Devorius wrote:What if available data was also limited based on a sensory module effecting what statistics are viewable? This would be mixed with your system, so that both range and sensory conditions would have to be met.
I like this idea. I mentioned Echolocation and Infravision as two specialized detection systems on the wiki page, and there could certainly be others. Echolocation could perhaps provide size/body information, whereas Infravision would be limited to information on the target's resources and abilities. There could also be parts that give information (either actively or passively) on specifically one category of parts (cybernetic or organic), and counters to all of these detection methods, for those who want to be super-stealthy.

Until the talent framework gets to a workable stage I think I'll stick to designing parts on a general basis. I think we have a good scheme worked up, just need to get the gameplay there so we can figure out what's fun.

rEvolution sounds really good, by the way.
Last edited by bricks on Tue Dec 27, 2011 7:39 pm, edited 1 time in total.
Sorry about all the parentheses (sometimes I like to clarify things).

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Our community module

#88 Post by lukep »

Revision to the Vision system. All eyes have a maximum detection power, which determines which of the six levels of knowledge are available. The maximum is used after (before?) stealth is subtracted. For example a dragonfly eye could have 8 vision, max detection of 40, and 10 see through stealth. This means that it could see HP numbers, but never detect enough to inspect creatures.

I like the idea of multiple types of detection (+cybernetic, +organic, +traps) and several secondary senses as well, but I haven't thought of a very good way of implementing it.

Size detection is a good addition as well. I see this as not being able to distinguish between a wall (size 100) and a mech (size 100), or a humanoid (size 25) and a pillar (size 25).
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Our community module

#89 Post by bricks »

I hadn't thought about perceiving large creatures as walls and things like that, very interesting.

Here's a more developed version of the upgrade/talent/ego system. The type of item determines the base stats. The make and model provide more general benefits. Each provides a specific ability. For example's sake, let's consider two basic melee arms (I'll go with a hammer arm and sword arm), two manufacturers (Smashtech and Stealthworks), and two "models" (combustive and shocking). Here are the benefits of each:

Hammer Arm
Damage: 30 (kinetic/blunt)
Range: 1-1
Precision: 3
Abilities:
Smash: 5 energy, smash a target into the ground, pinning them for 4 turns.
Bash: 10 energy, knock back targets 3 tiles.
Ground Pound: 15 energy, hit all in a radius of 1 for kinetic/concussive damage.
Upgrades:
1) +5 damage, unlock Smash
4) +2 precision, unlock Bash
7) +10 damage, unlock Ground Pound
10) Ground Pound hits in a radius of 2. Bash and Smash energy cost reduced by 40%.


Sword Arm
Damage: 20 (kinetic/edged)
Range: 1-1
Precision: 4
Abilities:
Parry: 2 energy per hit (sustained), melee attacks against you have a 30% chance of being blocked (but you cannot attack with this part in the next turn).
Sever: 3 energy, attack the target with a fierce slice that does +50% extra damage to limbs and heads.
Thrust: 5 energy, attack a target in a range of 2, ignoring 50% of kinetic/edged resistance. This attack can hit multiple targets.
Upgrades:
1) +1 precision, unlock Parry
4) +5 damage, unlock Sever
7) +3 precision, unlock Thrust
10) Successful Parry attempts also deal a regular melee attack. Successful Sever hits deal an additional +50% damage over 3 turns. Thrust deals double damage to targets below 20% max health.


Smashtech
Crush: 8 energy per turn (sustained), you begin crushing a target, dealing 50% damage per turn and preventing all actions until the target escapes. Each successive turn you must pass a size check to continue crushing the target (part size *5 vs. target size). You cannot use this part while Crush is active.
Upgrades:
2) Unlock Crush.
5) Normal melee attacks reduce target's kinetic damage resistance by 5% for 2 turns (up to 25%).
8) +5 damage. Triples effective part size for size checks.
10) Reduces Crush energy cost by 25%. You deal a free melee attack against your target whenever Crush is canceled (by any means).


Stealthworks
Low Blow: 20 energy, you deal a melee attack at a range of 3. This attack does not increase your chance of detection.
Upgrades:
2) Unlock Low Blow.
5) This part projects a small holographic field, increasing stealth by 10. This part is totally obscured for purposes of stealth size checks.
8) +3 precision. Hitting a target with Low Blow will provide you with top-level information on a target.
10) Doubles Low Blow range. This part's holographic field doubles in size, increasing stealth by a further 10 and further reducing effective size for stealth checks by the size of the part.


Combustive
Explosive Force: 20 energy, you hit a target for an additional 100% kinetic/concussive damage. If the target is killed, they explode in a radius of 1 for explosive (50% kinetic/concussive and 50% heat/fire) damage. You cannot be harmed by this attack.
Upgrades:
3) Unlock Explosive Force.
6) All killing blows with this part have a small (10%) chance of causing the Explosive Force effect.
9) Explosive Force radius increases to 2.
10) You gain 40% explosive damage resistance. Killing blows now have an additional 10% chance of causing the Explosive Force effect.


Shocking
Shocking Touch: 5 energy per hit (sustained), you deal an additional 5 shock/shock damage per hit.
Upgrades:
3) Unlock Shocking Touch.
6) This part acts as an energy collector. 20% of all shock damage taken is converted to energy. Further, melee attackers take 5 shock/shock damage on hit.
9) +5 shock/shock damage on all melee hits. Shocking Touch will now randomly disable one cybernetic part for 2 turns on hit.
10) Shocking Touch hits arc between adjacent enemies (100% chance, decreases by 10% for every jump). An additional 20% of all shock damage is converted to energy.


Phew, that took a while to write up. OK, here is how an actual part would look:

Smashtech Combustive Hammer Arm
Damage: 30 (kinetic/blunt)
Range: 1-1
Precision: 3

Abilities:
Smash: 5 energy, smash a target into the ground, pinning them for 4 turns.
Bash: 10 energy, knock back targets 3 tiles.
Ground Pound: 15 energy, hit all in a radius of 1 for kinetic/concussive damage.

Crush: 8 energy per turn (sustained), you begin crushing a target, dealing 50% damage per turn and preventing all actions until the target escapes. Each successive turn you must pass a size check to continue crushing the target (part size *5 vs. target size). You cannot use this part while Crush is active.
Explosive Force: 20 energy, you hit a target for an additional 100% kinetic/concussive damage. If the target is killed, they explode in a radius of 1 for explosive (50% kinetic/concussive and 50% heat/fire) damage. You cannot be harmed by this attack.
Upgrades:
1) +5 damage, unlock Smash
2) Unlock Crush.
3) Unlock Explosive Force.
4) +2 precision, unlock Bash
5) Normal melee attacks reduce target's kinetic damage resistance by 5% for 2 turns (up to 25%).
6) All killing blows with this part have a small (10%) chance of causing the Explosive Force effect.
7) +10 damage, unlock Ground Pound
8) +5 damage. Triples effective part size for size checks.
9) Explosive Force radius increases to 2.
10) Ground Pound hits in a radius of 2. Bash and Smash energy cost reduced by 40%.
10) Reduces Crush energy cost by 25%. You deal a free melee attack against your target whenever Crush is canceled (by any means).
10) You gain 40% explosive damage resistance. Killing blows now have an additional 10% chance of causing the Explosive Force effect.

Notice that there are three level-10 upgrades. The idea is that the player would get to choose between one of these (and possibly revise this upgrade, at great cost). Hopefully the colors are more informative than they are nauseating. Thoughts? Is it worth pursuing this direction creatively? Note that none of this is balanced. Also note that the Smashtech and Stealthworks "egos" are more oriented towards melee arms; I imagine each of these companies would have a few product lines geared towards certain playstyles (melee, ranged, utility?), and some may not cover all playstyles (i.e. no ranged upgrades from Smashtech).
Sorry about all the parentheses (sometimes I like to clarify things).

Devorius
Cornac
Posts: 41
Joined: Fri Dec 09, 2011 4:19 pm

Re: Our community module

#90 Post by Devorius »

lukep wrote: I like the idea of multiple types of detection (+cybernetic, +organic, +traps) and several secondary senses as well, but I haven't thought of a very good way of implementing it.
I haven't worked with Lua, so this may not be as easy as in the languages I use (C/C++/C#, mostly C# now).

But I would store a table of <string, InfoClass> (string being the name of the info i.e.: "hp," "strength," etc. and InfoClass being a class or struct [Lua uses hybrid procedural/OOP style, AFAICT] that contains the data and also a list of enumerations detailing requirements (using a viewlevel like you proposed would be ideal), and then you'd return all items that are at or below your current sensory level. Besides viewlevel, you could use a viewtype "sight," "internal," "attack," "defense," etc. then the view would have a list of viewtypes his sensory module(s) is/are capable of viewing.

For increased performance, you could use <int, InfoClass> and place the name of the stat in the InfoClass (an int-based list having inherently better performancxe than a string based list).

Post Reply