Home    LittleBigPlanet 2 - 3 - Vita - Karting    LittleBigPlanet 2    [LBP2] Everything Else LittleBigPlanet 2
#1

Making something happen based on highest scoring player in a competitive level

Archive: 22 posts


Hey all,

Just wondering if anyone knows of a way to make score sensors read individual players' scores in competitive levels? I'm making a level where I want the player with the highest score to get to do something, before the end of the level. I've been reading rtm's absolutely excellent logic blog and I think I see how I could test for the highest score -- the problem is, there doesn't seem to be a way to read the separate scores in a competitive level? Anyone have any experience with this?


Thanks a lot,

Alex
2010-12-27 12:05:00

Author:
Alic
Posts: 81


Yep, you can't do that i was trying to do the same thing but invert, to detect 0 score. Sensor only detect highest score. But your situation seems to be more easier

Check signal ownership (the one who decide of player color light, costume sackbot copy) for score sensor, it should send set to player who got the highest score.... at least i guess it is. Bu then it will be hard to compare it and make player come

This is the reason why i suggest all the time to MM to make player specific tweak to all components that get and effect player data, same as it is with costume copying. It would make things much more easier
2010-12-27 12:29:00

Author:
Shadowriver
Posts: 3991


Hey Shadowriver, thanks for the reply. Your Youtube tutorials have been incredibly helpful in learning some complexities of LBP2's new tools. So, thanks for those as well

If I understand correctly, you're saying that there's some way to use the signal ownership of the score sensor's output to affect one of the players. I already have all players set up as remotely controlled sackbots in my level (they are bunnies with melee weapons) and all I need to do is detect who has the highest score after a sequencer's time has ended, so maybe I can somehow filter the score sensor's signal back to only the player who owns that signal?

If this is possible, I don't understand how to do it. Do the colors you choose for things actually change what they affect, aside from tags? So, could I plug the score sensor into all four players' sackbots and plug them into something that only reads signals belonging to that player? Not sure if there's a way to do this, I thought the colors for logic were just for visuals.


Thanks for your help,

Alex
2010-12-28 00:33:00

Author:
Alic
Posts: 81


After a bit of testing, the score sensor doesn't even seem to care who has the highest score in a competitive game. I tested it by hooking the score sensor to a score giver, which was set to only give the reward to the player who activated it. As far as I can tell, the signal ownership of the score sensor output had nothing to do with who had reached the target score first -- instead, it seemed to do with which player was closer to the score sensor. So, in my case, whoever happened to be in the direct control seat closer to the score sensor always got the score giver reward, even if they had zero points at the time.

Gonna have to do a crazy workaround to get what I want, I think.
2010-12-28 03:27:00

Author:
Alic
Posts: 81


You might have to do some kind of internal counter of your own to do it, I'm also a little disappointed that the score sensor isn't as precise as we'd like.2010-12-28 03:30:00

Author:
Foofles
Posts: 2278


As Foofles say, if that fails the custom point counter seems only way around.2010-12-28 04:05:00

Author:
Shadowriver
Posts: 3991


Yeah, I just built an invisible custom point counter that matches up with the points in game. I'm just storing the points in one speed scale timer for each player. Might need to ask a question about how to figure out which timer is the most full and then how to make something happen to the player linked to that timer, but I think I may be able to get it myself. I'll see what I can come up with tomorrow. Thanks for the help, guys.

Alex
2010-12-28 10:07:00

Author:
Alic
Posts: 81


Well you will need to preform analog signal processing, so read rtm223 blog if you don't have any idea about that.

First thing that come in my head is fact if player have highest score, when you try subtract with other people scores using direction combiner signal from it all signals should be positive and to detect polarization of signal you can use direction splitter. To detect if analog signal if higher then 0 (since directional splitter might not send you digital signal) from direction splitter you will need to use sequencer with battery, tweaked to positional input action (since sequencer got blind point at 0%).

So if all 3 of comparators on specific player score will send signal it means it have greater score then other players, which also means highest score/analog signal. Keep mind thou, analog signal precision is only 1%, so analog signal as score indicator is only best if it wont cross 100 points. You will also need to preper for situation of a draw, to detect if analog signal is the same use direction combiner, it should send 0% if both inputed signals are same.
2010-12-28 13:49:00

Author:
Shadowriver
Posts: 3991


The lack of Score Sensor options such as player specific score sensing is a real pain

I encountered the same problem in one of my levels. To combat it, I built a mechanical Exclusive Score Sensor. The level [Memory Massacre] is copyable if you want to have a look?

It probably won't work in your case though, and you might have to build something like that which Shadowriver is describing.
If you can keep the score in whole 10's up to 1000 you should be fine using analogue processing. It's no easy task though
2010-12-29 08:50:00

Author:
Slaeden-Bob
Posts: 605


I seem to have gotten it working.

