Mangband.org rules

Official MAngband News Annoucements
Warrior
Ancient MultiHued Dragon
Posts: 662
Joined: Sat 26.10.2002, 15:00
Location: Norway
Contact:

Re: Mangband.org rules

Post by Warrior » Thu 18.09.2008, 01:09

I'm very pleased to see so many of our players participating in this important discussion :)

First of all, we're not gonna delete anyone's savefiles automatically.

This is how it is:

MAngband has an IRC room and in the IRC room there is a bot that communicates with the game server(s) at mangband.org.
This means that when someone says something while playing, we can see it and, if we wish, respond to it from IRC (and vice versa).
When someone gains a level, dies or kills a unique, we can see that too. Obviously there is also a server log that we can consult if we need to.

This means that if someone acts like an ass, being rude, annoying, obnoxious or whatever - the logs will be there. If someone starts a level 1 character and then gain 30 levels in 15 minutes from sitting in a tunnel in a wall while their level 50 friend kills wyrms - the logs will be there. The project team is not going to do anything to anyone unless it's crystal-clear that someone is way out of line. We have more than 40 years of experience between us as players, developers, maintainers and server admins of this game and believe me when I say that "We're not trying to rob you, we're trying to help you". (So, no, we're not trying to say "goodbye to rescuing" and we're not gonna delete a party with a level 43 mage and a level 50 warrior).

Again, please remember: The rules will change. This new set of rules is recycled from the old set of rules, which were from a different time.
If you guys want it I will create some polls (and accept suggestions for polls) on what kind of rules you consider fair.

However keep in mind that the project team has invested significant amounts of time and energy into the game and that we share a basic understanding of what makes MAngband (and other roguelikes) great and that is to a large extent this: the process of building a character fair and square, alone or in a party, spending time in the dungeon finding the perfect piece of equipment, figuring out what strategy to use in a certain battle, learning how to survive, knowing that your character is alive because of YOU, not because he was given great items by someone trying to "help".

I'm not saying that there's anything wrong with enjoying a free-ride but I'm fairly sure that most people will prefer the "real" role playing experience you get when you start from scratch. But - this is just my personal opinion :)
-- Mangband Project Team Member

Crimson
King Lich
Posts: 315
Joined: Sat 26.10.2002, 15:00
Location: Mangband Project Team Member
Contact:

Re: Mangband.org rules

Post by Crimson » Thu 18.09.2008, 01:46

Let me start this by agreeing with Warrior, so many interested responses here can only be a good thing.

Let's move on from there a bit, I'd like to address a few points already raised, point by point.

There have been a lot of good comments already, so let me add my take on these. Since I was one of the people that originally framed the rules, this might shed a bit more light on why.


In rule 1,
This game does take a lot of stamina, especially to eventually win, and yes, you'll die a lot in the process. This is not an excuse to later start "buffing up characters" you consider siblings or children of the main character, because that now destroys the balance of a very hard game (on purpose), and makes it less fun for everybody. And to this let me address a few finer points now so they aren't later lost in the dribble that follows.


-- MAngband is indeed a multiplayer game, but you should probably consider each character you own as playing angband instead. that means there's simply no way for your characters to interact. This is not an uncommon rule in some MMORPGS, with perhaps the exception of shared storage available with some.

