I've searched the mailing list, but didn't find anything like this.

So: I'd like to try to implement a feature which could improve replayability
and pander to OCD players like myself: On the levelset screens, what about
displaying a "grade" of your performance based on how many Pingus you
rescued (PR from here on)?

I'd like to do this because I have a bit of programming experience, but very
little with C++ and larger projects. This could be a fun and goal-oriented
way for me to learn a little. And I'd like to have the feature :)

For the feature itself I'm thinking something like 1-3 stars (or whatever),
for instance:

1 - Saving the minimum amount of Pingus
2 - Finding an alternative /faster route which saves more
3 - Congrats, you equalled (or outsmarted) the level designer

For some levels this won't really make a difference as it's basically all or
nothing, but there are many in which you can find an obscure way to avoid
using those instant bombers. Maybe two grades would suffice. Or one could
make it dynamic, so you could supply from 1-n PR values based on how many
possible paths/strategies there are in the level.

As far as I can see from inspecting the source this would require a few
changes:

Editor: You would have to be able to set the required PR for each grade in
the level editor. Currently the editor saves only the minimum PR. This
should be saved with the level file, which requires additions to the level
data structure and the editor GUI. As far as I could tell this would be
backwards compatible because non-existent ore superfluous values in the
level file are just ignored?

Selection of values: Of course the level creator would be the best judge of
what the values should be, but if the values were missing one would have to
pick some sensible defaults (minimum = 3 or something). I haven't really
thought of a way to enable users to submit top scores, but it might be a
solution to accept new top values by video proof or something like that. In
the future :)

Level selector screen: PR for completed levels are already stored, so the
save file format need not be changed. One would only need to add logic to
evaluate the values and display them.

I've probably missed something, but that's all I could think of for now.

So, any comments? Is this useful? To add most value this would require
updating all level files, but I believe that the basic functionality is
implementable by yours truly.

-- 
Anders Skogheim Liane
GPG Public Key http://krig.nl/konsert/anders/gpg
_______________________________________________
Pingus-Devel mailing list
Pingus-Devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/pingus-devel

Reply via email to