I've been working on a game for the past few months and I've decided to read up on game scripting to see how it could help me improve my current game.
What I've gathered so far, is that using a scripting language saves the developer time (since compiling the entire game every time is not needed when making changes) and it also makes the game engine much more versatile (if the game had for example 100 different bad guys, I wouldn't need to make 1 class for each bad guy).
However, I have a couple questions, how much should I, as the developer, allow scripts to dictate the variables in the game, be it enemies, map tiles, player stats, etc?
If i had a script file for each initialization of entities (for example, a script to initialize NPCs, another for items, etc), wouldn't that make it way too easy for anybody to simply change the variables in the script to abuse the game?
the second question is, is it a good idea to have game logic algorithms in script files? for example, let's say that the game engine has a class called "Gun" which has a method called "shoot", would it be good practice to have that Gun class read the script whenever the method shoot is called, and let whatever the script says handle the logic, making it have pseudo-polymorphic behaviour?
Thanks in advance for answers.