I have this idea for a certain game development tool, but before I start another side project I want to check if something similar already exists.
An important part of game development is fine-tuning numeric values. You have some numbers that govern things like character motion, weapon impact, enemy AI, or any other game mechanic. For most of these there is no "correct" value that can be calculated (or even verified!) with some algorithm - you have to manually try different values and converge to something that "feels right".
The most naive way to fine-tune these numbers is to have them as hard-coded values, tweak them in code, and re-run the game every time you change them. This, of course, is a tedious process - especially if you have to go through long build times, game loading, and/or gameplay to reach a state where you can test these values (that last hurdle can often be skipped by programming in a special entry point, but that too can get tedious)
A better way would be to write these numbers in configuration file(s) which the game can hot-reload - at least while in development mode. That way you can just edit the file and save it, and the game will reload the new values. This is a huge improvement because it skips the building/loading/preparing which can drastically shorten the cycles - but it's still not perfect because you have to constantly switch between the game and the configuration file.
Sometimes you can use the game engine editor to tweak these while the game is running, or create your own UI. This makes the context switches hurt less, and also lets you use sliders instead of editing textual numbers, but it's still not perfect - you still have to switch back and forth between the game controls and the tweaking interface.
Which brings us to my idea.
What I envision is a local fine-tuning server. The server will either update configuration files which the game will hot-reload, or the game could connect to it via WebSocket (or some other IPC. But I like WebSocket) so that the server could push the new values to it as they get updated.
After the server deduces the structure of the configuration (or read it from a schema - but providing a schema may usually be a overkill) you could use its webapp UI to configure how the values would be tweaked. We usually want sliders, so you'll need to provide a range - even if the exact value is hard to determine, it's usually fairly easy to come up with a rough range that the value must be in (how high can a human jump? More than 5cm, less than 5m). You will also decide for each slider if it's linear or logarithmic.
The server, of course, will save all that configuration so that you won't have t reconfigure it the next time you want to tweak values (unless there are new values, in which case you'll only have to configure the sliders for them)
Since this would be a server, the tweaking of the values could be done from another device - preferably something with a touchscreen, like a smartphone or a tablet, because tweaking many sliders is easier with a touchscreen. So you have the game running on your PC/console, gamepad in hand (or keyboard+mouse, if that's your thing), and as you play you tweak the sliders on the touchscreen until you get them just right.
Does anyone know if a similar tool already exists?
They do benefit though - they gain liquidity. If they'd keep all their money in direct investments, they wouldn't be able to use it - so they have to keep some of it in a form they can utilize. Doing it in a bank account allows them to still get some revenue (not as much as an investment firm would give them, but still more than zero)
Both sides of an arrangement can benefit from it. I don't understand what this concept is so alien so some people, and I don't see the point of focusing on this aspect of the post instead of the more interesting one - they poor getting charged fees for not having enough money.
You made a point that the bank loses money on low balance accounts, which seems reasonable (the bank does enjoy the economy of scale, but there are still minimum costs for dealing with each customer as an individual) as long as you stress out that this is before the bank takes these fees.
So, the real questions is why should a poor person even have a bank account? The main purpose of a bank is to provide liquidity while still investing they money - but the poor don't have enough money to invest, and cash is just a liquid and doesn't incur low balance fees. Is there something systematic that forces them to use a system they only lose from?