Shared game mechanics extension

Ask for help about creating mods and scripts for Grimrock 2 or share your tips, scripts, tools and assets with other modders here. Warning: forum contains spoilers!
Post Reply
nichg
Posts: 48
Joined: Thu Oct 11, 2012 12:38 pm

Shared game mechanics extension

Post by nichg »

It occurs to me that if people are intending to extend the game mechanics in their dungeons, it might be a good idea to have a place to discuss that in a more general sense and possibly develop a shared set of changes to provide consistency between different dungeons. That is, I'd like to discuss what kinds of changes would be good to make and how to integrate them together so that they feel consistent, and so that they don't mess up things that a given dungeon might rely on.

The upside about doing it this way is that players don't have to relearn as much of the system for each separate dungeon - if three dungeons are all going to have a 'Wall of Fire' spell for example, then this way it can use the same runes each time, have the same skill requirements, etc. Furthermore, if we make those extensions imply a lot of different viable party combinations, then it might give people more inspiration to try a bunch of different dungeons to try out different party compositions (this, imo, is a bit of a problem with the current mechanics - there's not that much variation in what kinds of parties work by the late-game, and its mostly driven by weapon availability).

The downside is of course for those who want discovering the fundamental game mechanics to be a part of their dungeon's gameplay this means that players can import knowledge that they haven't earned in-game (e.g. rune combinations), but of course nothing is stopping someone from modifying parts of the system if its really important for them to do so.

I'd say the place to start is to figure out the basic assumptions underlying the gameplay that we should try not to violate. For underlying assumptions, I mean things like:
- We should not make spells that break certain kinds of puzzles - no spells that let you change elevation or teleport past barriers/pressure plates/etc.

There may or may not be other such things we'd want to directly exclude, regarding e.g. things which make food a non-issue, things which auto-detect secrets without requiring the player to notice them by eye, etc. Then we can look at filling in places that seem a bit sparse (earned traits for skills, Earth spells, etc), and then maybe consider new classes/etc once the existing stuff is more versatile.

There's also a question of whether we want to try to change underlying mechanics at a deep level, e.g. amplify the influence of Evasion versus Protection, change how the stats work to make them more broadly relevant (e.g. 1% cooldown reduction per point of Dexterity, Willpower reduces duration of negative status effects, etc).

What do you think?
User avatar
AndakRainor
Posts: 674
Joined: Thu Nov 20, 2014 5:18 pm

Re: Shared game mechanics extension

Post by AndakRainor »

It could be a good idea to gather those typical modifications and document them.

For each mod creator, it remains a design decision so we should discuss common modifications and optional ones.

I started recently messing with the dungeon editor, and the first thing I want to redesign is the spells system specifically. I have seen a few spells scripts by Jhaelen at viewtopic.php?f=22&t=8361, focused on healing spells and assigning them to the earth magic school. I think he did it because every one agrees that earth magic is weak and poor with 2 spells, 3 if you include the poison shield. In my opinion, it is not the best idea to add spells to the weakest school directly, I would prefer to upgrade its power and put it in line with the other spells before that. I was thinking about removing the poison aspect of earth school and try to put stones fall and earthquakes theme spells instead. The poison theme could be moved to a muliple schools build like "air & earth".

We also have a game were leveling is limited to more or less 15 levels for an end game champion. With mods this limit could be pushed a lot higher eventually. So we have a situation were a build is almost 3 skills maxed with 5 skill points, and another with more than that, up to possibly too much skills. Knowing this I think we should develop synergies between skills to keep leveling interesting and rewarding. For magic skills it would be based on the idea I proposed for the poison theme; air and earth requirements. Water Magic could be about water, and ice spells could require air + water magic. weapons / armors with unusual skills required would be more fair than in the original game I believe.

Filling the empty skill points levels is something I would like to achieve, and with combinations of skills levels it brings an explosive number of possibilities. This way Meteor Storm would not remain "the one spell".

To discuss the most exotic and possibly unbalanced spells, what do you think about levitation spells ? Water breathing ? Water walking ? It seems levitation would be an absolute game breaking spell unless it is limited to slowing the party falling down and preventing damage, may be preventing damage from some king of damaging tiles ? Do you think walking on water could break puzzles ? The water temple island comes to mind. May be those kind of spells could be documented here but clearly marked as optional for the more traditional mods. Also, powerful spells or abilities can be added, but sure the difficulty and puzzle design must match those accurately.
nichg
Posts: 48
Joined: Thu Oct 11, 2012 12:38 pm