-- There are allowances made for self rescues, and always have been, but not if both characters are online at the same time. this amounts to somebody else (in "your" case a different character" doing by itself what any other character could *by itself*. This preludes both being on at the same time.

-- Gifting between characters you own is paramount to cheating. Yes, there are no hard and fast rules here. No, that doesn't mean there aren't any rules here.

-- Apply some Reasonable Person Principles to this. Would you feel good about somebody else winning the game if they did this? It's a hard game. *It's supposed to be*.

All of that now having been said, let's move on a bit.

in rule 2. Ghosts are a holdover from network problems and bugs. They do not appear in Angband at all. This was a gift from the original creators of MAngband that was their way of compensating for flaws. Most of these have been addressed, and very few player deaths now are actually every really do to bugs or network issues. it does happen, but it's very rare. Ghosts are not intended for infinite lives. If you died a death you know was your fault, well, the honorable thing to do is Q. If another player is so kind to give you 500Au in addition to the already given 100Au, so be it, but that's the reasonable limit.

in rule 3. Again, this applies to player balance, and making sure the game is as fun and as challenging for you as it will be for everybody else. Gifting to effectively short selling powerful items just ruins the balance. yes, some things are horribly underpriced in the shops, but there's no way to fix that, but no, you're not supposed to just give them away either.

in rule 4. MAngband is not a mature MMORPG, and thus doesn't have the tool set in place to control power leveling characters. This again, goes back to making sure everybody has the same challenging game experience. To be honest, there is nothing but player honesty to enforce this.

in rule 5. I actually disagree with this to a certain point, I think the game should be fixed to make monsters ignore ghosts in walls and simply go after the living player instead. Probably not a hard fix. However, until that happens, this is pretty much agreed to be a fairly cheezy exploit, that good players avoid.

in rule 6. Mangband doesn't use, or particularly need more censorship, but you're expected to act like an intelligent person. There are times when yes, the silent cabal will rear up and knock you off the game if you seem to be using excessive vulgarity, since that's the sign of a fairly immature and (sorry) stupid mind.

in rule 7. littering is too easily avoided to be considered good game play, and it'll annoy you as much as it does everybody else (eventually).

in rule 8. the game should be fixed to auto-phase players in shops idle for over a minute. This also fixes a few other "exploits".

in rule 9. Sometimes you have no choice but to save in the dungeon, so when you do, you do. The game will auto-bounce the level, we should drop the timers on that below (I think 600') to near 0. You stay connected if you cared about the gear, else you just restart on a new level.
Are you not entertained?
Is this not what you came here for?

-- Maximus Decimus Meridias, The Gladiator

Ashi
Giant Mottled Ant Lion
Posts: 218
Joined: Sun 10.11.2002, 19:58

Re: Mangband.org rules

Post by Ashi » Thu 18.09.2008, 06:57

I appreciate that rule 4 was updated... not sure if anyone has noticed this yet.

As for the ghost issue, this was an old rule created because ghosts could AI bug monsters to not chase after the live character, so anyone with ranged attacks could have zero risk. Recently this bug seems to be fixed, so now the monsters go after whoever is in LOS. This is the only rule I would want to see phased out (although the chances of anyone violating the rule would be pretty low in the first place). The rest seem somewhat important, either for balance or for common courtesy.

Regarding the blasphemy and other offensive concerns, I think Crimson once disabled the creation of characters on his server with names like "Jesus" or with inappropriate words. Another, possibly simpler alternative might be to just manually create savefiles with names you want to be blacklisted, so nobody else can register them.

Rules 8 and 9 are issues of common courtesy, and I think the best way to deal with these issues is to explain how they work to people who are new to the game. Just letting people know that other players can't enter a shop when you are standing on the door, or that exiting the client while in the dungeon causes the level to static, would eliminate most of the problems in this area.

PowerWyrm
Balrog
Posts: 1574
Joined: Sun 27.11.2005, 15:57

Re: Mangband.org rules

Post by PowerWyrm » Fri 19.09.2008, 12:23

Rule #5 is obsolete. AI bug has been resolved in 1.1.1.

Crimson
King Lich
Posts: 315
Joined: Sat 26.10.2002, 15:00
Location: Mangband Project Team Member
Contact:

Re: Mangband.org rules

Post by Crimson » Sun 14.12.2008, 21:11

and, sadly, post 1.1.0, we've had our first set of real losses to players for simply not paying attention to what we consider long established rules. Any number of high level characters in game should be helping new folk gently by pointing out where behavior is a problem.
Are you not entertained?
Is this not what you came here for?

-- Maximus Decimus Meridias, The Gladiator

Ace
Crystal Ooze
Posts: 368
Joined: Fri 15.02.2008, 12:50

Re: Mangband.org rules

Post by Ace » Mon 15.12.2008, 16:33

> we've had our first set of real losses to players for simply not paying attention to what we consider long established rules

What do you mean by that? Did you kill some accounts recently?

It's just only my opinion, but an earlier post stated/began with "in every communicty sooner or later rules are established" that's correct and usually this can quickly take "overhand" and is more hampering than supplementing enjoyment for all. Often this is not seen by those who have their mindset focussed on what they think should be the "rule".

Of course I understand that it is your server, your rules and your decisions and as long as I play on it I will abide to them. But maybe you will come to the conclusion that "over regulation" is not necessary in such a small community which (i think) consists of many persons who know each other.

Well, but I guess the book is closed on this topic anyways :)

See ya all soon!

Warrior
Ancient MultiHued Dragon
Posts: 662
Joined: Sat 26.10.2002, 15:00
Location: Norway
Contact:

Re: Mangband.org rules

Post by Warrior » Sun 02.08.2009, 13:02

Update with mangband.org Ironman specific rules.

1) Do not sell/trade discounted items between characters via shops. One example:

Player 1: You sold 30 Potions of Healing {@q1} for 690 gold.
Player 2: You bought 30 Potions of Healing {90% off} for 1350 gold.

Eventually, this loophole will be removed by code changes. Until then, this is a very clear NO NO.

If anyone is aware of any other rules that would apply specifically to Ironman, please post them in this thread.
-- Mangband Project Team Member

Entloch
Pitiful-Looking Beggar
Posts: 2
Joined: Thu 02.09.2010, 05:43

