autrealm-devel Mailing List for Autumn's Realm
Status: Pre-Alpha
Brought to you by:
cdsmith
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
|---|
|
From: Jamie A. <jam...@gm...> - 2006-11-28 01:14:37
|
Hi, How do I download the source code and then build the project? I'm assuming there is an easier way then downloading each individual file? Thanks, Jamie. |
|
From: Chris S. <cd...@tw...> - 2006-08-29 05:12:58
|
Yes, Chelsea, I know you're the only person on the list. I'm just trying to get into the habit of writing about ideas to the mailing list. I'm more and more convinced over time that we need to overhaul magic. We should brainstorm ideas. Here are mine. Goals: 1. It should be possible to have a character that relies heavily on magic. Such a character should not have to run back to town to get their magic back after every battle. Choosing to focus on magic instead of standard attack and defense ought to be a valid choice. At the same time, such a character should not be able to heal themselves after every battle, either. 2. Magic should be somewhat interesting. The plan to have just heal/attack/sleep spells is probably not sufficient. There should be more magic that does helpful things. 3. We need to stick to the simplicity theme, though. No complexity for the sake of complexity. No monsters that are more susceptible to ice and less susceptible to fire. No seventeen different spells that all do approximately the same thing. Definitely no HealMore spell. Let's identify the five or six most important magical capabilities, and add them; but no more. Questions: Is it sufficient to create a "wizard" character whose attack messages mention magic but have no separate mechanics? Or would the wizard actually need to use magic for these things. Should characters regain magical power over time? How fast? Should skill at a spell affect its cost? Should there be some kind of restriction on when/how magical players can heal themselves? Should magical healing require a safe area? Should magical healing incurs some chance of a monster interrupting? If so, how should magical healing work in a battle, then? Aside from heal, attack, and sleep, what magic is good to have? -- Chris Smith |
|
From: Chris S. <cd...@tw...> - 2006-08-28 16:55:27
|
Well, I'm using the mailing list, even though there are only two of us here.
This is a proposal for a replacement of the combat system. I am trying to
keep things simple.
I suggest removing maximum hit points as a statistic for a character.
Instead, a character will just have a health level that ranges from 0% to
100%, and the range doesn't improve. Instead, you just increase your
defense attribute.
First off, I need to define a function, which I'll call k(x).
g(x) = (1/2) * (1 + (x / sqrt(1 + x^2)))
The important things about it are that it is continuous and monotonically
increasing for all real numbers and has the range (0, 1). That makes it
very convenient for converting monster and character attributes into
probabilities.
Each turn, the following steps happen:
1. Choose a combatant to attack. This is done by subtracting the monster's
speed from the player's speed. The probability that the player attacks is:
g(k_speed * (s_player - s_monster))
where:
g = the function described above
k_speed = a constant, 0.175
s_player = the player's speed attribute
s_monster = the monster's speed attribute
The probability that the attacker misses is:
g(k_hit * (d_defender - a_attacker))
where:
g = the function described above
k_hit = a constant, 0.2
d_defender = the defense attribute of the defender
a_attacker = the attack attribute of the attacker
When determining whether the attack succeeds, we remember the amount by
which the attack succeeds. That will be a number between 0 and 1 - g(k_hit
* (d_defender - a_attacker)). It will be called t.
The damage done from the attack is:
t * k_dmg + 0.05
k_dmg is a constant, set to 1.17. The extra factor of 0.05 ensures that all
successful attacks do at least a noticable amount of damage (for example,
it's not possible to see a hit message, but that have the hit do 0.000001
damage).
The battle ends when someone is dead, or someone flees.
I tested this by writing a program that runs a million random battles
between characters with randomly chosen attributes, and determined the
following interesting results:
For characters all of whose stats are within 10 points of each other, an
average battle is 15 turns long. However, that is misleading, as it is
heavily skewed by a few extreme results when both players end up with a huge
defense and a very small attack. In reality such battles would rarely
happen, and would end with someone fleeing out of boredom. The quartiles
are:
0%: 1 turn
25%: 4 turns
50%: 7 turns
75%: 15 turns
100%: 560 turns
So a median battle is actually 7 turns long. The rare battles up to 560
turns are anomolies that skew the mean.
86.5% of battles are won by the statistically superior or equal combatant.
13.5% of battles are won by the statistically inferior combatant.
The following are correlations factors between various attributes and
success in battle:
speed: 0.4565
attack: 0.4567
defense: 0.4575
total: 0.7917
So all three attributes are approximately equal in importance for battles
where attributes are within 10 units. The correlation between total of all
attributes and success looks fine.
As a side note, the importance of speed varies depending on how close the
battles are. For battles where attributes vary by at most 5, speed
correlates at 0.3945, while attack is at 0.4139 and defense is 0.4141. (The
lower correlations are normal; for closer battles, luck plays a greater
role.) When attributes differ by up to 20, the speed correlation is 0.4852
while attack is 0.4518 and defense is 0.4518. For the most part, though,
this is close enough. Speed also gains one the additional advantage of
having more opportunity to flee, which makes up for its lower weight in
close battles.
Unless there's objection, I'll probably implement this soon. This will
change the formats for mns.txt and ply.txt, since there will no longer be
such a thing as hit points.
--
Chris Smith
|
|
From: Chris S. <cd...@tw...> - 2006-08-27 06:30:24
|
Hi Chelsea, I'm checking if the mailing list is working, and sending instructions on using Subversion at the same time. Here we go. You should delete any AutumnsRealm project you've already got first. Then you will need to install the Subclipse plugin for Eclipse, which lets you get to the source code in the Subversion repository. 1. Start Eclipse 2. From the menu bar, choose Help -> Software Updates -> Find and Install... 3. Select "Search for new features to install", and click Next. 4. Click "New Remore Site..." 5. Enter a name of "Subclipse update site" and a URL of http://subclipse.tigris.org/update_1.0.x, and click OK. 6. Be sure that "Subclipse update site" is check, then click Finish. 7. Agree to everything and check all options during the rest of the install. 8. Eclipse will want to restart. Say yes. Then, when Eclipse restarts, you'll need to add a repository configuration. 9. From the menu bar, Window -> Show View -> Other... 10. In the SVN folder, choose "SVN Repository" and click OK. 11. In the SVN Repository View, right-click, then New -> Repository Location... 12. Enter a URL of https://svn.sourceforge.net/svnroot/autrealm 13. Click Finish. Now you should see a new repository in the SVN Repository view. The next step is to actually get the code. 14. Expand the new repository (click the + sign) 15. Right-click on AutumnsRealm, and choose Checkout... 16. On the dialog, choose "Check out as a project in the workspace" Accept AutumnsRealm as the project name. Click Finish. You should then have the project appear in "Package Explorer". You might have to create a new run configuration in order to run it... 17. From the menu bar, choose Run -> Run... 18. Select "Wireless Toolkit Emulator" and click the icon on the top left showing a blank paper with a plus sign. 19. Ensure that the "Project" entry says "AutumnsRealm". 20. Click the "Run" button at the bottom. With any luck, the game should now start. From here on out, you can run the game simply by choosing the run configuration that you've already created. You can get the latest code by right-clicking on the project (the top-level tree item that says AutumnsRealm), and choosing Team -> Update. If you make changes and want to send them to me, the easiest way is with a patch. Just start writing an email (either to me or this mailing list), and then do the following: 1. Right-click on the project (AutumnsRealm). 2. Choose Team -> Create Patch... 3. Pick "Save to Clipboard" and click Next. 4. Leave "Recurse into sub-folders" checked, and click Finish. 5. If a list of folders appears, click "Deselect All", and then OK. 6. Go back to your email program, and click Edit -> Paste to paste the patch into the email. Hope that's clear. Give me a call if it isn't or if you run into problems. Or get Dad to help you. -- Chris Smith |
|
From: Chris S. <cd...@tw...> - 2006-08-25 01:46:07
|
-- Chris Smith |
|
From: Chris S. <cd...@tw...> - 2006-08-25 01:26:59
|
Just testing... -- Chris Smith |