Re: Shared game mechanics extension

Post by nichg »

I definitely agree with building more synergies into the skills. Not just for high level characters, but also just to make separate playthroughs feel like there's new combinations to try out. If I'm going to play, e.g., five dungeon mods from Lv1 to Lv4 then it would be nice to feel like I could try different approaches each time. Some ideas along that line:
SpoilerShow
Possible new Athletics abilities:
- Grant a party-wide percentage resistance to enemy knockback effects
- Reduce chance of getting an injury from damage/falls (late in the orignal game, I found that getting the injury that prevents movement was one of the most dangerous things that could happen, because suddenly it means that you can't dodge until you have them drink a potion)
- Increased health regeneration rate
- Chance of automatically recovering from an injury (maybe the rank 5 trait?)

Possible new Dodge abilities:
- When you evade an attack, your cooldowns automatically reset. Gives a good synergy with certain attack/casting builds.
- Allow evasion to apply to spells/energy damage (rank 5 trait probably)
- Whenever the party moves, gain a brief duration damage buff
- When above you receive an attack that would kill you, character automatically spends 75% of their energy to remain alive at 1hp. (rank 4 trait?)

Possible new Critical abilities:
- When critting, gain a damage bonus proportional to the enemy's total hitpoint pool (5%, say)
- Character's attacks ignore X points of armor per trait rank.
- When using weapons/abilities that apply status conditions to enemies, the percent chance of success is increased according to the character's crit rate

Possible new Armor abilities:
- Gain a bonus to elemental resistances based on your Protection score
- When using a shield in the front row, reduce damage taken by the character behind you from area attacks.

Possible new Concentration abilities:
- When at 20%hp or lower, gain a buff.

Possible new Heavy Weapon abilities:
- Rename skill to 'Brute Force'?
- Attacks with 2-handed weapons become area attacks, hitting all enemies in target square
- Attacks have a chance of lowering target's armor temporarily
- Unstoppable: On a crit, weapon cooldown is reduced to 2sec

Possible new Light Weapon abilities:
- Rename skill to 'Finesse'?
- Attacks have a chance of inflicting bleed damage/damage over time
- Attacks have a chance of resetting the enemy's animation, essentially increasing their cooldowns
- Attacks with Strength-based weapons add 0.5*Dexterity to their damage

Possible new Firearms abilities:
- Attacks with firearms gain a chance of inflicting Blind
- Attacks with firearms gain a very small chance of instant kill against non-boss enemies (must define somehow...)

Elemental magics synergies:
- Fire grants a bonus to all 'damage over time' aspects of spells
- Earth grants an increase in duration and chance to all 'status condition' aspects of spells
- Air increases spell projectile speeds
- Water decreases the influence of enemy resistance scores on spell damage on successive attacks (basically 'water eventually wears away stone'). Alternately, water decreases spell cooldowns.
For the specific spells to add, I have fewer ideas right now (mostly because I've been avoiding things that would require additional art resources). Earth traditionally has things like 'defense', 'obstruction' (wall-type effects), and very-large-area effects (maybe it'd be good for a 3x3 multitile attack spell in front of the caster?)

For things that would break puzzles, I'd say:
- Water walking can definitely break puzzles
- Water breathing is fine, because its just extensive - the party can already sort of do this by chugging potions
- Levitation can definitely break puzzles if it extends to different mobility options, but 'avoid falling damage'/'avoid damage tiles' is probably fine since again the party could chug healing potions or whatever and get the same effect.

I'm going to add something which is not obvious, which is effects that change the speed that the party moves at. This can break timing-based puzzles.
NutJob
Posts: 426
Joined: Sun Oct 19, 2014 6:35 pm

Re: Shared game mechanics extension

Post by NutJob »

I made a Climbing Skill and another use for rope.

What a climbable wall looks like.
Image

1) If any champion has the Climbing skill they can move up "specified" rock walls. The remaining champions go with them but each champion has a small chance to get a conditional that slows the party by 10 seconds for every strength point under 20. 0 seconds if all have over 20. Every Climbing skill point reduces the chance by 2% until at 5th level everyone is always pulled up without a chance to have a conditional applied.

