How to win a round...

Discussions about everything, SMR related or not.
Post Reply
Dilbert
Quiet One
Posts: 159
Joined: Mon Jan 12, 2004 10:49 pm
Location: England

How to win a round...

Post by Dilbert »

This may seem odd but I never know who wins or who loses, individually or alliances. We all go abouy building rocks then there are 2 alliances trying to pb the other and once one succeeds the other alliance goes dormant till the round ends. We have a winner but there isn't really an end.

So I got to thinking could we have rounds where the objective is to be the first alliance or individual to reach a limit either of xp, traded profit, kills or top level planets held for a time?

This could allow for many different game types and it would show a clear winner. And subsequent rounds could allow for drafts. I.e if you came dead last you get a starting bonus of a better ship or more starting cash to try and even the playing field. If you then can be the number 1 player 2 games in a row you really would be the best!

What does everyone think to the idea?
In order to stab someone in the back, you first must be 100% behind them!
Astax
SMR Coder
Posts: 317
Joined: Thu Aug 15, 2002 9:55 pm

Re: How to win a round...

Post by Astax »

Hi Dilbert. Generally rounds end after some time, or if one alliance just goes dormant. It is hardly perfect.... The Ikky gain does have a victory condition... I forget what it is but I think you need 5 built up rocks to win. And future mini games will have conditions also. There is nothing in code however to set such conditions nor to monitor it automatically.

And all your ideas are great, but in normal rounds I think the goal is not to end it arbitrarily. Some people do have personal goals, and ending the round too early can really tick people off. However, it is always up to further discussion :)
Dilbert
Quiet One
Posts: 159
Joined: Mon Jan 12, 2004 10:49 pm
Location: England

Re: How to win a round...

Post by Dilbert »

Hi astax thanks for replying, I agree that the way to win a round does seem to be "force another alliance into dormancy". My personal ambition most games is to be number one in the profit ranking to help my alliance.

The ikky game is 5 top level planets, and I like it but it seems that it was killed off quite quickly by one alliance pb'ing everyone except one other alliance.

I just like the idea of a game where you can lose all your planets, be hunted out of existence but knowing if you dont just give in and wait for the next round, if instead you get out and trade just a little to get that last 100m of profit as a team, then your team could still win.

Or if you have an individual round whereby you have to work alone to get 20 kills to win the round in a fps style death match. It would add a variation and provide the sense of purpose and achievement that at the moment I personally think this game is kinda lacking.
In order to stab someone in the back, you first must be 100% behind them!
Freon22
Beginner Spam Artist
Posts: 3278
Joined: Wed Apr 17, 2002 10:09 pm
Location: USA
Contact:

Re: How to win a round...

Post by Freon22 »

There was a time many years ago when it was talked about having a clear alliance winner. I looked but could not find it but I did find in my files where I had coded a winner. I has written this back in 2011, I know I was talking to someone about how to have a clear alliance winner.

The formals are to keep the number low so they are easier to read and understand. The first part if(trader) && (trader_level <=10) mean that if you kill a trader and that trader is level 10 or below you only get half a point. I did that to slow down hunter from padding the score by killing more newbies. I also added thing to help keep players playing, if you look you will see that you get 2 points for claiming a planet if you lose that planet you only lose 1 point. There are other thing to keep the scoring fair.

I had coded this in C# because I added it to a game that I was working on. I only half finished the game and stopped when I could no longer find enough free time.

Anyway I just stopped by and seen your post and felt that having a clear winner alliance would be good.

Edit: These codes were never tested and would more then likely need to be adjusted and/or changed.

Code: Select all

The alliance with the highest score is the winner. If there is something you do not understand please ask. 

Alliance Score

						Total

						if (trader) && (trader_level <= 10)
						    kill = 0.5;
Kills				=		456 // 1 equals 1

Deaths				=		185 // 1 equals 1

Experience gain			=		Math.Sqrt(5925456) / 30; // = 81.1408651666964
						

Experience loss			=		Math.Sqrt(522412) / 15; // = 48.1853827536019
						

Money gain 			=		Math.Sqrt(5980456392) / 200; // = 386.667052902106


Money Spend 			=		Math.Sqrt(4876347259) / 300; // = 232.769491581502

						
						int planet_level = 70;
        					if (planet_level <= 10)
            					    planet_level = 0;
        					int Planet_score;
Planet Bust			=		Planet_score = (int)Math.Pow(planet_level, 3) / 15;
        					Planet_score = (int)Math.Sqrt(Planet_score);
		
						
Planets Claimed			=		22 * 2 // = 44    2 points for each planet claimed

Planets Loss			=		18 // 1 equals 1


