Author Topic: computing score  (Read 4776 times)

0 Members and 1 Guest are viewing this topic.

Offline LJLPM

  • Posts: 402
    • View Profile
computing score
« on: September 13, 2014, 04:39:44 PM »
Hello,
the Android game I'm coding doesn't handle scores (but, of course, I do handle and save the following level stats: % saved, nbSkills, and time).
I would like to know if you would like to see scores in the game, and if yes, what would be an efficient algorithm to compute scores.
Thank you!

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: computing score
« Reply #1 on: September 16, 2014, 05:32:57 PM »
While opinions may vary as to how good the NeoLemmix algorithm is (for example, some people think lemmings saved should be the highest priority, with skills used as second, and finally time as least significant; whereas the NeoLemmix algorithm tries to balance all three factors as well as a couple of other minor details), feel free to use it (or a derivative of it) or just read how it works to get ideas:

https://www.dropbox.com/s/nbjox4n1jhxhuy9/Score%20Mechanics.txt?dl=0
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline Proxima

  • Posts: 4569
    • View Profile
Re: computing score
« Reply #2 on: September 16, 2014, 06:00:32 PM »
I would like to things as simple as possible -- which for scoring systems has the advantage that it's easy for the player to know what they need to do to improve their score.

SNES lemmings uses the formula (100 x % saved) + skills remaining, which in my opinion undervalues skills and doesn't take time into account at all.

My suggestion would be (100 x % saved) + (10 x skills remaining) + seconds remaining. (If untimed levels exist in your game, score them as if they had a time limit of 10 minutes.)

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: computing score
« Reply #3 on: September 16, 2014, 06:08:32 PM »
I would definitely suggest though, implement the time (and perhaps even the skills? - this is probably something I should change) in the same way NeoLemmix does - in other words, the score is only updated when a lemming is saved, not every time a second passes. This is so that it isn't a rush to exit the level as quickly as possible after saving the last lemming.
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Online Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: computing score
« Reply #4 on: September 17, 2014, 09:24:54 AM »
for example, some people think lemmings saved should be the highest priority, with skills used as second, and finally time as least significant

Yes, and with two good reasons.

If a scoring system doesn't match the user's valuation, it will be ignored.

When ranking lemmings first, then skills, then time, it is easy to compare solutions at a glance before they are even executed. If a skill were worth 10 seconds (the necessary choice of arbitrary number feels already bad), it would not be so clear. If a skill were worth some arbitrary, very large number of seconds, you get an obfuscated version of (lemmings first, then skills, then time).

The only benefit I see in a mashed-together scoring system is slight ease of implementation, because the programmer has to save a single value only. I don't see any other use of mashing everything into a single number, because the player doesn't think like this at all. Slight ease of implementation should be shunned in comparison to a more natural-feeling system.

Also, ime limits are not the norm anymore in contemporary level design, except where it's the only way to fix backroutes. Compute solution times as if there were no time limit, counting up from zero.

Quote from: namida
in other words, the score is only updated when a lemming is saved, not every time a second passes. This is so that it isn't a rush to exit the level as quickly as possible after saving the last lemming.

This is a very important and excellent suggestion.

-- Simon

Offline Proxima

  • Posts: 4569
    • View Profile
Re: computing score
« Reply #5 on: September 17, 2014, 04:36:59 PM »
If a scoring system doesn't match the user's valuation, it will be ignored.

That is simply not true. I have some experience in this area, as I'm the main tester for the Repton series, and I've had some in-depth discussions of scoring systems for new versions with Richard Hanson, the series' lead developer. The main point of having a scoring system (in Repton -- I'll revert to Lemmings further down) is to reward skilful play, give the player a sense of what can be achieved so they can challenge themselves, and allow players to compete and compare their results with others. Expressing this as a single number is psychologically satisfying and makes comparison easy, without precluding specific challenges like completing certain levels without taking a time capsule.

Having a scoring system means that we have to make some decisions about numerical values -- e.g. a diamond is worth 5 points, killing a monster is worth 20. This is never going to "match the user's valuation", because everyone who's played the game knows that some monsters are extremely easy to kill, and there are some levels you can almost complete, but there's one last diamond that's always the problem. But regardless of what scoring system ends up being chosen, I know that in each new game that comes out, I'm just going to compete to try to get the highest score I can within that system.

Lemmings (except SNES) has always had number saved as the only metric actually scored, and I've enjoyed playing to try to save as many as possible. But I think for a new game, it would be more interesting to have a scoring system that incorporated other features.

