Alignment system experiments and mechanics

Alignment system experiments and mechanics

Postby svenskmand » 22 Jul 2010, 23:37

I have been trying to implement Keldaryths idea for the alignment system, and test it by running experiments. Unfortunately it does not seem to work very well using the testings I am doing. The two goals of the alignment system is that:
1) a keeper wanting a special list of creatures can get this by always keeping the creatures he wants an dismissing the creatures he does not want.
2) a keeper wanting a given alignment can archive this by keeping the creatures that leads him in the direction of the alignment he wants.
Here 1) is the goal I think is most important. As I said I have implemented Keldaryths system, and it does not work given these goals. Also I have a idea/suggestion of my own, but it also fails. My idea is that the keepers alignment is based on the average alignemnt of his creatures and his last alignment, in some mixing, depending on how fast he wants to evolve/move to a new alignment. The creatures have a appearance probability that is inverse proportional to the Euclidean distance between the creatures alignment and the keepers.

I have attached the code I have currently made, it is in Java, and I have also attached a Gnuplot script I used to visualize what is going on. In the script the "walk" lines/path show all the alignments that the keeper have had during the current simulation. Also you need to run the generateCreatures method in Main.java first to generate some example data to use in Gnuplot and the rest of the program.
Attachments
AlignmentSystemExp.tar.gz
My current experiments with the alignment system.
(28.01 KiB) Downloaded 422 times
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby svenskmand » 24 Jul 2010, 17:30

I now have a working system based on my suggestion, I found a bug in the implementation, and tweaked it a bit and now it appears to be working. I will now see if the bug is also affecting my implementation of Keldaryths system. I have attached the lastest code.
Attachments
AlignmentSystemExp.tar.gz
The updated code
(29.99 KiB) Downloaded 439 times
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby svenskmand » 25 Jul 2010, 00:15

I now have a system which I am very satisfied with, it has the following properties:
1) If you start with a given alignment, which you got from a certain style of play, then you will keep this alignment if you still play in this way, how stable the system is, is determined by the keepers evolve rate. So the system is stable, note total stability is only possible with no dynamic changes, which means there is a trade off with 2).
2) If you desire another collection of creatures then you wait for one of them, while collecting creatures nearer to the desired creatures, when you got your creatures you keep them and your alignment will stabilize, all this can be done in number of rounds which can be determined by how fast the keeper evolve. So the is very dynamic depending on the evolve rate, notice dynamic changes is not possible with total stability, which means that there is a trade off with 2).
3) Creature appearance probabilities are very local to the keepers alignment, meaning that creatures with a close alignment, and likings toward the keepers factional mix has hight probabilities, other creatures has low probabilities. This locality can be adjusted by how much the factional mix should affect the probability, and the radius of the alignment which gets high probabilities can also be adjusted, through the steepness and radius of the probability function. Note that if we tweak the system such that we get higher probabilities of a creature with different alignment and factional mix then this property will cause instability and non-controllable dynamic changes, so there is a trade off with 1) and 2).
So all in all the system is very flexible as we can tweak it to our likings by easily controlling the influence of the above properties.

I have attached the newest version of the code.
Attachments
AlignmentSystemExp.tar.gz
This system works pretty well and is very flexible :)
(31.77 KiB) Downloaded 446 times
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby andrewbuck » 25 Jul 2010, 05:21

I haven't gotten a chance to test your code yet as I am traveling now. Hopefully I will be able to have a look at it in a few days though.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Alignment system experiments and mechanics

Postby svenskmand » 25 Jul 2010, 16:11

I think that I am in need of a revisions system, I want to import my code into the SVN, and not the GIT as this Java code will never be part (it needs to be translatet into C++) of the other code. What do you think about this?
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby andrewbuck » 25 Jul 2010, 18:02

