Please add another decimal place to percentages e.g. +1.8%. Please make percentages be registered in more fine detail by adding in another decimal place like +1.5% HP Regen or +2.6% MP or -10.2% MP Regen.
This way when a game has many item type slots on a character and many types and categories of items and tiers of items (and or powers) the game can go farther, be more intuitive with less number bloat (as in who can really feel +753% verses +75.3%?) with more choice and still have deep meaning in how the player builds their character.
So say you have 10 main armour slots in the game and each armour piece of an armour set gives +1% HP alone, but if say for every piece in the set there is an added 0.5% bonus per item or if you get 3 out of 10 that is +4.5% HP or if you have 7 out of 10 that is +10.5% HP or 10 out of 10 that is +15% HP.
Giving an extra decimal place of detail with the percentile system adds a whole lot of depth in the ability to add for refined and powerful but reasonable choices for the player to tinker with.
This is a formal thread for this request to better organize my request original found here in the replies: https://opengameart.org/forumtopic/please-add-hp-and-mp-regen-percent-at...
Noted. We added support for fractional percentages for loot drop rates, so it would makes sense to do the same wherever we use percentages.
More broadly speaking, I think it would be beneficial to use floating point numbers for all stats where possible. This would help us avoid cases where we need a second internal variable to track the "real" value of a stat versus its integer display value.
That would be super great to have added to Flare, so much possibilities of fine point detail and depth of systems can be made. Literally an order of magnitude is opened up when using (where reasonable) floating point numbers. Especially for percentile systems for the range is kinda limited to only 100 values if only integers are used. With your way of thinking of using floating point numbers where ever possible Flare then can have near unlimited amounts of depth (like dividing fractals) or even it is it just one extra decimal place 1,000 values are an order of magnitude more than 100 XD. Either way it is awesome to see continued work and support for the Flare engine; it's very inspiring:-).
That´s actually interesting; I think if stats worked as an added % to items values things would be much easier to balance. Like, 15 Str points = 15% more physical weapon damage (instead of adding 15 damage flat). That´s the way all Diablos do it.
Stats like Offense/Dexterity (for ranged) could offer a 0.2% for avoidance and critical instead of the crazy 1% they offer now for each stat point. Overall, it would make balancing and item creation way easier while avoiding stuff like starter slingshot being the most deadly weapon in the whole game.
Be careful with floats, saving them to text in a decimal format is not possible exactly,
must either use hexadecimal float format or save the raw value somehow.
Also floats lose precision when the numbers grow larger, computer games stumble over this problem sooner or later...
Maybe better use fixed-point arithmetic, say multiplying all values by 1000?
then add(x,y) == x + y and mul(x,y) == (x*y)/1000
overflow of int32_t or int64_t is probable unlikely.
otherwise can use ((__int128_t)x * y) / 1000 or similar
to avoid overflow of the intermediate result.
Also can speed (at least movement speed) be affected by the floating point numbers? So that I and everyone else can have greater depth with how to tinker with speed values? As in a case like for example with say heavy armour pieces slows a character's movement rate and force a balancing act to play out? Currently it seems that only integers work with movement speed but not like numbers like -1.2% or -0.5 and or +2.7%.
@skeletonzombie
Yes, that is certainly a concern. The numbers we'd be dealing with a quite small (most are less than 2^8), so I think we'd have the precision we need. We could do fixed point math if we super strict about accuracy here, but I don't think it would be necessary.
Flare's mod files are meant to be human-readable, so in the places we do use floats, they are in decimal format. This is mostly a one-way street, since I think the only place the engine writes floats to a file is when saving the player's X/Y position.
@WithinAmnesia
I'd start with everything that's represented as a percentage, so speed would be included.
Thank you for all the work you keep doing with the Flare Engine.
What kind of features are going to be headed for 1.13 / possibly 1.12.1?
How do new versions / patches / releases work?
Are new versions / patches / releases a matter of a lot of new features or is there a time variable?
Is there a list of wish list features to be worked on and then when they are tested / worked on / implemented a new version rolls out?
Is it possible to get a small new version like ~1.12.1 with a new big game building feature like supporting floating point numbers (so more refined itemization can occur / build a new kind of previously non-possible depth / scaling detail of many simultaneous equip-able item types; to support lots of item slots and lots of attribute depth)?
Or is there a big difficulty releasing a new version so a few new features (like Added additional requirement properties to enemy and NPC map objects ) alone are not worth the effort; what is usually worth the effort?
Is it possible to ask for a small patch release like 1.12.1 if there are significant game building features (supporting floating point numbers and the new post 1.12 release features such as the added additional requirement properties to enemy and NPC map objects)?
How is this process of building / working onto the Flare engine and making a new release version play out in general and what usually happens?
Do you play by feel and when ever you have free time / motivation / inspiration / ideas from the community, or is it like going through a wish list and you have a sort of schedule / semi-order / routine you go through; what is your general creative process?
How do you feel when working on Flare / what do you like about Flare and what do you want / strive towards?
Thank you for reading this and I hope things are working out smoothy, if not I hope they get better:-).
I've done what I can to streamline the release process, but it's still not effortless. Releases happen when it "feels" like the engine and game are in a stable place, but it also depends on finding the time to do the release process. Point releases are only done if there is truly a critical bug that keeps the game from working.
There was a crash scenario found in 1.12 dealing with summons, but it can be avoided entirely by defeating most of the enemies on the affected maps (which most people do anyway). I'm still not happy with that, so I'd like to get 1.13 out around November.
There's no hard-set deadlines for most features, so things make their way into the engine when they can. It's usually a combination of community ideas/feedback and my own desires for "that game I want to make one day but haven't gotten to yet." Aside from the current change log, I have a few more things I want to squeeze into 1.13.
I am currently working on overhauling the gamepad experience. I haven't pushed my changes yet, but I've already switched to SDL_GameController from SDL_Joystick, added support for >3 bindings per action, and changed the keybindings config format to better suit these new features. The next step is changing the UI behavior to better support gamepads. For example, instead of having multiple dedicated buttons to alter the actionbar, use one button to toggle the actionbar's focus while using the existing movement/action buttons to interact with it. Other things such as picking a good first widget for all menus, some new bindings (e.g. one to exclusively open the pause menu), and button prompts are yet to be done.
After all that is done, I'll be looking at implementing this, which I think will tie into the topic of this thread in some places. So both may end up being worked on at the same time. That's a common theme, where component A touches component B, and vice-versa.
Of course, there are plenty of other things I have on the idea list. So there may be more in 1.13.
Also worth mentioning that someone is currently working on fog-of-war support. I haven't closely reviewed the code yet outside of helping with a few patches. But it's something I think will be ready for 1.13 as well.
Hmmn, so you got myself curious about this XD:
"I am currently working on overhauling the gamepad experience."
Console / Non-PC Support? Potentially for something like Unity multiple platform export features? What kind of ideas orbit around this work?
Goals for 1.13:
Event / Enemy properties ~overlap / crossover support.
Overhauled gamepad (controller?) support.
Floating decimal point support.
Arbitrary definition of resources (e.g. HP and MP) support.
Fog of War support.
-Any more goals?
Bug fixes continued...
Tentative date ~November 2021?
"It's usually a combination of community ideas/feedback and my own desires for "that game I want to make one day but haven't gotten to yet.""
Could you elaborate / expand / add more detail on this? You have worked on this for years and you probably have a long term vision; which I am curious to better understand.
Could you delve into your perspective / passion / pursuit for "that game I want to make one day but haven't gotten to yet"?
No new platforms. I just enjoy playing PC games with a gamepad sometimes. Flare in it's current state has a lot of flaws in that area, so I felt the desire to focus on it.
Since I'm the only one doing most of the engine work, I usually just take notes locally in a text file for the stuff I'm working on. I just went through and updated the 1.13 milestones on Github for both the engine and the game.
I don't really have too much to say about my "dream" game. Some key points would be:
Dorkster, that plant boss is quite cool, do you know the render size? i guess it´s Flare max as well, which i don´t know.
Your dream game could be doable in Flare with a few new sci-fi sets, the tech could just be new loot unique to ship types (like metal-made for human hulks and fleshy-like for alien hulks).
The combat would demand a better animated model, also bigger models, like original Diablo. You would ignore all Flare existent assests (fantasy) and start anew, adding the possibility of new maniouvers like roll. Small stat values would help to keep numbers sane.
You could have a spacestation as activity hub to get missions, trade... and a radar to locate hulks, which would create random maps based on hulk race and your level (someone in this forum left one script halfway done) to get loot and materials, and a fixed hulk (high level) that would be the main mission needed to advance history.
As for me, I would like to a do a full conversion and turn Flare into a mech game, equipment would turn into legs, arms, heads pieces, shoulder mounts... and you would stomp into warring cities with lil tanks and infantry around, crashing buildings, dodging artillery strikes...
Render sizes for Rafflesia:
Main body = 128 x 108
Melee tendril = 144 x 112
Ranged tendril = 150 x 150
None of these are that large by themselves. But when combined, they make the boss feel much bigger.