Quote
When ranking lemmings first, then skills, then time, it is easy to compare solutions at a glance before they are even executed.

Yes: certainly an advantage to an even simpler system. But the downside is that it prioritises just one element of gameplay and makes all others nearly irrelevant. Whether the advantage outweighs the downside is a matter of taste.

Quote
I don't see any other use of mashing everything into a single number, because the player doesn't think like this at all.

Numerical scoring systems have been part of computer gaming since the beginning, so there must be a reason they've stuck around so long. (I think the main reasons are, as I said, psychological satisfaction and ease of comparison.) And don't tell me how I do or do not think. That's plain rude.

Quote
Also, time limits are not the norm any more in contemporary level design, except where it's the only way to fix backroutes. Compute solution times as if there were no time limit, counting up from zero.

The question of whether there should be a limit for time scoring is entirely separate from the issue of time limits in gameplay. A time limit in scoring is useful because it allows a scoring system to be tailored to the majority of levels, while still allowing exceptional levels (like Tribute to Benny Hill) to exist without time ending up overwhelming other factors.

As for time limits in gameplay, I don't want to go over old arguments again. I'll just say that there is no "norm". We all have different tastes. You've made yours clear, and for my contributions to the Lix community set, I've gone along with that to the extent of removing time limits except where I felt particularly strongly that I wanted to keep them. I think I would have kept more if I'd been making a custom pack by myself, because that suits the style of gameplay I prefer. I wish you would stop saying that my tastes are somehow "wrong".

Offline ccexplore

  • Posts: 5311
    • View Profile
Re: computing score
« Reply #6 on: September 17, 2014, 05:33:03 PM »
Hmm, someone in a bad mood today?

I wish you would stop saying that my tastes are somehow "wrong".

I don't think Simon was intentionally saying such things, though I can see how it often comes out sounding like that, as it is often argued about like a mathematical proof coming to some inevitable and irrefutable conclusion.