Re: Mangband.org rules

Post by Entloch » Thu 02.09.2010, 05:59

First off, let me express how much I'm enjoying the implementation of MAngband. I've played *bands for decades, but this is the first time I've tried my hand online - quite addictive, to say the least!

I was perusing the rules and everything looks pretty reasonable; what troubled me, however, was this verbiage:

Remember: Ghosts do not exist in Angband at all. Playable and resurrectable ghosts were a gift from the original creators of MAngband meant to compensate for network problems and bugs. Most of these have been addressed, and very few player deaths now actually have anything to do with bugs or network issues.

Also, as posted by Crimson:

Ghosts are not intended for infinite lives. If you died a death you know was your fault, well, the honorable thing to do is Q.

My character has probably died (and resurrected as a ghost) 5 or 6 times. Should I be suiciding him after he dies each time? If I continue to run the same character after he continues to die, will it reflect badly on me? Of course, I realize ghosts don't exist in single player *bands, but I've been ascending my ghost to the surface and starting over - since I can (mostly because I like not having to re-identify potions and scrolls).

Any reply to this post would be greatly appreciated. I've no problem with suiciding every time I die, but I'd like to confirm first whether that is the norm.

Thorbear
Two-Headed Troll
Posts: 131
Joined: Wed 12.01.2005, 15:00
Contact:

Re: Mangband.org rules

Post by Thorbear » Thu 02.09.2010, 09:10

Entloch wrote:My character has probably died (and resurrected as a ghost) 5 or 6 times. Should I be suiciding him after he dies each time? If I continue to run the same character after he continues to die, will it reflect badly on me? Of course, I realize ghosts don't exist in single player *bands, but I've been ascending my ghost to the surface and starting over - since I can (mostly because I like not having to re-identify potions and scrolls).

Any reply to this post would be greatly appreciated. I've no problem with suiciding every time I die, but I'd like to confirm first whether that is the norm.
This is certainly NOT the norm =)
Most people play with ghost-mode on, and get rescued (keeping the best of their gear) when they die.
"Brave" players get higher score (for the high-scores) when they die, than what ghost-mode players do, but this is not affected by how many times you die. But "seasoned players who wants a challenge" might suicide anyhow because they want to be able to say later that they "did it without dying". =)
I am Thorbear...

Entloch
Pitiful-Looking Beggar
Posts: 2
Joined: Thu 02.09.2010, 05:43

Re: Mangband.org rules

Post by Entloch » Thu 02.09.2010, 18:40

Thanks for the reply!

Good times, I think my warrior will be "the one with many scars." :p

Eventually, I'd much rather beat the game in the traditional roguish way - without a single death.

Domiano
Crimson Mold
Posts: 55
Joined: Sat 23.04.2011, 04:10

Re: Mangband.org rules

Post by Domiano » Wed 05.12.2012, 23:27

EDIT: oh god the formatting is gone. I can send the file over directly to anybody who wants it to fix that problem :)
Due to the recent rule change that doesn't allow you to cheezily combine discounts, I suggested to Warrior that discounts average themselves.
After being lazy for a little bit, I decided to see if I could make these changes myself. The function that would have to be changed can be found here:
http://mangband.org/developer/browser/b ... t2.c#L1543

I changed it to be as such:
void object_absorb(int Ind, object_type *o_ptr, object_type *j_ptr)
{
int total = o_ptr->number + j_ptr->number;
int oInNew=o_ptr->number; //number of items in the original stack (Helps with discount average code)

/* Add together the item counts */
o_ptr->number = ((total < MAX_STACK_SIZE) ? total : (MAX_STACK_SIZE - 1));

/* Hack -- blend "known" status */
if (object_known_p(Ind, j_ptr)) object_known(o_ptr);

/* Hack -- blend "rumour" status */
if (j_ptr->ident & ID_RUMOUR) o_ptr->ident |= ID_RUMOUR;

/* Hack -- blend "mental" status */
if (j_ptr->ident & ID_MENTAL) o_ptr->ident |= ID_MENTAL;

/* Hack -- blend "inscriptions" */
if (j_ptr->note) o_ptr->note = j_ptr->note;

/* Hack -- used to save largest discount, as in the following comment XXX XXX XXX */
//if (o_ptr->discount < j_ptr->discount) o_ptr->discount = j_ptr->discount;
/* Hack -- saves average discounts XXX XXX XXX */
if (o_ptr->discount != j_ptr->discount){
if(total >= MAX_STACK_SIZE)
jInNew= MAX_STACK_SIZE - 1 - oInNew;
else
jInNew= j_ptr->number;
o_ptr->discount = (o_ptr->discount * oInNew + j_ptr->discount * jInNew)/(total);
}


}