2) If a champion has a Rope (no climbing skill) they may climb specified (just like Champions with the Climbing skill) walls with the use of the Rope. Rope can be combined to make Rope up to 30 feet (three squares high). Edit: the rope must be in any hand of any Alive champion.

How it works.
1) floor_trigger is used to apply an
2) event onTurn/onMove. Checks is rope is equipped or someone has a Climbing skill
3) Checks if the party is facing a "specified" direction (the rocky wall is just a visual indicator)
4) IF so, then create a ladder (X's rope length / 10 = ladders; string.find in the description of the item) that has the model:disable()
5) use as regular ladder (modeless)
6) remove both party events if they "moved" one coordinate any direction except on the z-axis. destroy() ladder(s) at entitiesAt()
nichg
Posts: 48
Joined: Thu Oct 11, 2012 12:38 pm

Re: Shared game mechanics extension

Post by nichg »

Definitely an optional one, but a nice thing to have as something people can just add to their dungeon.

Personally, rather than making it a separate skill, I'd say it'd make sense to lump it under Athletics. Otherwise its a little hard to justify more than the one point on one party member needed to give access to areas that would otherwise be impossible until you get rope.
NutJob
Posts: 426
Joined: Sun Oct 19, 2014 6:35 pm

Re: Shared game mechanics extension

Post by NutJob »

The setup template has a config to either make it a visible skill at character creation or hidden, or applied to only certain classes (as hidden). So it can be hidden and only rogue if you like. Alternatively, a rope in-hand always works, skill or not.

I used to have the Rope highlight walls (setEmissiveColor would be applied *only* if a rope was in-hand) when facing them (so it was a bit like facing a wall to find a hidden button) that way effort needed to be put into finding "hidden" (because they were simply just high up) ledges but half scraped the idea for just a visual of a "rocky" ledge. Still trying to workout a better/universal visual signal or something climbable.
User avatar
Doridion
Posts: 256
Joined: Tue Jun 10, 2014 9:23 pm

Re: Shared game mechanics extension

Post by Doridion »

NutJob wrote:I made a Climbing Skill and another use for rope.

What a climbable wall looks like.
Image

1) If any champion has the Climbing skill they can move up "specified" rock walls. The remaining champions go with them but each champion has a small chance to get a conditional that slows the party by 10 seconds for every strength point under 20. 0 seconds if all have over 20. Every Climbing skill point reduces the chance by 2% until at 5th level everyone is always pulled up without a chance to have a conditional applied.

2) If a champion has a Rope (no climbing skill) they may climb specified (just like Champions with the Climbing skill) walls with the use of the Rope. Rope can be combined to make Rope up to 30 feet (three squares high). Edit: the rope must be in any hand of any Alive champion.

How it works.
1) floor_trigger is used to apply an
2) event onTurn/onMove. Checks is rope is equipped or someone has a Climbing skill
3) Checks if the party is facing a "specified" direction (the rocky wall is just a visual indicator)
4) IF so, then create a ladder (X's rope length / 10 = ladders; string.find in the description of the item) that has the model:disable()
5) use as regular ladder (modeless)
6) remove both party events if they "moved" one coordinate any direction except on the z-axis. destroy() ladder(s) at entitiesAt()
NutJob, you think too much xD My solution for your climbing wall largely more simply ^^

Ladder definition + add material ( clear_dif.dds ) and .... that's all xD
Granamir
Posts: 202
Joined: Wed Jan 07, 2015 7:19 pm

Re: Shared game mechanics extension

Post by Granamir »

NutJob wrote:The setup template has a config to either make it a visible skill at character creation or hidden, or applied to only certain classes (as hidden). So it can be hidden and only rogue if you like. Alternatively, a rope in-hand always works, skill or not.

I used to have the Rope highlight walls (setEmissiveColor would be applied *only* if a rope was in-hand) when facing them (so it was a bit like facing a wall to find a hidden button) that way effort needed to be put into finding "hidden" (because they were simply just high up) ledges but half scraped the idea for just a visual of a "rocky" ledge. Still trying to workout a better/universal visual signal or something climbable.
hi,
u can higlight mouse cursor (or even change it...if possible)

i'm doing something similar to simulate underwater in ocean (even if results are not perfect) and i need code like your onMove/onTurn and check direction party is moving, so:
Can u share your code please? Or can show me where can i read how onMove/onTurn works, i can't find with search.
Thank you
Post Reply