Diconica Well, you obviously have much more skill & experience in programming (and disasters, lol) than me, but with manual work I meant game dev, sorry for not being clear. I'm 30 years old and I was obsessed with games and game dev since I was a small kid, and every time devs go with automation process (mostly noticeable in RPGs and games with automatically generated loot, like Borderlands or World of Warcraft), it becomes total boring bullshit where new items are so simplified and souless, that you don't care about them at all, you don't remember their names, their icons, all you look at is whether they have higher numbers on them. I could write an essay here about it. So yeah, if you want to make game with unlimited amount of items and enemies, automation is a way to go, but don't expect them to be "cool" or even balanced in any way if you go too crazy with some effects.
thomastm UiTC (Unaware in The City) will be the same game in terms of story and events, but everything related to art (characters, locations, UI) is made from scratch and will get it's own OST, so some stuff (like animations) might have to change, too. Together with it I'll be adding some quality of life changes, adding more traits (and increasing amount of positive traits to pick), so yeah, I'll be making grind a bit easier, too.
First, I understand your point but you seem to have got something confused.
I'm not talking the type of automation such as using RNG to develop stuff.
I'm talking about the type were you have a thousand emails to send to people that all are basically the same thing but you need to enter the name and email address for each one. If you are smart you automate that process using a form and mailing system.
In this case it wouldn't reduce your creativity any it would just make it faster and easier for you to do without having to do the work in isolating each one.
You get all the same stuff with more functionality and less work in doing it.
Balance:
Hmmm. You mean like the balance that could make a character unplayable?
JK ~ just had to throw that out.
Balance though is over rated. In real life we have no balance. Life isn't fair. There are plenty of weapons vastly superior to others. There isn't any such thing as a real trade off in many cases. There are people with vastly more intellect and physical capability than others. There are people who have neither.
Bad RNG:
There are a lot of bad uses of RNG out there I can totally agree with that sentiment.
The first game I wrote was on an atari 800xl it was a tron light cycle type. I then wrote a variant of worms that updated the way it played all in 48k. I also wrote my first 3D renderer on it. In high school my teacher worked for IBM she convinced them to let us test the PC AT & XT for them. If you had my real name you could find me on sites like flipcode.com along with a few other well known developers. I'm not one of the well known. Most of the stuff I work on is in the experimental area. Things like generating terrain and AI systems and other stuff that falls out side the game field.
The biggest problem with RNG is people who don't know how to use it. They think randomizing something is enough. Sure things in RL are random. But it is always usually dependent on other factors that changes the amount of randomness and scale and other factors.
I guess I spend a lot of time trying to mimic Real Life and then explain things that we see and how they are actually connected. At some point you tend to realize there is never anything that works entirely independently. Everything is part of a system.
Take a treasure chest. If there is a treasure chest in existence in some location it is there because someone used it to store stuff. They want the items to be secure. So it is unlikely you are going to find common goods in it that are easily replaceable. Well that's not entirely true. Someone could be using it as pantry because they simply don't have another box to keep critters out of. But the likelihood is slim. Then you have to consider were the treasure came from. Was it gotten locally if so then it would represent what would be considered of value in that region. If not maybe the individuals brought it with them from where ever they came from. In a game it sucks when you open a chest and there isn't anything of any use in there for your character. While that is fairly representative or RL it doesn't make for good game play. If the items aren't usable for the character they should be rather easy to sell or trade for items that are. The problem is developers rarely think it through that far. That's especially true when working on a budget and dealing with deadlines.
Most the randomness we see in real life isn't actual randomness. It is just the appearance of randomness. What it really is is the influence of a large number of things acting on whatever it is we are viewing. You can think of it as the balls on a pool table or the way weather and other force shape terrain. The fact is everything is subjected to influences in most cases more than we can count. Some are to a degree they are significant and some are a lot less.
But as I was saying the automation I was pointing you toward was more about reducing work in the development cycle.
It can be done a couple ways. The first is the trait goes in one class and a second class is made to manage them.
When a new trait is created it registers with the manager.
The manager handles what traits are displayed in the list. It stores a list of all traits. It keeps a link to each trait created.
When a trait is selected it updates the list. This is done by using a routine that loops through the list and removes traits with identical affects. You could also make a list for it to use instead of conflicting traits.
It then generates an id list of traits to display based on the ones that are registered and were not eliminated by the selection system. It saves you the work of making a large if else nest. It also saves on that performance.
The trait class handles the functions / affects of the trait an storing the description and title and so on.
This includes a list of affects and how much that affect is.
If you want to add new affects to the list you need only add it to this class.
You use an update routine to update the class to activate the affects which then runs each routine needed for each affect.
It simply uses a for-loop to cycle through each of the affects you want and run them.
This means you could design lots of traits with mixing of affects and it cost you little work.