That would be fine. The reason we are using SVN for the media is if files are added/changed/deleted frequently SVN does a better job of it since someone checking out from SVN only pulls the last revision by default, whereas someone pulling from GIT gets the whole history whether they want it or not. Java and C++ are very similar so translating should be easy.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Alignment system experiments and mechanics

Postby svenskmand » 25 Jul 2010, 22:40

andrewbuck {l Wrote}:That would be fine. The reason we are using SVN for the media is if files are added/changed/deleted frequently SVN does a better job of it since someone checking out from SVN only pulls the last revision by default, whereas someone pulling from GIT gets the whole history whether they want it or not. Java and C++ are very similar so translating should be easy.

-Buck

Ok. Yes C++ and Java are very simillar, but I have not really used it much because I have not found a real alternative to java.util, and the fact that I have access to everything I need, through the API, when I write Java :), also there is JavaDoc which is very nice and garbage collection which I think is a must have :) (if you have solutions for this please tell me :)! )

Ok I will commit it to the SVN then :) Also read the wiki page about the alignmensystem first, it reflects my system except that in my implementation I do not have rooms, but this just corresponds to \lambda=1. I will add rooms later.

Also, this is still a work in progress, I am stilling adding stuff. Also I will add more to the room alignment and let the creature probabilities depend on the room layouts.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby andrewbuck » 01 Aug 2010, 17:26

I downloaded your code from SVN and tried to run it but I cant seem to get it to go. I did 'javac *.java' and everything compiled so I have a .class file for everything but then what is the command to run it. If I do 'java Main.class' I get an error. How do you typically run it?

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Alignment system experiments and mechanics

Postby svenskmand » 01 Aug 2010, 18:39

I run it in NetBeans, I have not tried it from a command line, but you should surely set you classpath to contain the folder alignmentsystemexp, and then you should run the class alignmentsystemexp.Main, but if you cannot get it working I can also make a jar file for you.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby andrewbuck » 01 Aug 2010, 20:13

I've gotten the program to run now. You need to run it from the AlignementSystem folder (the one before alignmentsystemexp where all the .java files are). Then you run the command 'java alignmentsystemexp/Main' to execute the program. I also had to change the hard-coded "workingDir" variable. Now, when I run it though, I get a null pointer exception as the creatures.dat file I am using is just an empty file. I looked in the code and saw the format it uses but if you could send me a copy of yours I would appreciate it so I don't have to manually fill the thing in.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Alignment system experiments and mechanics

Postby svenskmand » 01 Aug 2010, 21:13

There is a function to autogenerate the data files, it is in Main.java, it is called generate... where ... is something I cannot remember, you should also download the zip in this thread and use the gnuplot script in it to visualize the alignment data
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby svenskmand » 09 Sep 2010, 21:07

I have now completed the implementation of my proposed system. I have attached the jar file. To try it out you need to first run:
{l Code}: {l Select All Code}
java -jar AlignmentSystemExp.jar -generate 0.9 0.4

which generates some creature statistics data in the files
{l Code}: {l Select All Code}
creatures.dat
fa1.dat
fa2.dat
fa3.dat
fa4.dat
fa5.dat
fa6.dat
ff1.dat
ff2.dat
ff3.dat
ff4.dat
ff5.dat
ff6.dat

in the directory where you run the program from. Then you can run the interactive alignment system by running
{l Code}: {l Select All Code}
java -jar AlignmentSystemExp.jar

It will then run and ask you for some parameters and then you get to build rooms and evict creatures. The interaction looks like this:
{l Code}: {l Select All Code}
Input maximal number of creatures the keeper can have (e.g. 20)
20
Input starting alignment (e.g. 0.0 0.0 0.0)
0.5 1.0 0.3
Input evolve rate: 0.0 (no evolution) to 1.0 (total change) (e.g. 0.05)
0.03
Input creature vs. room scale influence on the keeper alignment:
0.0 (only rooms) to 1.0 (only creatures) (e.g. 0.2)
0.2
*******************************************************************************
                                 Round 2