Successful Port Raid		=		port_level = port_level



	// Math.Sqrt returns the square root of a number.
        // Experience Gain
        int exper_gain = 5925456;
        double Exper_gain_score;
        Exper_gain_score = Math.Sqrt(exper_gain) / 30;         
        lblExper_gain.Text = string.Format("Experience gain of {0} gives a score of {1}", exper_gain.ToString(), Exper_gain_score);

        //Experience Loss
        int exper_loss = 522412;
        double Exper_loss_score;
        Exper_loss_score = Math.Sqrt(exper_loss) / 15;
        lblExper_loss.Text = string.Format("Experience loss of {0} gives a score of {1}", exper_loss.ToString(), Exper_loss_score);

        // Money gain
        long money_gain = 5980456392;
        double M_G_score;
        M_G_score = Math.Sqrt(money_gain) / 200;
        lblMoney_gain.Text = string.Format("Money gain {0} give a score of {1}", money_gain, M_G_score);

        // Money spend
        long money_spend = 4876347259;
        double M_S_score;
        M_S_score = Math.Sqrt(money_spend) / 300;
        lblMoney_spend.Text = string.Format("Money spent {0} give a score of {1}", money_spend, M_S_score);
        
        // Planet bust
        int planet_level = 70;
        if (planet_level <= 10)
            planet_level = 0;
        int Pscore;
        Pscore = (int)Math.Pow(planet_level, 3) / 15;
        Pscore = (int)Math.Sqrt(Pscore);
        lblPlanet_bust.Text = string.Format("The score of busting a level {0} planet is {1}", planet_level, Pscore);

        //int planet_level = 95;
        //int Pscore;
        //Pscore = (int)Math.Pow(planet_level, 3) / 90;
        //Pscore = (int)Math.Sqrt(Pscore);
        //lblPlanet_bust.Text = string.Format("The score of busting a level {0} planet is {1}", planet_level, Pscore);

        //(Kills – Deaths) + (Exper_gain – Exper_loss_Deaths) + (Money_gain – Money_spend) + 
        // Planet_bust + Port_raid (Planets_claimed – Planets_loss) = Score   

        int totalScore;
        totalScore = (456 - 185) + ((int)81.1408651666964 - (int)48.1853827536019) + ((int)386.667052902106 - (int)232.769491581502) + 151 + 489 + (44 - 18);
        lblTotal_score.Text = string.Format("This alliance total score is {0}.", totalScore);




  (Kills – Deaths) + (Exper_gain – Exper_loss_Deaths) + (Money_gain – Money_spend) + 
   Planet_bust + Port_raid + (Planets_claimed – Planets_loss) = Score     

(456 – 185) + (81 – 48) + (387 – 233) + 151 + 489 + (44 – 18) = 1124 Score


Dilbert
Quiet One
Posts: 159
Joined: Mon Jan 12, 2004 10:49 pm
Location: England

Re: How to win a round...

Post by Dilbert »

Freon that looks quite cool from what I understand of it, and would definitely be great for the type of big round we have going on at the moment :)

I think it would be cool to have a proper objective to aim for as it gives a clear direction and understanding of whats the end game.

I think if we had smaller style rounds around this it could generate more interest too.

Eg speed style rounds who can get to 200k xp first without alliances or first to so many kills / who can stay alive the longest whilst maintaining a certain amount of xp growth a week (to prevent someone trying to sit in fed all game)

Its probably not possible to do everything but I think this game is still great and apart from my lack of ability to pr or pb it is still a fantastic way to kill a few hours every day and it's simple enough, and retro enough that a few fun quick interesting games could encourage new players maybe?
In order to stab someone in the back, you first must be 100% behind them!
XDemonX
Newbie Spam Artist
Posts: 657
Joined: Sat Nov 16, 2002 4:28 am
Location: Highland
Contact:

Re: How to win a round...

Post by XDemonX »

You can't do a crazy formula or anything that will confuse people (example is how poorly the playerscore system works).

Only way to do it is have different conditions for different games.

For example for normal round the admins could decide first alliance to own 5 max level planets and hold for a certain period of time. Once an alliance has lets say 5 max level planets the leader will notify an admin. The admin will then send an admin message letting the game know for example "System Failure now owns 5 max level planets! 72hour countdown starts now!" once that countdown starts one of their planets must be busted within that 72 hour mark to prevent the game from ending (successfully busted not just people taking shots at the planet dropping ti a few levels without actually busting the planet). This would be the most common method. Now, you could add other conditions as well such as:

Own 3 Max level planets and 1,000,000 total experience
Own 3 Max level planets and 2,000,000 profit
Own 3 Max level planets and have alliance account above 2,000,000,000
Own 3 Max level planets and sacrifice 2,000,000,000 (Send an admin 2,000,000,000 via annon account)
Own 3 Max level planets and yield 1,000,000,000 from port raids.

Could even do other options I am just throwing out some examples. Admins could create maps to cater to the conditions they want to win.

You could add some kill benchmarks in there as well but experience works a little bit better because of activity. The point of this being if the game starts to get inactive (such as it is now) an alliance could end it instead of the admin team randomally ending it or the time expires (like it normallyl does).

An alliance would have to break one of the conditions to reset the clock. Depending on how these games go, other conditions could be made as well such lets say Alliance 1 has initiated the win process and Alliance 2/3 have 72 hours to bust Alliance 1, lets say Alliance 2/3 successfully busts one of Alliance 1's planets now, if the admins can decide how the clock is reset. So lets say if Alliance 1 retakes that planet within 12-24 hours then the clock continues so Alliance 2/3 would have to hold that planet for 12-24 hours to reset the clock. This is to prevent inactive alliances rallying together for 1 op every once in a while, busting a planet or two down then not opping for another week+ (or however long it takes for Alliance 1 to rebuild the rock to max and initiate the win process again).

