Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old May 23, 2009, 04:33   #1
saarn
Adept
 
Join Date: Apr 2009
Location: Washington, DC
Posts: 112
saarn is on a distinguished road
subversion etiquette?

I'm planning to check out a copy of the V trunk and play around with the AI for groups of orcs/trolls/ogres, but I couldn't find any description of standard subversion practice on rephial. Do most people make branches and merge back in when their change is ready/approved, or is there some other flow? I saw on rephial that it suggested committing early and often, but I'm not particularly sure that what I want to play with will be functional any time soon, or if it would ultimately improve gameplay, so committing to the trunk seems like a very bad idea.
saarn is offline   Reply With Quote
Old May 23, 2009, 05:30   #2
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 8,053
Donated: $60
Nick will become famous soon enough
Unless takkaria has specifically given it to you, I suspect you don't have commit access (I'm not sure how branches are handled). A common way of getting new stuff accepted is posting it as a patch to the angband-dev mailing list.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is online now   Reply With Quote
Old May 23, 2009, 13:18   #3
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,946
Donated: $40
takkaria is on a distinguished road
Quote:
Originally Posted by saarn View Post
I'm planning to check out a copy of the V trunk and play around with the AI for groups of orcs/trolls/ogres, but I couldn't find any description of standard subversion practice on rephial. Do most people make branches and merge back in when their change is ready/approved, or is there some other flow? I saw on rephial that it suggested committing early and often, but I'm not particularly sure that what I want to play with will be functional any time soon, or if it would ultimately improve gameplay, so committing to the trunk seems like a very bad idea.
As Nick said, people get commit access when they write enough code of a good enough wuality to make it worthwhile over just submitting patches. What AI work are you thinking of doing?
__________________
takkaria whispers something about options. -more-
takkaria is offline   Reply With Quote
Old May 23, 2009, 19:14   #4
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 takkaria View Post
What AI work are you thinking of doing?
Oh Boy! I hope it's a Monty Python-esque song and dance routine.
__________________
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 May 24, 2009, 03:58   #5
saarn
Adept
 
Join Date: Apr 2009
Location: Washington, DC
Posts: 112
saarn is on a distinguished road
AI wise, I want to concentrate on monsters that appear in hordes and should be smart, but let themselves be drawn into long, repetitive battles one on one in a corridor. Ideally, I'd like to possibly take this to the point of formations/combined arms tactics, but where I want to start is with improved strategy. In broad terms, I think orcs should set things up and be more patient.

For my first pass, I was thinking of the following:

A big mass of orcs should subdivide into a number of smaller groups, each large enough to hold down a room on its own, and these groups should then move to the rooms that will most subdivide the dungeon (prevent @ from getting around easily). Here, I'm thinking of treating the dungeon as an undirected graph where orcs in a room creates a vertex cut. I'd like to choose the vertex cuts such that the maximum size of connected graph is minimized, and following that, to maximize the number of disconnected graphs.

An additional weight factor would be the size of the graph occupied by @.

Tactically, orcs should choose battles based on whether other groups can come in from behind, whether battle will be in a corridor or room (generally should not chase @ into the corridor unless another group can come from behind). A simple way to do this might be to look at the distance separating other groups from @ and the expected time the force can hold out against @ on their own. This could be improved by actually simulating battle to determine whether to fight or wait.

From a gameplay angle, I'd like to make some of these things stronger as depth increases, and/or tie the use of better AI to the presence of a captain or unique. Getting the right level of nasty to keep things interesting as opposed to abusive may be the largest challenge.
saarn is offline   Reply With Quote
Old May 24, 2009, 17:43   #6
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
Give Orc Shamans/Priests/Mages Stone to Mud, and CLW on other, and maybe some other others like bless and remove fear. If they're going to start acting intelligently, they might as well have some useful spells. Give individual packs a 'morale' rating that would dictate their dedication to the battle as a whole.
__________________
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 May 24, 2009, 19:41   #7
saarn
Adept
 
Join Date: Apr 2009
Location: Washington, DC
Posts: 112
saarn is on a distinguished road
I was definitely thinking a bit about having the magicians heal other monsters, and was also thinking about letting the grunts tunnel at the same rate as a player with a relatively heavy weapon, but figured this would be a big game change, and should probably be put off for when I get to playing with tactics (I think that is probably more complicated than strategy and more likely to draw complaints of unfair behavior). I like the idea of a morale rating-- it makes sense that if half the monsters in a room are eradicated by a massive fireball that the rest of the group should flee in fear if there aren't serious reinforcements.
saarn is offline   Reply With Quote
Old July 2, 2009, 19:24   #8
CloneDeath
Rookie
 
Join Date: Jul 2009
Posts: 2
CloneDeath is on a distinguished road
Concerning moral, I liked how they did it in 1st edition AD&D.

Going off memory, it went something like this:

The group had a moral value, and you rolled against it, if you succeeded then the monster still fight, if you fail then they run away.

You do a moral check when:
1) The first monster in a group dies (watching some die is very traumatic for weaker monsters who are not used to battle)
2) Half of the group is dead
3) The player does something very Intimidating (ie: Casting a fear spell, summoning an illusion of a dragon, Screaming and acting like a crazy person, etc...)

That is just from how it is done in AD&D, but I imagine if you dumb it down to check for 1 and 2, it shouldn't be too hard to incorporate. The check itself should be super simple, it is determining what the "moral value" that you have to figure out so that it works.
CloneDeath is offline   Reply With Quote
Old July 14, 2009, 16:04   #9
d_m
Angband Devteam member
 
d_m's Avatar
 
Join Date: Aug 2008
Location: Philadelphia, PA, USA
Age: 39
Posts: 1,516
d_m is on a distinguished road
Quote:
Originally Posted by saarn View Post
Do most people make branches and merge back in when their change is ready/approved, or is there some other flow? I saw on rephial that it suggested committing early and often, but I'm not particularly sure that what I want to play with will be functional any time soon, or if it would ultimately improve gameplay, so committing to the trunk seems like a very bad idea.
I don't know if you've ever used a dynamic version control system (like mercurial or git) but I am tracking Angband's HEAD using a mercurial repository:

http://bitbucket.org/d_m/angband

I can't explain all of Mercurial here, but the advantage of it for the type of work you're doing (which will probably require many commits, changes, bugfixes, etc) is that you essentially clone the repo into your own local repo, commit there as often as you like, and also keep pulling in new updates to sync your code with commits happening in Angband's main repo.

This is like having tons of uncommitted work in your SVN checkout, except that you have a history of your own work, and can back out your commits, delete modifications to revert to a recent version, etc. With SVN, if you accidentally mess up a file, you have no history (other than the last version in HEAD) to go back to.

Anyway, let me know if you do end up using my mirror. It often gets a day behind HEAD (I am currently manually syncing it up each day). I should probably set up a cron job to sync automatically, but so far (from what I can tell) there hasn't been any usage (other than my own).

To everyone else: if Angband moved to a DVCS (like mercurial or git) it would make development easier for authors without commit access, or variant authors who often aren't going to commit back but might be interested in tracking Vanilla's HEAD.
d_m 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
Code import etiquette / legalities PaulBlay Development 5 March 8, 2009 00:02


All times are GMT +1. The time now is 21:41.


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