*******************************************************************************
Creatures before:
Current allignment: 0.485 0.97 0.291
Current factional mix: 0.0 0.0 0.0 0.0 0.0 0.0
Creatures after:
Current rooms:
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)
Room1 5 5 Room2 6 6 Room3 3 3
*******************************************************************************
                                 Round 4
*******************************************************************************
Creatures before:
Current allignment: 0.4659957431378997 0.9271274907024527 0.2889124513020984
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 6
*******************************************************************************
Creatures before: CorC10
Current allignment: 0.45257520327401957 0.889569840415108 0.2904697587821393
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 8
*******************************************************************************
Creatures before: CorC10 CorC2
Current allignment: 0.4411886747882584 0.8540036859020992 0.2914291021406207
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 10
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6
Current allignment: 0.4302000716374308 0.8205051379435969 0.2904709328659342
Current factional mix: 0.0 0.75 0.0 0.0 0.25 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC18
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)
4
Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 12
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6
Current allignment: 0.41842285337013174 0.7885093124210593 0.29009166463909786
Current factional mix: 0.25 0.75 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 HumC2
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)
4
Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 14
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6
Current allignment: 0.4080468935646816 0.7578478006885813 0.2890814163743313
Current factional mix: 0.0 0.75 0.0 0.0 0.25 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC17
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)
4
Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 16
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6
Current allignment: 0.3986568691774931 0.728963346980411 0.28806752313548567
Current factional mix: 0.0 0.75 0.0 0.0 0.25 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC3
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 18
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 ElvC3
Current allignment: 0.38931997976551813 0.7002179635421365 0.2843247600433485
Current factional mix: 0.0 0.6000000000000001 0.0 0.0 0.4 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC3 ElvC12
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 20
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 ElvC3 ElvC12
Current allignment: 0.38059580420742667 0.6721829306641309 0.2791894434590822
Current factional mix: 0.0 0.5 0.0 0.0 0.5 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC3 ElvC12 ElvC10
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 22
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 ElvC3 ElvC12 ElvC10
Current allignment: 0.3724956666699574 0.6456607814473014 0.27418600223170736
Current factional mix: 0.0 0.5714285714285714 0.0 0.0 0.42857142857142855 0.0
Creatures after: CorC10 CorC2 CorC6 ElvC3 ElvC12 ElvC10 CorC6
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)
4 5 6
Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 24
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6
Current allignment: 0.36488765298401904 0.6243761546380113 0.27566994643891635
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 26
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6 CorC5
Current allignment: 0.35654531317278654 0.6044476617003564 0.2771983780537068
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 28
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4
Current allignment: 0.34748871015365873 0.5857204348715739 0.2790581663213804
Current factional mix: 0.0 1.0 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 30
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11
Current allignment: 0.3381137257787609 0.5677622862142693 0.28070246744587585
Current factional mix: 0.125 0.875 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11 HumC9
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 32
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11 HumC9
Current allignment: 0.32916807561109385 0.5506111090682876 0.2818855832154256
Current factional mix: 0.1111111111111111 0.8888888888888888 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11 HumC9 CorC18
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Select rooms to build: e.g.: Room1 3 5 Room2 5 5 ...  (hit enter to select none)

*******************************************************************************
                                 Round 34
*******************************************************************************
Creatures before: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11 HumC9 CorC18
Current allignment: 0.3208921049799468 0.5346899029545352 0.2827052276066325
Current factional mix: 0.1 0.9 0.0 0.0 0.0 0.0
Creatures after: CorC10 CorC2 CorC6 CorC6 CorC5 CorC4 CorC11 HumC9 CorC18 CorC15
Current rooms: Room1 5 5 Room2 6 6 Room3 3 3
Select creature to evict: e.g.: 1 2 for the first two etc.
(hit enter to select none)

