CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.32k stars 4.14k forks source link

RPG-ification Discussion #37082

Closed foulman closed 4 years ago

foulman commented 4 years ago

Is your feature request related to a problem? Please describe.

While I may use Magiclysm and "spells" a lot in this, it's just what I've spent most of my time working on and am most familiar with, what I present is far more broad in application and that is not lost on me. Spells are now used for items and monsters after all as it's one of the most flexible subsystems.

At present, there are no real ways to simulate the standard plateaus of power that go hand in hand with most roguelikes or RPGs in DDA, no levels to go up in, no gaining hit points (not that we should), or attributes (beyond SKS/STS which I address later), no new perks (other than performing science experiments on yourself) that you don't directly, and randomly, inflict on yourself, and most of those are bad.

This is a particular problem for Magiclysm and other similar content mods like Arcana that are trying to bring about that exact experience, although I can see this applying to a lot of existing things that might need some work. Sure, you could 'master' all the spells in every class and get your spellcraft up to 10, but you won't have anything special to go along with that. No unique abilities. No specializations. No choices, you just learn every spell you can get your hands on and read a book or cast it a lot. But you're not going to end up as a master of magic (or anything else), because there's nothing special about it.

We can't give out any perks or powers, or provide different paths that might give a unique experience beyond you just picking up spellbooks and learning spells, things that are the norm in any other magic setting, or any other roleplaying game.

Doing anything of that nature requires increasingly hacky stuff in json, as Arcana does.. you wander around killing things and collecting magic bits that you craft into something.

Describe the solution you'd like
While I'm sure others will have suggestions, and I'm eager to hear them, I have two that I would like to put forward.

  1. Expand the spell learning system.

Thanks to @alkemann we have the spell learning system now, and it works wonderfully for learning new spells by practicing your magic. I propose expanding that so that it can provide other things in addition to just learning spells. Say you max out a particular tree of spells, having gone through all the lower ones, learning spells one by one and mastering them to progress to the next.. you finally hit level 20 in Super Magic Missile Artillery Strike... and we have nowhere to go. It's just learning one new spell after another that does more and more damage and costs more and more mana... a mana pool that never expands.

I want to include the ability to not only add new spells, but delete spells, replace spells with another spell, provide a choice of options, and in particular, activate a spell. This last one is key, because if you can have a spell activate on you reaching whatever level of ability in that spell, you can use the mutate spell effect to give the player what would resemble a traditional RPG perk. Say +5% mana regen, or to their max pool for being so awesome and skilled. The only way an actual wizard can do that now is to pump themselves full of mutagen.

Additionally, that could involve an element of choice. Let's say you hit level 15 out of 20 in a spell and due to the nature of that spell.. it presents some logical progression to other similar spells, not just one.

"learn_spells": { "fire_bolt": 5, "fire_ball": 10, "inferno": 15+, "firestorm": 15+, "trait_fire_resist1": 20+, "trait_heat_comfort1": 20+ },

The + would present you with a choice, a popup asking you which spell you want to progress to out of the others at the same level with a +. You pick one, you gain that and miss out on the other one.

The * indicates that a spell is cast when you hit that level, in this case, because you're just so damn good at controlling fire that you gain a minor resistance to heat damage or just a temperature-related mutation so you are more comfy when it's hot.

We don't necessarily need to include symbols in there but I wanted to make it clear what was going on.

  1. Traits Through Skills.

Another traditional RPG-like method that I think would apply very well to this game since skills are so extremely important. A similar trait gaining system as above but applied when you level up in your regular skills. This could obviously include Spellcraft to create a natural expansion of your mana regen and pool capacity as your ability grows, but also things like.. say a 5%-10% reduction in crafting times once you hit level 6 in Electronics because you have mastered soldering. Or you've spent so much time engaging in Fabrication projects that you have quite reasonably increased your strength by 1 point.

I can easily see this being well suited to handling things like increasing the stamina pool or regen rate (or any other mutation-adjustable value) through increasing skills that require a lot of physical activity, like bash/cut/piercing/archery, and there is currently no other way to do that than perhaps mutations.

This is pretty normal stuff for many many games, I'm sure you're familiar with the concept. Any mod that wanted to do that could just throw some extra JSON into their mod indicating what they want to happen for each skill at the specified level and they're done. I'll just call this Traits Through Skills, TTS, as we already have similar STS and STK.

Considering that STS already exists and functions similarly, I can't imagine it would be too hard to hook this in right after that code.

Describe alternatives you've considered
These are what I have come up with, I'm eager to hear any suggestions from others. I have had brief discussions in the past with @KorGgenT about expanding STK to hook spells and the like, and I find that personally less appealing because it's so different from the normal way this game functions, being skill and training oriented, and more XP from killing things, but I'm certainly not against it.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

kevingranade commented 4 years ago

The project as a whole is not interested in developing features for hypothetical mods, if you want to extend the game in a novel direction (like Magiclysm has done with spell effects), you need to build the mod in the repo and build the systems around existing mod content.

foulman commented 4 years ago

