CleverRaven / Cataclysm-DDA

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

Computers should have an easy way to train practical experience #50901

Closed Hatfish closed 3 years ago

Hatfish commented 3 years ago

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

With the new changes to skill rust and skill gain, it becomes very difficult to maintain levels of practical skill in computers as failing a computers check will often either destroy the console the player is trying to hack or otherwise put the player in serious danger. This means that it can be pretty hard to actually see all the lore snippets in those lab consoles. It would be nice to add some way of training computers skill to laptops so the player doesn't need to burn a lab's worth of consoles just to have a chance at hacking a different lab.

Describe the solution you'd like

Add an option to the laptop/e-ink PC's interaction menu to train practical skill in computers by fiddling around with code or whatnot.

Describe alternatives you've considered

Requiring the player to find a hacksoft USB before they can train their computers, since computers is basically only used for hacking into stuff anyways. Keeping computers training's current do-or-die situation.

Additional context

actual-nh commented 3 years ago

Ping: @I-am-Erk?

eltank commented 3 years ago

I wouldn't mind making a PR for it, but I need suggestions for how to balance it, i.e. how much xp should be gained and how long it should take to "Practice coding" on a device. Also how many battery charges.

I think the action should require a (powered) laptop. Smartphones and tablets not only lack a proper keyboard but are also unlikely to have a compiler or interpreter installed. Laptops running any modern OS would have something to practice with, even if it's just JS or Python.

I-am-Erk commented 3 years ago

This really should be done as a prototypic practice action, with the laptop being the required tool and battery power being an expendable component

eltank commented 3 years ago

This really should be done as a prototypic practice action, with the laptop being the required tool and battery power being an expendable component

That makes sense. Is there a doc with your thoughts on how practice actions should work, that one might use to build a prototype?

I-am-Erk commented 3 years ago

https://github.com/CleverRaven/Cataclysm-DDA/issues/28283 was the original but it should probably be updated. that would give you the basic idea, but I think it can be done much less fancy than that. If it interests you I can write up something more coherent to our current needs

eltank commented 3 years ago

28283 was the original but it should probably be updated. that would give you the basic idea, but I think it can be done much less fancy than that. If it interests you I can write up something more coherent to our current needs

I would certainly welcome "something more coherent to our current needs". In the mean time I'll play around with adding a crafting recipe for this to see what problems I run into (e.g. the lack of an actual crafting result). I also need to figure out how to cap the skill gains, so that you can't increase your practical level above your knowledge level. Should practice increase knowledge level at all? Maybe depends on the skill and the type of practice action/recipe?

RoyBerube commented 3 years ago

Reading a programming book and also having a laptop should give better learning results than either alone. That would make the most sense to me.

eltank commented 3 years ago

Reading a programming book and also having a laptop should give better learning results than either alone. That would make the most sense to me.

That's harder to implement. The reverse of that (book giving you a bonus while you practice) is more feasible.

StStep commented 3 years ago

Whelp, I didn't see that older practice feature before I made mine just now: #50999

I-am-Erk commented 3 years ago

28283 was the original but it should probably be updated. that would give you the basic idea, but I think it can be done much less fancy than that. If it interests you I can write up something more coherent to our current needs

I would certainly welcome "something more coherent to our current needs". In the mean time I'll play around with adding a crafting recipe for this to see what problems I run into (e.g. the lack of an actual crafting result). I also need to figure out how to cap the skill gains, so that you can't increase your practical level above your knowledge level. Should practice increase knowledge level at all? Maybe depends on the skill and the type of practice action/recipe?

Further stuff can go in your pr, but in short I don't see any reason practicing can't give knowledge too. It should be fundamentally the same as crafting/uncrafting, to start