And yeah, we are all well aware of Simon's passionate crusade against time limits, apparently getting to a point where he seems to have confused time limits in levels with the use of time as a component of a scoring or ranking system of the player's performance on a level.  (Either that, or I'm misreading the proposal on how scores are getting computed.)  Certainly levels can give the player unlimited time to solve but still choose to reward the solutions requiring the least time to complete.

====================

The use of single numerical score vs is an interesting debate for which I sadly lack the time currently to think and say more.  It is clear if you look past computer games into the more traditional board games, sports, gaming in general, most use single numerical scoring.  The simplicity definitely works in its favor, but I think it is also the case that in most of these games, there is perhaps really just one or two elements worth ranking the player's performance for, so it makes sense to capture as a single number rather than keeping multiple components for ranking.  In the case of Lemmings-like game though maybe it is not so clear cut, with at least 3 factors (number saved, skill usage and time usage) each being interesting in its own way in challenging the player.  On gut level I favor Simon's proposal more, yet I don't know if I can just dismiss Proxima's argument that it may over-prioritize one element of gameplay over the others (though I'm not sure I agree it would go quite as far as "make all others nearly irrelevant").  Of course, having a score system still invites debate over whether the system is prioritizing the various elements in a "fair" and "balanced" way especially given the diversity of levels and solutions that exemplifies Lemmings-like games (going back to Simon's counterargument about the arbitrariness of weighing the different components to yield a single numerical score).  I also have to think about Simon's proposal in the context of games like Super Mario Bros.--is it really better there if we separately count (say) time, number of enemies dispatched, number of items collected, etc. there rather than combining them into a single score like the game does?  What are the differences there vs here that affect whether single numerical scoring is preferred?

Anyway, one thing I know for sure:  the official Lemmings game (discounting SNES version) effectively use a very simple scoring system that only takes one element into account (number saved).  That hasn't bothered me much, and at the same time the community is inventive enough to come up with countless variations based on many other criteria (aka our challenges thread here), many of which ends up quite fun and interesting in their own right.  So I think for me it won't matter much how (or even if) the scoring or ranking system is done "officially by the game"--however it gets implemented, I won't be bothered by its existence and acknowledge that it will be interesting for some people, but I expect that the community will come up with other ways on their own anyway like we did with challenges.

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: computing score
« Reply #7 on: September 17, 2014, 05:44:15 PM »
And yeah, we are all well aware of Simon's passionate crusade against time limits, apparently getting to a point where he seems to have confused time limits in levels with the use of time as a component of a scoring or ranking system of the player's performance on a level.  (Either that, or I'm misreading the proposal on how scores are getting computed.)  Certainly levels can give the player unlimited time to solve but still choose to reward the solutions requiring the least time to complete.

I think the point here was more that because time limits are supposedly falling out of favor (although I must say that every pack I've made or played recently has at least some levels where time is one factor), at least with some authors, it's better to score them on time taken than time remaining. For example, a score for Mayhem 16 would be calculated based on that you took 50 seconds, not that you have 10 seconds remaining. The other benefit to this way is that if the time limit were changed, the score would still remain the same for the same solution. Ultimately, whether a time limit is a good idea or not depends on how it's used, which is true of most factors in a lemmings level - compare Taxing 11 (where the time limit only really serves to be annoying) to Mayhem 16 (where the time limit is more or less the point of the level).
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline ccexplore

  • Posts: 5311
    • View Profile
Re: computing score
« Reply #8 on: September 17, 2014, 10:25:22 PM »
Ah okay, that makes sense.

Though now I think of it, this does make calculating a score more troublesome, since we want "less time taken is better", but with numerical scoring one wants "higher score better", so we can't just directly use the amount of time taken.  Which is why I guess in most other games with single numerical scoring systems, they use time remaining. :XD:

Online Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: computing score
« Reply #9 on: September 17, 2014, 10:32:23 PM »
apparently getting to a point where he seems to have confused time limits in levels with the use of time as a component of a scoring or ranking system
I think the point here was more that because time limits are supposedly falling out of favor

Yes, I meant this. It's useful because there exist levels without time limit, or because the time limit might change without affecting the solution. Asserting normalness of anything was unnecessary.

I will concede the point around "the player thinks like this". I will assert that many players think like this.

Arbitrary/mashup scoring, like time limits, I deem it a design leftover from the early days of video gaming. When it's the main objective of a game, fine. If not, it dwells as one of many possible playful challenges, valued only by the few strongest enthusiasts of the game -- but then again this cannot be used as an argument against lexicographic scoring.

Quote from: Proxima
Expressing this as a single number is psychologically satisfying and makes comparison easy

I don't see how a single number is more satisfying, this is the same assertion of "most people feel like this" that you refuse to buy from me. If it's a challenge and not the main objective, then why mash up three ideas arbitrarily? What is the design history of this result? Do you have levels where you cannot get/kill everything and thus have to decide what to get?

If Repton is an example for the mashed scoring, then Sokoban (moves including pushing moves rank over pushes) and Laser Tank (moves rank over shots) are examples for the lexicographic scoring. The people in those communities wouln't want to switch to mashed scoring.

-- Simon

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: computing score
« Reply #10 on: September 17, 2014, 10:55:34 PM »
One other very important point to consider...



You could easily have some algorithm to give a mashed-up score, as well as present the statistics of how many skills were used, how much time was taken / remained, etc - especially if these individual values are just presented as actual values, rather than encoding them into some kind of score.
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline LJLPM

  • Posts: 402
    • View Profile
Re: computing score
« Reply #11 on: September 17, 2014, 11:51:35 PM »
Thank you all, for your pieces of advice!
For each level, I'll probably add a mashed score (based on your inputs) to the already-saved stats (%saved, nbSkills, time used).

About the time-limit for completing levels, it's a thing I generally don't like (it's always annoying to be about to beat a level, and your efforts turn to be useless because you missed some seconds...). Nevertheless, in the Android game, there is a large 9mn time-limit allowed for each level (just to tell the player "hey, 9mn have passed, and you're still on this level! Well, it's time to think again your strategy!").

Zaphod77

  • Guest
Re: computing score
« Reply #12 on: October 03, 2014, 01:48:03 AM »
Simple all in one score

RRRKKKSSS

where RRR is percent saved, KKK is skills left unused, and SSS is 639-number of seconds passed (assuming max tiem is 9 minutes and 88 seconds. adjust for your max time.

so (1 million*level percentage)+(1000*skills remaining)+max possible seconds-number of second used=score.
This used the listed priorities, adn is very simple to calculate.

:)

Offline LJLPM

  • Posts: 402
    • View Profile
Re: computing score
« Reply #13 on: October 03, 2014, 09:25:18 AM »
I didn't have too much time to spend on the game lately, but I used the following formula for computing scores (it seems ok):
I've added a score management to the game.
Currently, the score algo = (%saved * 300) + (skills left * 30) + (time left from 9mn * 1).
(each level uses a 9mn timer)