Season #2 concept



  • @artch If you keep the score separately for each type, you could sort them by value DESC. Each index would increase the multiplier to reward having score equally in as much as types possible.

    Example: Player AggressiveNoobSlayer wipes everyone and gets 1k score op type A. His score is 1000.

    Player FriendlyNeighbour works together and gets 500 A, 250 B, 150 C and 100 D : 500 * 1 + 250 * 2 + 150 * 3 + 4 * 100 = 1850.

    Those are extreme examples of the multipliers but make it easy to explain. Also: Have you considered sharing the score between the room owner and player that turns it in? This would prevent an alliance boosting a single player which is the biggest concern with enforcing team play IMO.

    This would force me from wiping everyone around me with the proposed rules to actually work together. Please don't forget about the players which actually want to see FFA gameplay, maybe alternating the seasons with FFA and teams?



  • @bogden said in Season #2 concept:

    As far as new player goals are concerned, I think seasonal is a wonderful format to get people started in a friendlier and safer environment without totally messing up the core gameplay of regular screeps.

    I think this is an interesting point. I think the opposite: seasonal should be a competetive environment compared to the tame MMO experience that most people have. MMO is friendly and safe. Seasonal should be more competetive.

    The challenge is to have it competative at the high end and at the low end. I think season 1 struggled there. It's not yet clear to me whether the rules proposed will change this: eg. a strong player has little incentive to keep a weak player with a score type the strong player (or a strong players' alliance) already owns alive. The rules heavily favour pre-season organisation, which I think leaves a lot of weak or new players behind.

    I still think the best way to achieve competition across all levels is to make the world non-uniform so there are good regions where strong players will want to be, and worse areas with less reward where lower level players can only have other low level players as competition.

    👏👍


  • @tigga said in Season #2 concept:

    I still think the best way to achieve competition across all levels is to make the world non-uniform so there are good regions where strong players will want to be, and worse areas with less reward where lower level players can only have other low level players as competition.

    For non-uniform world, my issue is that it leaves bigger parts of it less-usable and discourages respawning into 'worse' zones. Weaker players are not much affected by that since they don't have codebase with features that would get impacted by that. For 'medicore' players that starts to be a bigger impact.

    So from good player perspective 'Center' makes sense, for weak-player there's no difference, for medicore one it's either center/close to center and then respawn into worse area after wipe, or just start in worse area and have a boring/limited play



  • @gadjung said in Season #2 concept:

    @tigga said in Season #2 concept:

    I still think the best way to achieve competition across all levels is to make the world non-uniform so there are good regions where strong players will want to be, and worse areas with less reward where lower level players can only have other low level players as competition.

    For non-uniform world, my issue is that it leaves bigger parts of it less-usable and discourages respawning into 'worse' zones. Weaker players are not much affected by that since they don't have codebase with features that would get impacted by that. For 'medicore' players that starts to be a bigger impact.

    So from good player perspective 'Center' makes sense, for weak-player there's no difference, for medicore one it's either center/close to center and then respawn into worse area after wipe, or just start in worse area and have a boring/limited play

    Why would it be boring/limited? You'd still be competing against others in your neighbourhood and it would be more fair competition and more likely to be fruitful as you're likely competing for similar scoreboard positions.


  • Dev Team

    @qzarstb said in Season #2 concept:

    If you keep the score separately for each type, you could sort them by value DESC. Each index would increase the multiplier to reward having score equally in as much as types possible. Example: Player AggressiveNoobSlayer wipes everyone and gets 1k score op type A. His score is 1000. Player FriendlyNeighbour works together and gets 500 A, 250 B, 150 C and 100 D : 500 * 1 + 250 * 2 + 150 * 3 + 4 * 100 = 1850.

    So this is only the final result, but how do we display the ranking during the season? We somehow should display score for every symbol then.

    Have you considered sharing the score between the room owner and player that turns it in? This would prevent an alliance boosting a single player which is the biggest concern with enforcing team play IMO.

    How exactly would it prevent that?

    Please don't forget about the players which actually want to see FFA gameplay, maybe alternating the seasons with FFA and teams?

    Absolutely. We have just started to experiment with different ideas, and future seasons will introduce more such experiments. For example, we might want to try some global co-op mechanic in Season #3.



  • @artch Chronicle would still show total score (but perhaps periodically cached values in stead of real-time). The type-specific amounts could be shown when you select the deposit structure.

    Sharing score with room owner/depositor does not fully prevent in-alliance boosting but it would at least be limited. The "boosted" player would only get half the score from everything he deposits in rooms owned by his alliance mates. This would also result in the small players getting score on the board if an aggressive neighbour forces them to give their score (like what smaykit and I have this season).


  • Dev Team

    @qzarstb said in Season #2 concept:

    @artch Chronicle would still show total score (but perhaps periodically cached values in stead of real-time). The type-specific amounts could be shown when you select the deposit structure.

    We cannot display properties of a player in the info panel of an object. Actually, we don't have a place in the UI to display these separate score, it would be accessible only through the API (like Game.symbols).

    Sharing score with room owner/depositor does not fully prevent in-alliance boosting but it would at least be limited. The "boosted" player would only get half the score from everything he deposits in rooms owned by his alliance mates. This would also result in the small players getting score on the board if an aggressive neighbour forces them to give their score (like what smaykit and I have this season).

    What about scoring in my own rooms?



  • @artch before you do a coop season I think you're really going to need to implement a way for player scripts to send messages to each other directly. The public segment is ok for alliances, but it's no good for more ad-hoc interactions, and creep.say() is far too limited for this purpose.

    Edit: "public segment", not interShardSegment!



  • @systemparadox I don't see how public segments or terminal.send descriptions don't fulfill that role.

    👍


  • @robalian said in Season #2 concept:

    @systemparadox I don't see how public segments or terminal.send descriptions don't fulfill that role.

    Public segments are a pain to work with. You have to constantly poll it instead of receiving an event. There's no way for the other side to know that you got the message unless you setup some sort of acknowledgment system and they also poll you.

    If you've got two people closely cooperating you can make it work, but it becomes messy fast if you start to involve more people. Everyone has to parse the entire segment all the time, even if most of it is meant for other people, which is a waste, it's confusing, and there's no privacy - everyone can see everything in the public segment. If you've got a large alliance the best option is to designate some as a "master" to coordinate everything, but then that person has to poll everyone else, and you can only read one at a time so now it's really slow.

    It's completely useless for ad-hoc communication. If I want to setup something where my bot will automatically negotiate and provide some service for exchange or fee, I can use controller signs or creep.say to broadcast this and public segments to provide information. The only way someone else can engage with this is to move a creep into my room and use creep.say, which is far too limited.

    Descriptions for terminal.send do nothing to help this (as an aside, why can we only add descriptions to terminal.send and not terminal.deal?). Why do I have to waste terminal cooldown time to send a simple message? What if I don't have a terminal, or any resources to send, or I'm busy, you know, using it to actually trade!!? Or you don't have a terminal, or your terminal is full?

    Besides, terminal.send isn't even an option in seasonal, as it's disabled between players.