Angband.oook.cz
Angband.oook.cz
AboutDownloadVariantsLadderForumCompetitionSpoilersComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Variants

Reply
 
Thread Tools Display Modes
Old January 28, 2008, 21:30   #1
dzhang
Scout
 
Join Date: Jan 2008
Posts: 47
dzhang is on a distinguished road
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 ;-)
dzhang is offline   Reply With Quote
Old January 28, 2008, 23:41   #2
ElectricPaladin
Scout
 
Join Date: Jan 2008
Posts: 33
ElectricPaladin is on a distinguished road
Send a message via AIM to ElectricPaladin
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.
ElectricPaladin is offline   Reply With Quote
Old January 28, 2008, 23:56   #3
zaimoni
Knight
 
zaimoni's Avatar
 
Join Date: Apr 2007
Posts: 590
zaimoni is on a distinguished road
Yes. Which is why writing a *band variant should not be predicated on whether anyone actually plays it.
zaimoni is offline   Reply With Quote
Old January 29, 2008, 01:34   #4
dzhang
Scout
 
Join Date: Jan 2008
Posts: 47
dzhang is on a distinguished road
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.
dzhang is offline   Reply With Quote
Old January 29, 2008, 01:49   #5
Nick
FAangband maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 49
Posts: 4,361
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by dzhang View Post
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.
__________________
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.
Nick is offline   Reply With Quote
Old January 29, 2008, 16:13   #6
chris
Knight
 
Join Date: Jan 2008
Posts: 561
chris is on a distinguished road
Hengband Variant Suggestions

Hey Dave,

I strongly encourage you to work really hard to make a awesome Hengband based variant ;-) I like many of your ideas, and will even offer some of my own:

[1] Add more artifacts, or change existing ones. Especially needed are more artifact shooters. I'm tired of playing Archers because they always play the same (get Bard, make seeker arrows, etc). Careful about game balance though. I think Brian inadvertantly made a much easier variant to win with in Entroband, as melee got a nice pump. Melee is strong enough in Hengband (maybe too strong?)

[2] Make Old Castle and Cloning Pits rewards randomized. Old Castle should still be class specific, but should choose from several arts rather than just hard coding one. Come on, does every single solitary player have to win with Shiva's boots?

[3] Spells. This is an idea I've had for a while ... not sure if any other variants have done this. Spell books should initially be empty. You gain spells in scroll form, and scribe them in your book or books. You can only carry a limited number of spell books, and each book has a limited number of slots, so your spells available are limited. And you need to find the good spells in the dungeon. Maybe you start with a Scroll of Magic Missle to get things going ...

[4] Fix the Tower quest. Very abusable ... though probably only you and I know how to do it ;-)

As far as the code goes, I don't really know it that well. For the artifactless changes I made, I made heavy use of grep and basically hunted around until I found all the places that needed changing. Adding new classes and items is hard, I think. Adding new artifacts is easy, since those can be added in a_info.txt.

Also, I'd be more than happy to playtest for you ...

--Chris
chris is offline   Reply With Quote
Old January 29, 2008, 16:37   #7
Djabanete
Knight
 
Djabanete's Avatar
 
Join Date: Apr 2007
Location: Berkeley, CA
Posts: 522
Djabanete is on a distinguished road
I'd play(test).
Djabanete is offline   Reply With Quote
Old January 29, 2008, 19:12   #8
dzhang
Scout
 
Join Date: Jan 2008
Posts: 47
dzhang is on a distinguished road
Thanks for your comments!

Quote:
Originally Posted by chris View Post
[1] Add more artifacts, or change existing ones. Especially needed are more artifact shooters. I'm tired of playing Archers because they always play the same (get Bard, make seeker arrows, etc). Careful about game balance though. I think Brian inadvertantly made a much easier variant to win with in Entroband, as melee got a nice pump. Melee is strong enough in Hengband (maybe too strong?)
--Chris
I had the same feeling about melee vs. magic, which is why I was adding in the Ring of Evocation. My general feeling towards the problem is that what's done is done, and I don't want to water down existing artifacts, so the way to go is to make the game deeper. I.e. after you kill the Serpent, you next have to kill Hades at dlvl 120, who can summon Zombified Serpents of Chaos.

Quote:
Originally Posted by chris View Post
[2] Make Old Castle and Cloning Pits rewards randomized. Old Castle should still be class specific, but should choose from several arts rather than just hard coding one. Come on, does every single solitary player have to win with Shiva's boots?
--Chris
Some of us find Feanor occasionally.. but good point, something I hadn't really thought about before. (Again, points to the need for more artifacts, I guess..)

Actually, I don't know where I read this before, but someone had the idea of having an extra store selling unidentified items (including small chance for artifacts). That appeals to me, though game balance will probably be an issue. Maybe make the price increase with the number of items you've bought from there.

