Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old December 21, 2010, 04:59   #1
pampl
RePosBand maintainer
 
Join Date: Sep 2008
Location: Seattle, WA, USA
Posts: 225
pampl is on a distinguished road
Talking Help me update PosBand!

I like running around as a monster in Posband but I also like all the improvements that have been done to Angband in the last few years. I've taken it upon myself to try to create the best of both worlds, by porting/recreating Pos using the latest 3.2 RC. I've gotten some minor-medium features done, but I'm coming to the limits of my abilities as a programmer, and that's where you, the reader, come in. Help me! Specifically, help me figure out relatively straightforward ways of checking features off my to-do list.

So far I've got done (largely thanks to Nick's invaluable help):
*Several monster races are selectable, and they're automatically assigned the dummy class "monster" (the UI for this stinks though)
*Monsters gain AC and speed as they level, depending on what race they are
*When monsters reach a certain level (dependent on race) they "evolve" into a stronger race, e.g. when a 2 headed hydra reaches level 8 it grows a third head.
*Players display as the monster they are - instead of running around as an @ symbol you can be, for example, a dark brown M (and later an orange M!).
*Monsters start with a nifty item, race dependent, to make up for not having a class or something.

What I need to do before I consider this beta status:
*Monsters need to have variable numbers of EQ slots - Hydrae can't wield weapons but can wear multiple helmets and amulets, for example. I've already tried to do this once and aborted partway through it.
*Monsters need to be able to use monstrous powers, such as breathing elements.
*Monsters need to use the same set of melee attacks that their non-adventurer brethren use; e.g. a chaos drake should claw/claw/bite to confuse regardless of whether it's a "real" chaos drake or a player chaos drake. This is what I'm working on right now.

Long run goals:
*Players should be able to summon friendly monsters. Pretty hard to play as a Q without summoning..
*Questing needs to be added. This should be some straightforward cut and paste action.
*There should be "King" monsters, with lots of special rules that I don't really know (maybe someone who's been more successful at Pos could tell me about them)
*There should be special terrain and terrain modifying spells.. this is also probably just cutting and pasting.
*I guess I should try to implement possessors at some point, though it's going to be pretty hard with the way I'm doing things. I'll probably just make it a class, and give it a special ability that lets it change its race into a spirit then into the race of a corpse it's standing over.
*Monsters should have affinity for law or chaos and get in brawls over it.. the code needed for player monster melee and summoning should make this easy.
*There should be invisibility and monster blindness. I'm guessing this won't be too hard, but it's really far down the priority list anyway.

Right now I'm working on monster melee (the third TODO item above) and I'm handling it by making make_attack_normal (from monster/melee1.c) able to target an arbitrary map square instead of always targeting the player. I'll just have the player call it when he's unarmed and his race is a monster. It's a roundabout way of doing it, but I need monsters able to attack each other anyway for when I do summoning. Does this make sense?
pampl is offline   Reply With Quote
Old December 21, 2010, 05:21   #2
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
Your grand plan sounds good. Good luck with it. Unfortunately mildly humorous criticism is all I have to offer.

Quote:
Originally Posted by pampl View Post
*Players should be able to summon friendly monsters. Pretty hard to play as a Q without summoning..
I think it would be pretty hard to play regardless. What do you do, just teleport about until you land on an item or a staircase.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old December 21, 2010, 08:41   #3
kingvictory2003
Scout
 
Join Date: Oct 2009
Posts: 37
kingvictory2003 is on a distinguished road
OMG so can a 12-headed hydra wear 12 helmets and 12 amulets??? I'm game!
kingvictory2003 is offline   Reply With Quote
Old December 21, 2010, 10:34   #4
topazg
Scout
 
Join Date: Nov 2010
Location: Chatteris, UK
Posts: 31
topazg is on a distinguished road
One thing I will say is there is a lot of aspects of Pos that have already left V, and it may be easier to take the Pos code (which handles equipment slot changes, amongst other things) and update it to match the latest changes in V. IIRC, 4GAI and some advanced randart code are already implemented, and many of the fun Pos unique things (like each monster race having a "king" who drops the "race artifact") are kinda fun and probably a lot of effort to replicate from scratch.