Each player's timer (set on speed scale) fills up when hits are detected (the same mechanic that grants points in my game). The timer's output goes into an OR gate, which spits out the greatest value of each of the four competitors. This MAX value is then subtracted from each timer value (the timer's output is plugged into two different things) with a set of four combiners, making the analog signal of the winner equal to 0, while the analog signal of the losers is a negative number. The negative part of each signal is then passed on with the help of a splitter, into a sequencer set on positional. Each sequencer is completely covered by a battery, which is plugged into a not gate. The sequencer outputs an on signal whenever it receives a value aside from zero -- in other words, all the losers have their sequencers on, so their not gates are off. The winner has their not gate on, because their sequencer is receiving a 0 for an analog signal.

Anyway, that's probably pretty messy, but that's how I did it.

The points stored in the timer seem to be pretty accurate so far. Though I don't understand what everyone is saying about the limits of its precision.

Thanks for the help, all.

Alex

p.s.

If you want to see it in action or help test it, look for my level Little Bunny Foo Foo, which should be out in a few days.
2010-12-29 11:24:00

Author:
Alic
Posts: 81


Well you did what i said but in reversed order, but it seems look better this way and there is precision problem but you probably didn't notice yet, analog signal is 1% precise... at least as i know2010-12-29 13:27:00

Author:
Shadowriver
Posts: 3991


analog signal is 1% precise... at least as i know

It's waaaaaay more precise than that, you can detect tiny fractions of a percentage relatively easily. You can also quite easily encode fixed signals / varying signals with high precision.
2010-12-29 13:38:00

Author:
rtm223
Posts: 6497


Oh ok thanks for clarification
So there no problem then
2010-12-29 13:42:00

Author:
Shadowriver
Posts: 3991


even impact sensors detect ownership of player action. not sure how your players are scoring, but any action that incurs points received can one-shot a tag activation to coincide with 4 seperate devices for each player. as tag active states trigger cumulative logic states, the highest instance of addition at the end of a level can be decided. a selector cycle sequence for each player (with slot 100 leading to next selector if needed) will track who's position is further along the score ladder at any time. it should be even easier to track if this is a vehicle or sackbot player level, and ownership of action could be further identified in self contained logic using a timer that builds with it's relative strength detected, or even # of tags required in use. there's a lot of ways to do it.2010-12-29 13:59:00

Author:
Unknown User


Well signal ownership is very chaotic, i tested grab sensor signal ownership on multiple player, but instead of who trigger first or grabbed last as normal programmer would think by intuition, it seems it react to closest player garbing.

Also we don't know the way to compare ownership (maybe gates), so even if we would able to detect highest score player via ownership we couldn't do anything feather with that fact (or else we would experiment to find the way by compeering ownership signals and make some output from it)

So or they fix it (that i dough, since it would break levels if they not fix that already) or they add specific player tweak like in costume copying, or else it will be pain to control who get the points in some advance systems.
2010-12-29 14:19:00

Author:
Shadowriver
Posts: 3991


yeah, i support that. it would just make more sense to decide those things myself as i build.

i think, maybe, the # of players required sensors i use for extra player dummy seats on single player levels could be used to control which logic is activated and who's actions it coincides with, as long as seats always follow and are never destroyed along with the bots & vehicles.

basically the seat would be initiating actions to be tracked and tagged, and you'd detect # of positive, point incurring actions the seat sends rather than the points having their own value or using actual ownership value. The numbers players see would just be an aesthetic choice.
2010-12-29 15:11:00

Author:
Unknown User


Something I've been wondering, which is somewhat related to this topic:
Can you use points from a co-op/competitive minigame to "pay" for unlocks?

Like: "you need x points to unlock door y"?
And then, after you've unlocked door y, those points would be detracted from your score.

Would this be possible easily, or does it need a semi-complicated work-around?
2010-12-29 16:00:00

Author:
Melfice
Posts: 269


If all players then yes ofcorse in fact Luos use such bonuses in his levels, ofcorse you would need to add score givers with negative points take points from players. If individually, then we hit score sensor limitation to highest score problem again. To think about it, this practically destroys usage of points as money in multiplayer RPG2010-12-29 17:58:00

Author:
Shadowriver
Posts: 3991


If all players then yes ofcorse in fact Luos use such bonuses in his levels, ofcorse you would need to add score givers with negative points take points from players. If individually, then we hit score sensor limitation to highest score problem again. To think about it, this practically destroys usage of points as money in multiplayer RPG

That's brilliant.
Thank you!

That means, as soon as LBP2 is out, I can work on an idea for a level.
Sad that you can't have the individual player's score decrease, but so be it.

Again, thank you!
2010-12-29 18:48:00

Author:
Melfice
Posts: 269


You can have individual point deincrease, not a problem problem is with detecting individual scores so you can detect if player have points to buy something for example2010-12-29 18:57:00

Author:
Shadowriver
Posts: 3991


You can have individual point deincrease, not a problem problem is with detecting individual scores so you can detect if player have points to buy something for example

Oh... I get what you mean now.
Yeah, that's even more of a shame.

No doubt some of "our" logic wizards will throw something together soon enough, though.
2010-12-29 19:08:00

Author:
Melfice
Posts: 269


It's waaaaaay more precise than that, you can detect tiny fractions of a percentage relatively easily. You can also quite easily encode fixed signals / varying signals with high precision.


I thought it was more precise!

For one thing, I'm feeding a battery set on 1% strength into a speed scale timer for .1 seconds at a time, and the timer is keeping track of this input flawlessly. If the player activates several magnetic keys at once (which means they have scored points several times simultaneously), the analog signals are all added together and fed into the timer. The timer seems to be very, very accurate. Analog FTW!

2010-12-29 19:18:00

Author:
Alic
Posts: 81


LBPCentral Archive Statistics
Posts: 1077139    Threads: 69970    Members: 9661    Archive-Date: 2019-01-19

Datenschutz
Aus dem Archiv wurden alle persönlichen Daten wie Name, Anschrift, Email etc. - aber auch sämtliche Inhalte wie z.B. persönliche Nachrichten - entfernt.
Die Nutzung dieser Webseite erfolgt ohne Speicherung personenbezogener Daten. Es werden keinerlei Cookies, Logs, 3rd-Party-Plugins etc. verwendet.