Quote:
Originally Posted by chris View Post
[3] Spells. This is an idea I've had for a while ... not sure if any other variants have done this. Spell books should initially be empty. You gain spells in scroll form, and scribe them in your book or books. You can only carry a limited number of spell books, and each book has a limited number of slots, so your spells available are limited. And you need to find the good spells in the dungeon. Maybe you start with a Scroll of Magic Missle to get things going ...
--Chris
This sounds like a good idea for a new class (rather than retrofitting all the existing classes). Kind of like the Magic-Eater, except with Scrolls, and limited in your choice of what spells to acquire. Probably will need a few more offensive scrolls. So basically a mix of the Magic-Eater and the Imitator.

Not sure how to balance things with ?oArtifactCreation, ?oAcquirement, etc..

Quote:
Originally Posted by chris View Post
[4] Fix the Tower quest. Very abusable ... though probably only you and I know how to do it ;-)

As far as the code goes, I don't really know it that well. For the artifactless changes I made, I made heavy use of grep and basically hunted around until I found all the places that needed changing. Adding new classes and items is hard, I think. Adding new artifacts is easy, since those can be added in a_info.txt.

Also, I'd be more than happy to playtest for you ...
--Chris
I'm still mostly in the "jotting down ideas" stage at the moment, and probably won't get to actual coding for two weeks (I have my PhD candidacy exam then..). Your help coding and debugging would be appreciated! (Though I'm sure that's not what you signed up for :-P)

Oh, do you have a copy of the original 1.7.0 source? Or should I work off your artifactless-variant code? (I assume you commented things out, rather than remove?) It shouldn't be too hard to make "Artifactless" a birth option..
dzhang is offline   Reply With Quote
Old January 29, 2008, 21:21   #9
konijn_
Hellband maintainer
 
konijn_'s Avatar
 
Join Date: Jul 2007
Location: New York, the Big Apple
Age: 37
Posts: 346
Donated: $120
konijn_ is on a distinguished road
Well,

I can tell you already I will be stealing stuff

-1- Order school ( Wild magic sounds a lot like the Chaos school to me )
-2- Crystalline ego ( but maybe res light instead of res chaos or even bounce back light attacks, like it gets mirrored on the crystal or something )
-3- Ring of evocation ( max up to like +3 or +4 though )
-4- Restricting mutation count is a great idea, the UI cannot handly gracefully more than 23/25 mutations anyway
-5- All mutations except possibly lost in thought, it seems too zany

I can send you the diff's for Hengband which comes from Zangband, which should give you some indication on where to change stuff.

Let me also say that you should continue with Entro, it would be sad to see the maintenance of that fall by the wayside.

Cheers,
T.
__________________
* Are you ready for something else ? Hellband 0.8.7 is out! *
konijn_ is offline   Reply With Quote
Old January 29, 2008, 22:11   #10
dzhang
Scout
 
Join Date: Jan 2008
Posts: 47
dzhang is on a distinguished road
Quote:
Originally Posted by konijn_ View Post
Well,

I can tell you already I will be stealing stuff
Haha.. go ahead! Maybe if you implement enough of these changes I won't need to do any coding :-P


Quote:
Originally Posted by konijn_ View Post
-1- Order school ( Wild magic sounds a lot like the Chaos school to me )
The problem with the "Chaos" school is that despite the name, the effects are actually quite low-variance (such as Mana Storm for 500 damage). So maybe the Chaos school should be renamed the "Force" school or "Mana" school or something.

The whole idea of Wild Magic is that it will be very powerful (probably higher expected damages than many others), but very, very unreliable. I'll post the spells I have in mind in a bit and you can see if it's worth incorporating..

Quote:
Originally Posted by konijn_ View Post
I can send you the diff's for Hengband which comes from Zangband, which should give you some indication on where to change stuff.

Let me also say that you should continue with Entro, it would be sad to see the maintenance of that fall by the wayside.

Cheers,
T.
That might be pretty useful, the diff's of Heng and Zangband. Wait, is your Hellband variant also based off Hengband? (I'm ashamed to admit I haven't tried it yet..)

I'm not too excited to continue from Entroband, because from past Psych courses, I know that people really like to bemoan nerfing things they're used to.. I'm going to have to power down a lot of the new artifacts in Entroband if I do continue with it. The change list, as far as I can tell, are mostly limited to artifact changes, The Chemist, and reseting of dungeon start depths. Is there any particular feature of Entroband that you like? It might be easier just to recode it...

Cheers,

Dave
dzhang is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Looking for a variant with Crafting redcard Variants 4 July 10, 2009 20:40
Variant list pav Oook! 19 September 18, 2008 23:07
Animeband - The worst variant ever ehuangsan Variants 50 June 21, 2008 06:51
Curiousity Question: How many variant have you won? will_asher Variants 18 January 29, 2008 14:46
Variant with persistent dungeons? Sabreman Variants 5 November 15, 2007 21:22


All times are GMT +1. The time now is 19:16.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.