Hi there,
I want to ask about the health system. It is quite complicated. Can I enquire about the design reasons behind this complexity?
Recently I have started playing Cataclysm: Dark Days Ahead (http://en.cataclysmdda.com/) and they have a comparatively simple health system: Human bodies are divided in 5 slots: head, torso, left arm, right arm, left leg & right leg. Each slot has a 0-5 value, 5 being completely healthy and 0 being completely pulped. Things get bad when a slot's value approaches 0. Damaged legs make people walk slower. Damaged arms lower dexterity and weapon accuracy. If they reach 0 they can't heal without a sling. There is also an independent "pain" indicator. A person suffering acute pain (even if his 5 slots are ok. He might be drugged, etc) performs worse in general.
This system allows for meaningful decisions: with only one medikit, you must choose between healing your leg, to run faster, or an arm, for steadier shots. Or maybe just your head, to alleviate the pain indicator.
There is a complementary clothing/armor system. So each piece of clothing has 3 stats: protection against damage, against cold, and encumberment. So you for example you have to decide between wearing hiking boots, (with little encumberance, high armor, but low temperature protection), and winter boots (very good against cold, but encumbering and not as good armor-wise). This ties to the previous example: if you have highly protective boots you might be inclined to heal your arms before your legs.
I find that this approach, with several "shallow" but interconnected systems, provide complexity and emergence, while remaining easier to understand, than fewer, "deeper" systems. Are you sure you are not doing simulation for simulation sake?
On The Roadside (Turnbased Strategy inspired by XCOM)
- kikito
- Inner party member
- Posts: 3153
- Joined: Sat Oct 03, 2009 5:22 pm
- Location: Madrid, Spain
- Contact:
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
When I write def I mean function.
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
do you plan to make geoscape part too ? i was heaviliy involved in openxcom mods & development and might be helpfull here
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
Thanks for the lovely feedback <3LordSeaworth wrote:Nice to see such great work with this engine.
Keep up the good work!
I see where you are coming from and of course a system like CDDA would fit perfectly. For me the main reason why I want to implement this system is: Fun! I just liked the idea and wanted to see if I can implement it in a way that provides good gameplay. If it doesn't work out I can still change it later down the road.kikito wrote:I want to ask about the health system. It is quite complicated. Can I enquire about the design reasons behind this complexity?
Of course I have some actual thoughts about the system and how they'll tie into gameplay. For example in CDDA the death of your character means the end of the game, whereas in my game it just means you lose one of your team members. The latter can be further differentiated if you take XCOM:EW and Xenonauts as examples. The latter plays more like classic XCOM where it is common to sacrifice people or at least use them as cheap scouts, whereas losing a highly-skilled squad member can end your whole run in XCOM:EW (at least on ironman classic+ difficulty).
I'm more of a fan of the chess-like gameplay of the modern XCOM (or the Silent Storm) games, where you actually want to keep your team as save as possible. My plan was to include long-lasting effects for your squad, like blindness, missing limbs and maybe even mental health issues. Instead of having a team of expendable people you'd build a squad of highly experienced folks who you really care about after some time.
On the other hand I don't want it to become a gamestopper when one of your guys gets killed, hence why my base gameplay will be quite important for the balance of this health system.
Maybe, but then again I don't really see it as a problem. I'm doing this as a hobby so I don't have any expectations or deadlines to meet Besides, I guess you could say the same about Dwarf Fortress and it's a pretty fun game for some peoplekikito wrote:Are you sure you are not doing simulation for simulation sake?
If you have further questions or suggestions just shoot ...
I wouldn't compare it to the geoscape in the classic xcom games, but I definitely want to have some sort of base gameplay. I have a bunch of ideas written down already, but it'll be a while before I'll start to implement them I guess. Currently I'm not really looking for contributions, but that might change later down the roadbladum wrote:do you plan to make geoscape part too ? i was heaviliy involved in openxcom mods & development and might be helpfull here
Thanks for the offer though - I highly appreciate it!
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
Just a small update. Due to work and real life stuff I didn't have too much time to code, but that should change in the next few days (vacation ).
The health system is more or less working although I still need to add bleeding and (more) status effects. The cool thing is, that now creatures can be defined by template files like this:
Not only does this mean that I can simulate different organs, which have different effects upon taking damage and being destroyed, but I can also manually determine which equipment slots a creature can have. This should come in handy when I add non-human creatures. Obviously a dog shouldn't be able to wield a gun, but by giving him a "maw" body node I could then attach a bite-attack to that node. But that's something for a later release.
I also got around to creating a pixelfont and actually started ASCII-ing the inventory:
All in all update 0.4.0 should be ready in the next few weeks.
The health system is more or less working although I still need to add bleeding and (more) status effects. The cool thing is, that now creatures can be defined by template files like this:
Not only does this mean that I can simulate different organs, which have different effects upon taking damage and being destroyed, but I can also manually determine which equipment slots a creature can have. This should come in handy when I add non-human creatures. Obviously a dog shouldn't be able to wield a gun, but by giving him a "maw" body node I could then attach a bite-attack to that node. But that's something for a later release.
I also got around to creating a pixelfont and actually started ASCII-ing the inventory:
All in all update 0.4.0 should be ready in the next few weeks.
- Positive07
- Party member
- Posts: 1014
- Joined: Sun Aug 12, 2012 4:34 pm
- Location: Argentina
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
Oh that UI is already so nice! You could add some color, but the aspect is already really good, it fits the game, I'll be waiting for the update! Keep it up
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
ThanksPositive07 wrote:Oh that UI is already so nice! You could add some color, but the aspect is already really good, it fits the game, I'll be waiting for the update! Keep it up
Yeah this is the first rough draft, so it lacks a lot of polish and some actual features. The (currently empty) box at the bottom will be used to display the item's description and stats.
- Positive07
- Party member
- Posts: 1014
- Joined: Sun Aug 12, 2012 4:34 pm
- Location: Argentina
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
I see, I'm sure it will be great... What is the Other tab intended for?
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
That's the inventory you are taking from, so for example another character's inventory, a chest or the floor. The "other" header will be replaced with the actual type of inventory later on.
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
Pushed version 0.4.0.658 to itch.io
Please keep in mind that none of the features are final and a lot of the changes are just there to set the foundation for future updates.
Some notes on the health system
The basic setup for medical system is done now. Bodies can be created as graphs with nodes representing different body parts and edges representing the connection between them. This allows me to create different types of creatures in the future. and especially keeps the whole system pretty flexible. I specifically wanted to avoid hardcoded inventory slots based on the human body.
The system works like this now:
Entry nodes
Each body has socalled entry nodes which represent the body parts which can be hit by an attack directly. Each of these nodes can be damaged and ultimately being destroyed, which also leds to the desctruction to any connected child nodes. So if an arm is cut off the hand is destroyed as well. Entry nodes also can receive bleeding effects which will lead to a character bleeding out over time.
Inner nodes
Inner nodes aren't visible to the player (although this will change with the implementation of certain features in the future) and are connected to entry nodes. Inner nodes will be used to apply certain status effects to a character. Right now a character can be killed by destroying a vital organ (brain, lungs, ...) and blinded by destroying their eyes.
Equipment Slots
This was a struggle to implement, but I finally managed to add flexible equipment slots which can also be defined via the body graph. This allows me to add different equipment slots for non human characters as well as removing equipment slots if the specific body part is torn off (TBD).
All in all the player only has to worry about the status of the entry nodes. With the addition of a medical system in future updates bleeding can be stopped and damaged body parts can be healed. Inner nodes / internal organs only act as a way to simulate certain status effects and handling critical hits.
@kikito I hope this addresses some of your concerns
Published a small patch 0.4.1.664:
Published hotfix 0.4.2.668:
Published hotfix 0.4.3.685:
Please keep in mind that none of the features are final and a lot of the changes are just there to set the foundation for future updates.
Code: Select all
## Additions
- Added knife item to test slashing damage
- Added the first implementation of an in-depth health system
- Each create has an actual body model consisting of separate body parts
- Each body part does have its own effects and attributes
- Destroying a vital organ leads to a character's death
- Destroying the eyes will blind the character
- Attacks can cause bleeding which can lead to a character's death
- Added a custom image font for the user interface
- Added simple (preliminary) health screen
## Fixes
- Fix merging of item stacks
- Fix camera moving while inventory is open
- Fix issue with Lua's default io libs
## Other Changes
- Do not restore camera position after movement
- Reduced amount of camera movement during AI turns
- Taught AI to rearm throwing weapons
- Use layout-independent key scancodes
- Added a custom error handler
- Made throwable weapons stackable
- Equipment slots are no longer hardcoded but can be determined by a character's body template
- Hide equipment when looking at another character's inventory
- The camera actually takes tile sizes into account when moving
- Mouse Pointer is no longer updated when the inventory is open
- Made game window resizable (minimum size is locked to 800x600)
- General inventory layout improvements
- Added scrollable item description area
- Added item stats area
Some notes on the health system
The basic setup for medical system is done now. Bodies can be created as graphs with nodes representing different body parts and edges representing the connection between them. This allows me to create different types of creatures in the future. and especially keeps the whole system pretty flexible. I specifically wanted to avoid hardcoded inventory slots based on the human body.
The system works like this now:
Entry nodes
Each body has socalled entry nodes which represent the body parts which can be hit by an attack directly. Each of these nodes can be damaged and ultimately being destroyed, which also leds to the desctruction to any connected child nodes. So if an arm is cut off the hand is destroyed as well. Entry nodes also can receive bleeding effects which will lead to a character bleeding out over time.
Inner nodes
Inner nodes aren't visible to the player (although this will change with the implementation of certain features in the future) and are connected to entry nodes. Inner nodes will be used to apply certain status effects to a character. Right now a character can be killed by destroying a vital organ (brain, lungs, ...) and blinded by destroying their eyes.
Equipment Slots
This was a struggle to implement, but I finally managed to add flexible equipment slots which can also be defined via the body graph. This allows me to add different equipment slots for non human characters as well as removing equipment slots if the specific body part is torn off (TBD).
All in all the player only has to worry about the status of the entry nodes. With the addition of a medical system in future updates bleeding can be stopped and damaged body parts can be healed. Inner nodes / internal organs only act as a way to simulate certain status effects and handling critical hits.
@kikito I hope this addresses some of your concerns
Published a small patch 0.4.1.664:
Code: Select all
## Other Changes
- Deactivated save feature
- Made chairs and tables climbable
Code: Select all
## Fixes
- Keep health screen centered when screen is resized
- Prevent crash when screen is resized while inventory is open
- Fix enqueuing of action which can't be performed
Code: Select all
- Revert "Fix impossible actions being added to the queue" as it caused additional problems
Re: On The Roadside (Turnbased Strategy inspired by XCOM)
Published 0.5.0.725 containing some important fixes
Published 0.5.1.727
Published 0.5.2.741
This should finally resolve the last few stubborn AI issues.
Code: Select all
## Additions
- Added a new smaller map with more tactical possibilites
- Added new tiles "Gravel" and "Wooden Floor"
- Added new world object "Tree"
- Added preliminary item descriptions
- Added log file writer
- Added indicator displaying the AP costs for an action
## Removals
- Removed german translation files for now
- Removed automatic changing to crouched mode when a character climbs over a world object
## Fixes
- Fixed AP cost calculation in pathfinding algorithm
- Fixed enqueuing of impossible actions
- Fixed AI getting stuck in behavior tree
- Fixed crash with the Rearm Action
## Other Changes
- Changed colors of crate objects
- General improvements of the user interface
- Debug info is hidden by default
- Rearranged the other UI components to match the game's grid system
- Changed movement input to use two stages again
- The first click plots the path
- The second click starts the actual movement
- AP cost for interacting with a world object is now dependent on the character's stance
- AP cost for traversing a tile is now dependent on the character's stance
- Help and debug info overlays are still visible during AI turns
- Camera now starts centered on the map
Published 0.5.1.727
Code: Select all
- Reduced debug output
Published 0.5.2.741
This should finally resolve the last few stubborn AI issues.
Code: Select all
## Fixes
- Fixed issue where the AI would start the execution state twice
- Fixed actions being executed for dead characters
- Fixed AI handler failing to end its turn
Who is online
Users browsing this forum: No registered users and 1 guest