If you'd like, you are very welcome to take the code-base and be the primary maintainer of the variant itself
topazg is offline   Reply With Quote
Old December 21, 2010, 19:29   #5
pampl
RePosBand maintainer
 
Join Date: Sep 2008
Location: Seattle, WA, USA
Posts: 225
pampl is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
I think it would be pretty hard to play regardless. What do you do, just teleport about until you land on an item or a staircase.
Original Pos assumed that players Q's had particularly limber psuedopods and were able to shuffle around, albeit at speed -5. Death Molds in ToME play like you imagine though. I couldn't tell you how well it works; they were too weird for me to try.
Quote:
Originally Posted by kingvictory2003 View Post
OMG so can a 12-headed hydra wear 12 helmets and 12 amulets??? I'm game!
I'd be willing to try that at least. Twelve helmets doesn't sound particularly overpowering, just because there are only about 3 really good helmets, but 12 amulets might be a bit much. The key thing is that hydras are sort of like warriors who can't use bows but have some ranged attack spells - would a warrior be overpowered if e.g. they could get +120/+120 (from 12 amulets of weapon mastery)? My attitude is wait and see. The bigger danger might be all the amulets with activations saving them from having to carry around a half dozen rods.
Quote:
Originally Posted by topazg View Post
One thing I will say is there is a lot of aspects of Pos that have already left V, and it may be easier to take the Pos code (which handles equipment slot changes, amongst other things) and update it to match the latest changes in V. IIRC, 4GAI and some advanced randart code are already implemented, and many of the fun Pos unique things (like each monster race having a "king" who drops the "race artifact") are kinda fun and probably a lot of effort to replicate from scratch.

If you'd like, you are very welcome to take the code-base and be the primary maintainer of the variant itself
Now that I think about it you're almost certainly right about it being easier. The thing is, the Posband features I want V to have are very clear in my mind, but the V features I want Pos to have are a vague collection of a million little things. The way I'm doing it now is harder (possibly much harder) but also more straightforward.

On the other hand, it may be so much harder that it's beyond my ability.. and starting with a working, fully functional Posband means any work I get done on it is gravy, compared to all the work that would go into getting back to square one starting with V. So, I dunno. I'll have to look at Pos' code some more and think about it.

Are you the Pos maintainer? If so, congrats on such a cool variant!
pampl is offline   Reply With Quote
Old December 21, 2010, 21:09   #6
Adley
Adept
 
Adley's Avatar
 
Join Date: Feb 2010
Location: Unangband, Morgoth's throne
Posts: 185
Adley is on a distinguished road
Quote:
Originally Posted by kingvictory2003 View Post
OMG so can a 12-headed hydra wear 12 helmets and 12 amulets??? I'm game!
IIRC Pos just changes the items you can wear in a certain slot, not the number of slots. Which is explainable due to interactions between items making you unable to wear (with profit) more than the normal number of things.
__________________
Quote:
Originally Posted by Derakon View Post
Sadly, every character ever created in Angband was given a magnifying glass by their eccentric uncle for their fifth birthday...
Adley is offline   Reply With Quote
Old December 21, 2010, 21:11   #7
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
Quote:
Originally Posted by pampl View Post
I'd be willing to try that at least. Twelve helmets doesn't sound particularly overpowering, just because there are only about 3 really good helmets, but 12 amulets might be a bit much. The key thing is that hydras are sort of like warriors who can't use bows but have some ranged attack spells - would a warrior be overpowered if e.g. they could get +120/+120 (from 12 amulets of weapon mastery)? My attitude is wait and see. The bigger danger might be all the amulets with activations saving them from having to carry around a half dozen rods.
Well, you wouldn't always have 12 heads would you? Aren't hydras essentially killed by chopping off their heads one by one. The way I see it, over the course of a nasty battle, you may lose a few or even most of your heads and the amulets and helmets too, wouldn't they fall to the ground. Let's hope that none of your critical resists are lost in the process. You may want to wield 2x or 3x resists JIC. Could also lead to severe pack clutter upon a narrow survival. I'm guessing it takes a fairly long time to regenerate a head .