Lastly I have included the file gpscript.p to plot the walk taken in the interactive experiment in GNUPlot.
Attachments
AlignmentSystemExperiment.tar.gz
A tar.gz of the jar file and the GNUPlot script to show the walk taken in the interactive alignment system experiment.
(20.25 KiB) Downloaded 428 times
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby svenskmand » 11 Sep 2010, 14:34

If anybody have tried this out and have some comments then let me know :)
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 11 Sep 2010, 18:52

ಠ_ಠ
{l Code}: {l Select All Code}
/Desktop/AlignmentSystemExperiment$ java -jar ./AlignmentSystemExp.jar -generate 0.9 0.4


gives

{l Code}: {l Select All Code}
Usage is: -generate alignradius alliesradius


{l Code}: {l Select All Code}
~/Desktop/AlignmentSystemExperiment$ java -jar AlignmentSystemExp.jar

gives
{l Code}: {l Select All Code}
Exception in thread "main" java.io.FileNotFoundException: /home/ckr/Desktop/log.txt (No such file or directory)


Also, where is the source? I don't want to use jar extract tools..
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 11 Sep 2010, 19:50

Heh ups :) I will fix that :), the source is in the SVN did I not say that? Hmm apparently not, but the source is under opendungeons/mediaSource/master/AlignmentSystem/ in the SVN.

I will make a new jar shortly :) and thanks for testing it :)

Edit: I have attached the fix and committed the change to SF :)
Attachments
AlignmentSystemExp.tar.gz
A new version where the workingDir variable was not set to some arbitrary path on my own machine :)
(20.24 KiB) Downloaded 449 times
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 12 Sep 2010, 07:40

I canz java a bit, so I'll fiddle around with the source and taint it in my evil goaty way..
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 12 Sep 2010, 11:07

TheAncientGoat {l Wrote}:I canz java a bit, so I'll fiddle around with the source and taint it in my evil goaty way..

Never! :P

Why do you need to it should work now? Try it out and let me know what you think, and if there is more problems then post them here.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 12 Sep 2010, 12:05

Cool, it's working (got an Eclipse project up and running too). Not completely sure what's going on though, due to not knowing what the different axis/rooms/creatures are, and not being able to understand the math you defined in the wiki :P I was kind of thinking of writing a GUI, and clearing a few things up, but I can't quite do that if I myself don't grep whats happening :P
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 12 Sep 2010, 12:13

TheAncientGoat {l Wrote}:Cool, it's working (got an Eclipse project up and running too). Not completely sure what's going on though, due to not knowing what the different axis/rooms/creatures are, and not being able to understand the math you defined in the wiki :P I was kind of thinking of writing a GUI, and clearing a few things up, but I can't quite do that if I myself don't grep whats happening :P

Do you not think that it is overkill to give it a GUI as it is just meant to be used by us developers to experiment with my proposed alignment system?

What do you not understand about the system I specified in the wiki? Then I can try and explain it a little better to you :)
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 13 Sep 2010, 05:55

Well, I soooorta understand the math, if I apply myself, but the fact that none of the axis or variables are labled makes it /very/ hard to visualize how things work game-wise. Oh, wait, there I see the definitions, halfway down the page :\ Either move Keldaryth's system to the top, or put the definitions in a seperate paragraph sothat the info makes a logical flow.

Now, I'm sure the math is solid, I'm not strong enough in that regard to debate it, but I do think that only 2 variables deciding alignment (creatures and rooms) isn't enough. I might have missed this in not following the discussions closely enough, and this is most probably not the right place to discuss it at all, but surely the /actions/ of the keeper should be the main attributing factor to alignment. Also, creature spawning shouldn't be reliant on alignment alone, they might have other prerequisites that needs to be met + whether or not they appear should be only half of the struggle, keeping them happy should be the other half. If you can prevent a creature from interacting with elements opposing his alignment could allow you to host a more varied army, adding another level of challenge and reward to the gameplay.
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 13 Sep 2010, 09:44