I'm actually already doing that with the "hypothetical" psionics content and using a workaround or three because of how things are hardcoded for purely learning "spells" out of books and only being able to train the skill the same way, it works quite well, though I think slightly expanding STS so that it applies to traits (albeit minor ones) or "items" as well has plenty of mainline potential.

esotericist commented 4 years ago

@foulman image

foulman commented 4 years ago

Ohhhh I see! Let me restate this in a format you'll understand better. image It was my intention to submit that for mainline inclusion, I had LaVeyanFiend playtesting it for precisely that reason as I developed it. There is a holdup because of a PR that needs to go through, one that would make it a bit incompatible with other existing content. and we are, as you well know, in a freeze. I hoped that PR would be in, but it wasn't, and submitting it for consideration seemed like a pretty shitty idea with that in mind. I'm sorry I wasted my time now.

foulman commented 4 years ago

@esotericist P.S. I read just fine.

ZhilkinSerg commented 4 years ago

You wasted your time only because you did not submit a PR.

foulman commented 4 years ago

While I greatly appreciate you telling me what I should do with my content and when I should PR it, without actually knowing a damn thing about it, I already stated the reasons I did not. I'm happy to provide you with a PR and bug that I consider to be blockers, but I don't think it would accomplish anything. It was no secret that I was working on this, in fact, I mentioned it quite a few times, though I did not go out of my way to publish it.

However, let me return that helpful input by suggesting that if any of you had bothered to read and comment or perhaps ask questions on this before it closed, you might not have come into it not knowing a damn thing about what I was doing, but acting like you did and trying to criticize me for it. I could have presented plenty of perfectly plausible uses in mainline for what I was proposing, as well as details for use in other ways. I'm sure that's on me too.

Perhaps I was wrong in holding back on putting out a PR on a mod that would cause conflict with Magiclysm, you might have a point there! I didn't need to be considerate, did I? I could have created a situation where it was 'use one or the other', or that if you used one it would directly impact the advancement of the other due to their differing mechanics.

That would have been more expedient, and apparently pleased many people! hurrah!

But I chose not to be a jerk to KorG that way, and I have to put up with this absurd conga line of people that don't know anything but want to run their mouths and be critical instead. Lucky me. I could have trickled it out in smaller chunks rather than trying to make sure there was enough to play with, but I wanted it to have a good bit built up.

The simple fact is, I wanted it to be ready, without bugs hampering the intended behavior, with it functioning properly, and without it causing a problem, and thankfully that wasn't up to you. Rest assured I will be less inclined to be as considerate in the future, you have definitely taught me the error of my ways.

Now, if you will all excuse me, I have hypothetical things to work on that don't involve any of you or any of your ignorant assumptions, but I'm happy to let someone fresh have the last word.

ghost commented 4 years ago

" I have to put up with this absurd conga line of people that don't know anything but want to run their mouths and be critical instead."

These people, as it happens, are members of CleverRaven, and thus are the project maintainers, it is part of the responsibilities of their role, that they do comment on PRs like this.

So they do know something, they are literally the gatekeepers of the repository.

For future reference - they are the ones you want to convince of the validity of your PR, not dismiss them like this.

I doubt you'll be back, by the tone of your last post, but I feel that its important that people know this, so they dont fly off the handle at "random people being critical"

foulman commented 4 years ago

" I have to put up with this absurd conga line of people that don't know anything but want to run their mouths and be critical instead."

These people, as it happens, are members of CleverRaven, and thus are the project maintainers, it is part of the responsibilities of their role, that they do comment on PRs like this.

So they do know something, they are literally the gatekeepers of the repository.

For future reference - they are the ones you want to convince of the validity of your PR, not dismiss them like this.

I doubt you'll be back, by the tone of your last post, but I feel that its important that people know this, so they dont fly off the handle at "random people being critical"

Except they're not commenting on "this", they're commenting on me setting Kevin and eso straight on incorrect assumptions about this issue. No questions were asked. No information gained. In case none of you noticed, I didn't say a word when the issue closed days ago. I didn't complain. It's exactly what I expected because no discussion ever happened.

However I do object to it being criticized and assumptions being made about it when there was zero attempt to engage in the first place. Nobody asked if there was a PR to go with it, I put it up for discussion, as I'm apparently supposed to do: image

I sure haven't seen anything saying A PR has to go with every feature request, nor was one asked for. Is that a thing?

I made it pretty clear that content that would make use of this was NOT hypothetical, and explained WHY it was not a PR. That's apparently not enough to satisfy, instead, I get told I should have made a PR for something I didn't want to make a PR for, for the reasons I had already stated, part of which was consideration of a CleverRaven devs work. (and of course a freeze)

You know that I know who these people are, but if you're going to come along and assume whatever suits whatever you want to say is reality, when the opposite is the reality, and be critical of me with it, that's on you. I presented the truth, I still get dragged for it.

foulman commented 4 years ago

It's a shame so many were far more interested in lecturing and being condescending with screenshots than actually discovering that I could have put up a PR if that was what was desired. That's also not on me, as I tried pretty hard.

kevingranade commented 4 years ago

This has long since stopped being productive, if this martyr complex crap you're spouting is your idea of constructive discourse, please continue to not open PRs.