This variant sounds cooler with every passing moment.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old December 21, 2010, 21:59   #8
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,223
Donated: $60
Nick is on a distinguished road
Quote:
Originally Posted by pampl View Post
Now that I think about it you're almost certainly right about it being easier. The thing is, the Posband features I want V to have are very clear in my mind, but the V features I want Pos to have are a vague collection of a million little things. The way I'm doing it now is harder (possibly much harder) but also more straightforward.
I see your point, although I had planned to do it the other way around.

Whichever way you decide to go, I suggest you
  1. Look at the src/powers*.inc files - most of the monster power stuff is done there and
  2. Do a diff between Pos and the version of NPP it forked from (which I believe was originally 0.3.1, updated to 0.3.4, and had some bugfixes from 0.4.0) - this should give a good idea of what needs to be added.

I would also suggest posting your code publicly somewhere (github is currently the most popular, but wherever), so others can comment and potentially (if you want to let them!) contribute.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old December 22, 2010, 00:44   #9
pampl
RePosBand maintainer
 
Join Date: Sep 2008
Location: Seattle, WA, USA
Posts: 225
pampl is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
Well, you wouldn't always have 12 heads would you? Aren't hydras essentially killed by chopping off their heads one by one. The way I see it, over the course of a nasty battle, you may lose a few or even most of your heads and the amulets and helmets too, wouldn't they fall to the ground. Let's hope that none of your critical resists are lost in the process. You may want to wield 2x or 3x resists JIC. Could also lead to severe pack clutter upon a narrow survival. I'm guessing it takes a fairly long time to regenerate a head .

This variant sounds cooler with every passing moment.
I don't want to disappoint you but I don't think I'm going to implement decapitation soon, if only because it's still beyond my ability. If this were Dungeon Crawl I'd know how to handle hydrae losing heads and slots being rendered unusable but alas..

Quote:
Originally Posted by Nick View Post
I see your point, although I had planned to do it the other way around.

Whichever way you decide to go, I suggest you
  1. Look at the src/powers*.inc files - most of the monster power stuff is done there and
  2. Do a diff between Pos and the version of NPP it forked from (which I believe was originally 0.3.1, updated to 0.3.4, and had some bugfixes from 0.4.0) - this should give a good idea of what needs to be added.

I would also suggest posting your code publicly somewhere (github is currently the most popular, but wherever), so others can comment and potentially (if you want to let them!) contribute.
Thanks for the advice! Learning to use more of git's power was interesting.
https://github.com/simongre/RePosBand
I think it should be viewable by anyone now. The committed version will even compile and can be played, though you still won't feel very monstrous.
pampl is offline   Reply With Quote
Old December 22, 2010, 22:40   #10
pampl
RePosBand maintainer
 
Join Date: Sep 2008
Location: Seattle, WA, USA
Posts: 225
pampl is on a distinguished road
I got monster melee working, knock on wood. If I can do monster powers with the rest of the week (not unreasonable; it looks like it won't be too bad) then I'd have a full week to do slots in order to have a beta ready in time for New Year's. 'Course, there will be shiny distracting Christmas presents to consider, plus I don't want to burn myself out by working too fast..

Gameplay question: how should I handle players evolving into a form that requires more XP to gain levels? Right now the way it works is they stay their current level until they gain XP, then their level is recalculated and lowered. This is less than ideal. Should they immediately have their level lowered upon evolving, or not have it lowered at all (even though they technically have less XP than necessary to reach their current level)? And, lazy coding question, if the answer is "instantly lowered" what function should I be calling to recalc their level right when they evolve?

This is sort of a minor issue because in Pos the exp factor didn't actually change between forms as you evolve so I mostly won't make it change drastically either, but I'm curious what you guys think.
pampl 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
I re-compiled the latest PosBand for Windows pampl Variants 37 December 5, 2014 23:43
Ready for borg update? APWhite Development 8 April 21, 2009 20:22
Borg update APWhite Vanilla 75 April 11, 2009 13:14
Ironband update Antoine Variants 11 February 24, 2008 04:10
PosBand for MacOS? Serith Variants 0 November 23, 2007 18:45


All times are GMT +1. The time now is 07:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.