TheAncientGoat {l Wrote}:Well, I soooorta understand the math, if I apply myself, but the fact that none of the axis or variables are labled makes it /very/ hard to visualize how things work game-wise. Oh, wait, there I see the definitions, halfway down the page :\ Either move Keldaryth's system to the top, or put the definitions in a seperate paragraph sothat the info makes a logical flow.
TheAncientGoat {l Wrote}:Do you mean that I defined P by splitting it up into the creatures from each faction?

Now, I'm sure the math is solid, I'm not strong enough in that regard to debate it, but I do think that only 2 variables deciding alignment (creatures and rooms) isn't enough. I might have missed this in not following the discussions closely enough, and this is most probably not the right place to discuss it at all, but surely the /actions/ of the keeper should be the main attributing factor to alignment.
TheAncientGoat {l Wrote}:I will also add the spells that the keeper has. But remember this is the initial design, if we need it we can add more stuff later on. One other thing could be room usage, e.g. how many times did the keeper use the torture room lately, how much gold has he picked up by hand and dropped into the treasurey himself, and so on.

Also, creature spawning shouldn't be reliant on alignment alone, they might have other prerequisites that needs to be met + whether or not they appear should be only half of the struggle, keeping them happy should be the other half. If you can prevent a creature from interacting with elements opposing his alignment could allow you to host a more varied army, adding another level of challenge and reward to the gameplay.

I have implemented room prerequisites for the creatures, so they require that some rooms be present before they will consider joining. Also each creatures interaction towards the other creatures is handled in the Mood System which I also plan to make later on, but the creature interactions towards each other in the dungeon should not have an influence on the keepers alignment.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 13 Sep 2010, 10:28

Do you mean that I defined P by splitting it up into the creatures from each faction?

No, just that all the variables aren't labelled until you read Keldaryth's system. It would make more sense if you give definitions of the variables first, and then the formulae.

I will also add the spells that the keeper has. But remember this is the initial design, if we need it we can add more stuff later on. One other thing could be room usage, e.g. how many times did the keeper use the torture room lately, how much gold has he picked up by hand and dropped into the treasurey himself, and so on.


As I envision it, it might end up being a lot of actions... Would it be possible to make the system highly flexible? As in, whenever an "action" is implemented, have it slide into the alignment calculator without much fuss..
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 13 Sep 2010, 13:06

TheAncientGoat {l Wrote}:
Do you mean that I defined P by splitting it up into the creatures from each faction?

No, just that all the variables aren't labelled until you read Keldaryth's system. It would make more sense if you give definitions of the variables first, and then the formulae.

You should consider my proposal and Keldaryth's proposal as self contained sections in the wiki.
TheAncientGoat {l Wrote}:
I will also add the spells that the keeper has. But remember this is the initial design, if we need it we can add more stuff later on. One other thing could be room usage, e.g. how many times did the keeper use the torture room lately, how much gold has he picked up by hand and dropped into the treasurey himself, and so on.


As I envision it, it might end up being a lot of actions... Would it be possible to make the system highly flexible? As in, whenever an "action" is implemented, have it slide into the alignment calculator without much fuss..

I do not think that it would be a problem. My initial idea is to assign an alignment vector to each action and then compute a weighted average of all the actions, where the weights are used to weight certain groups of actions differently from other groups of actions. So I would answer yes to your question :)
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Alignment system experiments and mechanics

Postby TheAncientGoat » 13 Sep 2010, 13:47

You should consider my proposal and Keldaryth's proposal as self contained sections in the wiki.


Which is what I did at first, and really makes the situation worse. You don't define your variables, which makes it way harder to follow the math
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Alignment system experiments and mechanics

Postby svenskmand » 13 Sep 2010, 15:07

Ok, could you then please list the variables that I do not define? (As I have written it myself then I tend not to see things like that) Then I can fix it.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Who is online

Users browsing this forum: No registered users and 0 guests