I know Warrior hasn't talked to the dev team about this change yet, but I figured it would be good to just implement the change anyway.
I haven't tested it, since I don't have a C compiler ready. It SHOULD work, but i have 2 concerns:
What happens if an item is {on sale}?
What happens if we get weird repeating discounts like {33.33333333333333333333333333333% off}?
Thanks for your time. I'd love to see if we could get this change :)

Thorbear
Two-Headed Troll
Posts: 131
Joined: Wed 12.01.2005, 15:00
Contact:

Re: Mangband.org rules

Post by Thorbear » Thu 06.12.2012, 00:12

Domiano wrote:I haven't tested it, since I don't have a C compiler ready. It SHOULD work, but i have 2 concerns:
What happens if an item is {on sale}?
What happens if we get weird repeating discounts like {33.33333333333333333333333333333% off}?
Thanks for your time. I'd love to see if we could get this change :)
33.333% will never happen, since discounts are integer numbers.
"on sale" items have their discount set to 50, so no problem there.

I would however suggest some improvement:

Code: Select all

  if (o_ptr->discount != j_ptr->discount)
  {
    o_ptr->discount = (o_ptr->discount * (o_ptr->number - j_ptr->number) + j_ptr->discount * j_ptr->number)/ o_ptr->number;
  }
No need for those pesky extra variables, or the if/else. Also it should divide by o_ptr->number, since that is where we store the final itemcount.

EDIT:
Fixed a bug and further simplified it.
I am Thorbear...

Domiano
Crimson Mold
Posts: 55
Joined: Sat 23.04.2011, 04:10

Re: Mangband.org rules

Post by Domiano » Thu 06.12.2012, 02:26

[quote="Thorbear"]
[code]
if (o_ptr->discount != j_ptr->discount)
{
o_ptr->discount = (o_ptr->discount * (o_ptr->number - j_ptr->number) + j_ptr->discount * j_ptr->number)/ o_ptr->number;
}
[/code]
No need for those pesky extra variables, or the if/else. Also it should divide by o_ptr->number, since that is where we store the final itemcount.
[/quote]
Your right about dividing by o_tr->number, but I'm not sure if your right with (o_ptr->number - j_ptr->number). If o_ptr had 98 in it, and j_ptr had 99 in it, then you would become 99-99 (Since o_ptr becomes limited to 99 by MAX_STACK_SIZE).
You need to either know how many from o_ptr are in the new stack, or how many from j_ptr are in the new stack.

You are also right that the If/else clause is not needed, but we do need the oInNew variable i added for this, since otherwise, we won't know how many items from each stack are in the new stack.
[code]
int oInNew=o_ptr->number;

//other code where the o_ptr->number gets reassigned

if (o_ptr->discount != j_ptr->discount)
{
o_ptr->discount = (o_ptr->discount * oInNew + j_ptr->discount * (o_ptr->number - oInNew))/ o_ptr->number;
}
[code]
This should be just about right here.
Yay, transforming rule forums into code discussion forums!

Thorbear
Two-Headed Troll
Posts: 131
Joined: Wed 12.01.2005, 15:00
Contact:

Re: Mangband.org rules

Post by Thorbear » Thu 06.12.2012, 02:43

Domiano wrote:Your right about dividing by o_tr->number, but I'm not sure if your right with (o_ptr->number - j_ptr->number). If o_ptr had 98 in it, and j_ptr had 99 in it, then you would become 99-99 (Since o_ptr becomes limited to 99 by MAX_STACK_SIZE).
You need to either know how many from o_ptr are in the new stack, or how many from j_ptr are in the new stack.

You are also right that the If/else clause is not needed, but we do need the oInNew variable i added for this, since otherwise, we won't know how many items from each stack are in the new stack.

Yay, transforming rule forums into code discussion forums!
Hehe, these BBCode tags are not entirely friends with you I see :P

I thought the o-j would mess up too at first, and had some more fancy calculations in the code, but I was puzzled by the fact that we then didn't also tell j how many items we had taken from its stack. If you look at the comment above the function, you're supposed to assume that the objects are similar, and similarity is checked by the function above, which includes a check of item count (which is why two stacks of 50 items doesn't become one stack of 99 and one item to spare), the whole idea of checking against max_stack_size in the absorbing method is pure paranoia.
Thus, total = o + j; will never be more than 99, and then we can safely assume that the old o will be "new o" - j, which makes my code work as expected :)

And yes, if any forum moderator feels like it, they should probably move these posts to another topic by now :P
I am Thorbear...

PowerWyrm
Balrog
Posts: 1574
Joined: Sun 27.11.2005, 15:57

Re: Mangband.org rules

Post by PowerWyrm » Thu 06.12.2012, 12:09

There's an easier way to deal with this... in recent V, all discounts are gone. Just remove them, and it fixes the problem.

Post Reply