This will also put more strategy in play for alliances to play differently. Along with the game wins I would love a new stat in hall of fame such as "Games Won". Very simple to code. That small stat will give people motivation to win. Global stats give people motivaton to play!

Since several admins/coders are looking at this. Please look into getting player profiles incorporated with a new ranking system (RCK and I came up with one on suggestions).
This is a beat, you just can't touch.....
Image
Dilbert
Quiet One
Posts: 159
Joined: Mon Jan 12, 2004 10:49 pm
Location: England

Re: How to win a round...

Post by Dilbert »

xDx that's exactly what I mean in terms of extra motivation for preventing inactivity and you're right it doesnt actually need code it could quite easily be based on admins controlling the win conditions! I just think of the games that I enjoy playing regularly are the ones I win and lose and can learn to try amd win... I think this potentially misses the mark in that element of purpose.
In order to stab someone in the back, you first must be 100% behind them!
silverx2
Quiet One
Posts: 425
Joined: Sun Jun 23, 2002 3:36 am
Contact:

Re: How to win a round...

Post by silverx2 »

I don't think that's really enough.

it should be based on a mercy rule

If one alliance is SO far ahead of another alliance the other alliance wins.

Another potential endgame is maybe an alliance builds a "doomsday" device, which once completed puts the game into completed mode.

and example, Alliance 1 has beaten alliance 2 into a pulp, with no one to contest them they start creating their SMM this is like building a planet, except it needs a constant feeding of supplies and money, something that would require the majority of its players to trade in order to properly build it. This gives alliance 2 a chance to build up again while alliance 1 is focused on completing the game, maybe resulting in one last ditch effort to stop alliance 1.

If alliance 1 completes the SMM, the game is over, All other alliances are given 1 trillion credits(the ability to make another SMM removed), and it becomes a round of Kill the SMM while admins create the next round.
i killed orca.
XDemonX
Newbie Spam Artist
Posts: 657
Joined: Sat Nov 16, 2002 4:28 am
Location: Highland
Contact:

Re: How to win a round...

Post by XDemonX »

silverx2 wrote:I don't think that's really enough.

it should be based on a mercy rule

If one alliance is SO far ahead of another alliance the other alliance wins.

Another potential endgame is maybe an alliance builds a "doomsday" device, which once completed puts the game into completed mode.

and example, Alliance 1 has beaten alliance 2 into a pulp, with no one to contest them they start creating their SMM this is like building a planet, except it needs a constant feeding of supplies and money, something that would require the majority of its players to trade in order to properly build it. This gives alliance 2 a chance to build up again while alliance 1 is focused on completing the game, maybe resulting in one last ditch effort to stop alliance 1.

If alliance 1 completes the SMM, the game is over, All other alliances are given 1 trillion credits(the ability to make another SMM removed), and it becomes a round of Kill the SMM while admins create the next round.
The problem with the "mercy rule" which is already pretty much in place now is too many people go inactive or quit in that week or so downtime. The SMM idea just sounds like stat padding to me. Don't think there is a way to turn off stats.

A win condition needs to be made and admins should make a new game a couple weeks into the start of the current game. I can never figure out why the admin team waits until the game ends to start making a new one. You want to keep players interested, not just the winning team. As soon as a team loses a new game should start seamlessly.
This is a beat, you just can't touch.....
Image
XDemonX
Newbie Spam Artist
Posts: 657
Joined: Sat Nov 16, 2002 4:28 am
Location: Highland
Contact:

Re: How to win a round...

Post by XDemonX »

silverx2 wrote:I don't think that's really enough.

it should be based on a mercy rule

If one alliance is SO far ahead of another alliance the other alliance wins.

Another potential endgame is maybe an alliance builds a "doomsday" device, which once completed puts the game into completed mode.

and example, Alliance 1 has beaten alliance 2 into a pulp, with no one to contest them they start creating their SMM this is like building a planet, except it needs a constant feeding of supplies and money, something that would require the majority of its players to trade in order to properly build it. This gives alliance 2 a chance to build up again while alliance 1 is focused on completing the game, maybe resulting in one last ditch effort to stop alliance 1.

If alliance 1 completes the SMM, the game is over, All other alliances are given 1 trillion credits(the ability to make another SMM removed), and it becomes a round of Kill the SMM while admins create the next round.
The problem with the "mercy rule" which is already pretty much in place now is too many people go inactive or quit in that week or so downtime. The SMM idea just sounds like stat padding to me. Don't think there is a way to turn off stats.

A win condition needs to be made and admins should make a new game a couple weeks into the start of the current game. I can never figure out why the admin team waits until the game ends to start making a new one. You want to keep players interested, not just the winning team. As soon as a team loses a new game should start seamlessly.
This is a beat, you just can't touch.....
Image
Post Reply