Variant writing.. quickstart guide? Also, Hengband variant suggestions?

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Nick
    replied
    Originally posted by dzhang
    What I'm wondering is this: Is there a Quick-start guide to writing variants somewhere out there? I.e. Overview of how maps are generated, how monsters are generated, etc. Variable names, player stats, etc. Common coding pitfalls, and mega-hacks we should be aware of, etc.
    If you're happy reading code, I'd advise starting off by looking at dungeon.c (for the main game loop), types.h (for the basic player, monster, object etc structures) and generate.c (for level generation). This should give a starting point to move on and look at the bits of the code you want to modify. Then start making small tweaks and see how it goes (things that change savefile format are the scariest). I have been working on FAangband for two and a half years noe, and there are still bits of the code I hardly recognise, so you don't need to know everything all at once.

    As far as the why goes, I think that Heng and Entro both no longer being maintained is enough reason.

    Leave a comment:


  • dzhang
    replied
    My main motivation is to have more variety to play with.

    I never got around to winning vanilla Angband, because I found it too tedious after a point, and not enough excitement. Many variant (such as NPP) cause me to suffer the same ennui, to the point that I don't have enough motivation to learn the game well enough to beat it.

    Two variants that I really liked were ToME and Henband, because both have a lot of interesting features, and almost limitless replayability due to different race/class/skill/approach combos. Emphasis on the word "almost." I haven't really played any *bands for about 4 months now (a minor attempt at artifactless Hengband being the exception). I decided the only way I'm going to play *band again is if there's another variant different enough to be fun.

    Hengband has a decent following of players, and a ton of features. Furthermore, it has a really nice Auto-pickup/Auto-destroy shell, and many features I want to keep (like random monster energies). So I figure I'm addicted enough to only play derivatives of Heng. Entroband didn't really add enough variety to keep me hooked for too long.

    So that's why I want to write a variant adding a ton of new features. I'm pretty sure at least some of the old Hengband fans will try it, but even if not, I'd be happy.

    ***

    More ideas!

    Remove the minimum of 3 on stats (except during character generation). A la D&D rules, if you are reduced to 0 in a stat, you go crazy/die/are indefinitely paralyzed. Thus, attacks that drain stats become much more deadly. Eldritch horror will probably need to be adjusted somewhat. Mindless races (Zombie, Golem, etc) probably should get Sustain INT, WIS, and CHA. Items will probably need to be tweaked to increase the frequency of sustain stats.

    Humans will get an advantage (sick of having races no one will ever play):
    At character level 30, they gain a mutation of their choice.

    Half-elf will probably be removed. Come on, even in D&D Half-Elves are pathetic and never get picked.

    New class: Factotum. Has access to 2 schools of magic. Can access spells in primary school through 3rd book, and secondary school through 2nd. Unlike mages, he can tap even Samurai and Bardic books. Can change schools at will (even primary school), but need to spend turns relearning every spell he wants. No limit to the number of spells gained/realms changed.

    Leave a comment:


  • zaimoni
    replied
    Yes. Which is why writing a *band variant should not be predicated on whether anyone actually plays it.

    Leave a comment:


  • ElectricPaladin
    replied
    To preface: I am a total n00b. I just re-entered the *band world less than a month ago, and joined this forum maybe a week ago.

    But... In My Humble Opinion...

    There seem to be lots of *bands out there. If you want the advice of a player - not by any means a coder - if you want to write a variant people will actually play, you need something that makes it particularly cool and unique. Every *band download is an investment of time and energy, so as I look at varaiants, I consider "does this variant do anything interesting that a variant I already have and play doesn't?" and "do I want to bother to learn this game and play it?" That's probably why I only have Angband, Hellband, Steamband, and Zangband... and I'm probably going to get rid of Hellband soon, though on the other hand, I'm seriously considering downloading sCthAngband.

    /2 cents.

    Leave a comment:


  • Variant writing.. quickstart guide? Also, Hengband variant suggestions?

    Hi all,

    I'm a long-time player of Angband (about 7 years now), and have always been thinking about implementing a few changes that I'd like. The problem is, I have NO idea how to go about writing a variant. I've coded quite a bit in C and C++ before, but mostly on Unix, and never really looked at the Angband code.

    What I'm wondering is this: Is there a Quick-start guide to writing variants somewhere out there? I.e. Overview of how maps are generated, how monsters are generated, etc. Variable names, player stats, etc. Common coding pitfalls, and mega-hacks we should be aware of, etc.

    In particular, I'm looking to make a variant based on Hengband. Suggestions on what improvements people would like to see are welcome! (Email me at dzhang@dna.caltech.edu).

    A brief list of ideas:

    2 new schools of Magic: Order and Wild.

    Order magic has NO variability in the spell effect (i.e. fixed duration, fixed damage, etc), and furthermore, failed castings do not consume SP.

    Wild magic, on the other hand, has maximum variance (always 1dN, damage/duration). Furthermore, the SP cost of casting Wild Magic varies randomly between 1 and X, the listed price for casting (so listed SP costs will be roughly double). And Wild Magic will have a fail rate modified by 0.05 + 0.9*Y, where Y is the fail rate as computed by INT and level.

    Items:

    New weapon Ego: (Crystalline)
    Weapon always rolls max damage on dice. Weapon never deals crits. Grants Resist Chaos.

    New ring: Ring of Evocation (+X).
    Spell damage is multiplied by (1+X/20). These will have the same rarity and p-val distribution as Rings of Speed. Furthermore, they will only function on the right Finger.

    New ego ring: Ring of Evocation of the Gish (+X).
    Increase spell damage as in Ring of Evocation. Furthermore, it acts as a Ring of Damage (+X) by increasing melee damage of every attack by +X.

    Monsters:

    Change HP to be represented by longs. Come on, we're not lacking memory in this day and age. Increase HP of bosses as necessary.

    Mutations:

    Max (x/10) mutations, where x is character level. For Beastmen, this is doubled to (x/5). Shop that removes mutations will be closed. Mutations from Chaos attacks will not replace existing mutations, but !oPolymorph and Polymorph Self (spell) will.

    More nasty mutations:

    Slurred speech: Your spell fail rates increase by 2%, and your minimum spell failure rate increases by 2%.
    Frozen breath: You have a 2% chance of ruining potions. Breath cold. Counters fiery breath.
    Fiery breath: You have a 2% chance of ruining scrolls. Breath fire. Counters frozen breath.
    Uncontrollable spending: You have a 20% chance every time you visit a store of buying a random item.
    Lost in thought. You have a 1 in 10,000 chance every round of being paralyzed for 1d13 rounds. If you have FA, this is reduced to 1d3 rounds. If you make a saving throw vs. DC 125, you are not paralyzed.

    Classes:

    Wrestler: Uses techniques to throw monsters around while damaging them.

    Gish: 4 max blows, 1 school of magic (cannot change). Can achieve 0% fail, access all spells from school. Pick from Sorcery, Order, Wild, Craft, Life, and Death.

    Mindbender: Unique class with spell-like abilities that Stun, Sleep, Confuse, Charm monsters powerfully, so that even high level uniques have chance of being affected.

    Dungeon depth:

    I'm also thinking of making the dungeon deeper, with more than one "bosses that need to be killed to go any lower." Chronicles of Amber provide many more possible uniques, like Random (new king of Amber), Merlin (new king of Chaos), etc.

    Thoughts? Chris, Elliott, Victor? Come on, I know you guys visit these forums occasionally ;-)
Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