(all ideas welcome) sparing sword hit detection system (purely conceptual)

so ive been playing with an idea for a few years, i'm not very good with code but i think i have enough device knowledge that maybe possibly i'm onto something, i'm not sure thats why were here.

do you Know what LARP is, if not google it.

there now you know what type of swords we are talking about.

so my thought is to use a piezo dissc to sense the vibration in the swords to register hits.

i may be wrong but my theory (based a bit on experience) is that the vibrational differences between hitting a sword (a block) or hitting a body, are very different idk vibrational profiles so i believe i can differentiate betweeen body hits and sword hits with code, also if both swords have a piezo disk and they hit eachother they would clearly have the largest response.

so basically im curious if a simple piezo disc is sensitive enough that it can be used to differentiate between these different types hits.

ironically thats the easy part. this is where it gets interesting.

i think linking this through a cell phone would be best, via bluetooth or somthing for basic gps data, and i would use the phones to compute all of the combat data ie armor points, health points, damage and whatnot.

i think the gps data could be used to put the arduino based combat module in the sword into sleep mode, to preserve battery life.

so now imagine we have 3 or more combatants.

lets assume we've already solved a way for each player to have a unique identifictaion code linked to their combat module.

here is the main current hurtle and also where the limits of my knowledge are.

we have player 1, player 2, and player, 3

if player 1 hits player 2, and all three players are close enough to eachother what would be the best cousre of action to be able to differentiate between if player 2 or player 3 got hit.
'
ive been thinking maybe some sort of directional movement sensor combined with an accelerometer.

i guess the questoion at this moment is somthing like this.

the easiest fastest cheapest most accurate way of creating some sort of object tracking, collision tracking, almost like a video game bit instead of controlling the inputs your are the inputs.

The piezo idea should work well. You'll have to play around with signal conditioning to get it reliable of course.

As for knowing who was hit, the GPS position won't be accurate enough or update fast enough. I'd use the GPS simply as a very accurate clock, they are good down to a few milli seconds. All you need to do is have each player send a message with their ID and the time they were hit. At the receiver you can pair up the hits that happened at the same time and assign scores accordingly. The probability of more than two players being hit within milliseconds of each other is very low. However if you do find it is an issue, then you could use the GPS position as a secondary method of identification. The probability of more than two players being hit at the same time and within a range of a few meters would be near zero.

so basically im curious if a simple piezo disc is sensitive enough that it can be used to differentiate between these different types hits.

Then build it and test it. How many people on this forum do you think have tried this? I'll tell you - none. So why ask? Do you have an Arduino and a piezo disc? If not, they're not expensive.

nope ive got a few boards but i was going to order a few fresh nanos to work with, need to order sensors but again cheap and no big deal.

yes the gps data wont be accurate enough for player location (although i do like it for timing sync) the Gps data would be for specifically telling the Arduino to start to use a more accurate method or location/distance/direction in respect to other player(s)

ie the Arduino wouldn't always be searching for a player until it received a message telling it that players are near enough to start combat location tracking.

my thought is to use a gyroscope/accelerameter to help discern sword swing speed and direction.

my hang up is what would be the best way for the players individual Arduinos to be somewhat aware of the location they are in in respect to each-other if that makes any sense.

i need to post a drawing but I'm wondering if there is some sensor or communication module that will allow one Arduino to separate other Arduinos into different categories based on where they are in respect to each other.

player 1 registered a successful hit in quadrant 3, player 3 is in quadrant one, player 2 is in quadrant 3. player three and two did not register a block on their weapons, outcome player one lands successful hit on player 2.

my plan right now is to order a handfull of nano boards, a bag of piezo discs, a handfull of gyro/accel sensors, then probably run test circuits with leds to show if im registering what i want when i want. the main game processing is obviously not going to be done on the arduino itself, the thought is that the arduino hands the raw data to a mobile device as fast as possible and let the mobile device turn all the info into discernible combat data.

right now i'm trying to get recommendations of any methods of Arduino location tracking in relation to each other not the world.

i can start testing parts of this without it and will order what i have figured out so far but i'm holding off a few days to see if anyone here has any good ideas.

and i want to flush out what i have thought of so far as much as i can before i start ordering parts, whether they are cheap or not.

Thanks for the suggestions and I appreciate any further insight thank you

There's no way you'll get an Arduino to sample or send data fast enough to use outboard processing. Signal conditioning will need to be done using analogue electronics,

GPS positions are slow to update. I think you'll struggle to get better than 5m accuracy when someone is moving fast. In theory you could use an accelerometer and gyro to make an inertial navigation unit but there's some serious mathematics and a lot assumptions involved.

There really aren't any other positioning sensors available to do what you want until you step up Nintendo Wii style to cameras and processing ability.

Pozyx will be able to give you the location accuracy you're looking for. Not cheap, showing you how hard a problem this is.

Accelerometers will give VERY noisy data. Even the orientation with respect to gravity will be very hard to filter out of that noise, let alone speed (first derivative) or position (second derivative) of the acceleration of the thing, minus gravity.

The fencing sport has the hit detection down to a science. You really should start looking at what they have on offer. This includes differentiating between hitting the opponent's weapon and body.

This is nothing like fencing. Fencing has light weight fast moving weapons with buttons that open (foil) or close (epee) on contact, and make electrical contact (foil, sabre) between the weapon and the opponents metallic lame for a touch (and epee on the body for a touch, but not on the grounded bellguard). Fencing is done on a metallic strip of fixed width and length (1.5 to 2 meters and 14 meters long) between 2 opponents, not in a crowd, with a referee to determine who initiated a successful action or counter action (foil, sabre) ending with a scoring light to award the point, while epee is just a matter of who's light went off (and double lights count), more of a street fight unless there was body contact.

Live Action Role Play bears no resemblance to the Olympic (since 1896!) sport of fencing.