*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
gau_veldt | oic jumped to the running the server command before the commands to populate it | 00:00 |
---|---|---|
gau_veldt | but that might because becuase the documentation did that too | 00:00 |
gau_veldt | oh wiat the tool needs the server running doesn't it? | 00:01 |
tansell-laptop | no | 00:04 |
tansell-laptop | it doesn't | 00:05 |
gau_veldt | any population method better than the others? | 00:06 |
tansell-laptop | not that I know off | 00:09 |
*** tansell_laptop has joined #tp | 00:12 | |
tansell_laptop | sorry about that | 00:13 |
tansell_laptop | you making any progress? | 00:13 |
tansell_laptop | gau_veldt, sorry about the hassles | 00:14 |
tansell_laptop | we need more people to try out the code so we know when it's borked | 00:15 |
gau_veldt | I'm trying to make fighters now | 00:15 |
gau_veldt | no name field | 00:15 |
gau_veldt | I have a wait field with a 0 in it | 00:16 |
tansell_laptop | gau_veldt, did you just add a Nop order? | 00:16 |
gau_veldt | no CreateDrones | 00:17 |
*** tansell-laptop has quit IRC | 00:17 | |
gau_veldt | PRoduceDrones rather | 00:17 |
tansell_laptop | btw - what screen resolution are you using? | 00:17 |
gau_veldt | 0 ProduceDrones | 00:17 |
tansell_laptop | can you post a screenshot? | 00:17 |
gau_veldt | http://rpg.animemayhem.com/tp_shot.png | 00:19 |
tansell_laptop | hrm... that is rather interesting | 00:19 |
tansell_laptop | not seen that one before | 00:20 |
* tansell_laptop pokes JLafont with something sharp and pointy | 00:21 | |
gau_veldt | so doesn't match the example | 00:21 |
gau_veldt | I populated 10 standard 3 is that the wonrg one? | 00:21 |
gau_veldt | version 0.0.2 of dronesec is that right? | 00:23 |
gau_veldt | maybe the drones in 0.0.2 aren't namable? | 00:26 |
gau_veldt | or I just happened to facepalm a bug | 00:27 |
gau_veldt | seems you are the only one here | 00:29 |
tansell_laptop | I'm not quite sure | 00:29 |
*** JLafont has quit IRC | 00:29 | |
gau_veldt | other than the bot | 00:29 |
tansell_laptop | normally llnz would be here | 00:29 |
tansell_laptop | but he is getting married at the end of the week | 00:29 |
tansell_laptop | ezod and jlafont are normally around on the US time schedule | 00:29 |
tansell_laptop | I would recommend posting the question to the mailing list | 00:30 |
tansell_laptop | Jlafont should reply there | 00:30 |
gau_veldt | yeah marriages have a way of making people busy especially if they are the bride or groom | 00:30 |
gau_veldt | 9:30pm PST west coast so 12:30am EST on east coast | 00:31 |
gau_veldt | I'll have to susbscribe | 00:31 |
* tansell_laptop is flying out to llnz wedding tommorrow | 00:31 | |
*** mithro has joined #tp | 00:31 | |
tansell_laptop | do you have some time to do a few more tests? | 00:33 |
gau_veldt | ok | 00:36 |
gau_veldt | certain would like to get this going eventually | 00:38 |
gau_veldt | so I can dig into the ruleset and add things like mines, refineries, trade and all the fun stuff | 00:38 |
CIA-35 | tansell tpserver-py-dronesec * r38493b680488 / (.gitmodules libtpproto-py requirements.py): Fixed up the submodules and make them auto-checkout. | 00:40 |
tansell_laptop | can you do a fresh clone of just | 00:40 |
tansell_laptop | tpserver-py.git | 00:40 |
gau_veldt | how to do that? | 00:41 |
gau_veldt | dlete directory then reget? | 00:41 |
tansell_laptop | just updated the dronesec instructions now | 00:42 |
gau_veldt | http://www.thousandparsec.net/wiki/DroneSec/Getting_Started#Adding_Players | 00:42 |
tpb | <http://ln-s.net/2SUm> (at www.thousandparsec.net) | 00:42 |
gau_veldt | that one? | 00:42 |
tansell_laptop | the stuff right at the top | 00:44 |
tansell_laptop | IE A fresh clone | 00:44 |
tansell_laptop | so remove everything you already have | 00:44 |
gau_veldt | just the server or do you want to to wipe it all now? | 00:45 |
tansell_laptop | all the server stuff | 00:46 |
gau_veldt | rm -rf tpserver-py scratchpad schemepy libtpproto-py? | 00:46 |
tansell_laptop | yes | 00:48 |
gau_veldt | get as far as trying to run tpserver-py-tool | 00:50 |
gau_veldt | now it complains about schemepy | 00:50 |
gau_veldt | ImportError: No module named schemepy | 00:51 |
gau_veldt | the server itself starts up fine | 00:52 |
tansell_laptop | ahh I see the problem | 00:52 |
*** JLP has quit IRC | 00:56 | |
gau_veldt | on round 1 we symlinked that dir | 00:56 |
gau_veldt | for round 2 it now looks like: gau@Nall:~/sources/tpserver-py$ ls schemepy | 00:58 |
gau_veldt | benchmark debian doc INSTALL Makefile misc README schemepy tests | 00:58 |
CIA-35 | tansell tpserver-py-dronesec * r96a86cc29b82 /tpserver-py-tool: Also import requirements in the tool. | 01:00 |
tansell_laptop | gau_veldt, give that a go | 01:00 |
gau_veldt | all the way from rm again ? | 01:00 |
tansell_laptop | yes, if you wouldn't mind | 01:00 |
gau_veldt | okay doing 10 standard 3 again | 01:03 |
gau_veldt | okay it's doing the same things now | 01:05 |
gau_veldt | as you saw in the screenshot | 01:06 |
tansell_laptop | okay | 01:06 |
tansell_laptop | well, atleast we have figured out the setup steps | 01:06 |
gau_veldt | well different planet names and such but as for as the wait stuff and no name field its same | 01:06 |
tansell_laptop | I think probably the name field is gone | 01:06 |
tansell_laptop | as it didn't make any sense in dronesec | 01:07 |
tansell_laptop | not quite sure what the wait field does | 01:07 |
gau_veldt | said something about timing for the action | 01:07 |
tansell_laptop | if you mouse over, what does the tool tip say? | 01:07 |
gau_veldt | "Length of Time until this order ends" | 01:09 |
tansell_laptop | 22 'wait': Order.Attribute("wait", 0, 'protected', type= netlib.objects.constants.ARG_TIME, | 01:09 |
tansell_laptop | 23 desc="Length of Time until this order ends."), | 01:09 |
tansell_laptop | hrm | 01:09 |
gau_veldt | well it rememebred my orders when I logged back in | 01:09 |
tansell_laptop | I think "repeat" is probably a better name | 01:09 |
tansell_laptop | IE how many turns this order repeats for | 01:09 |
tansell_laptop | so produce drones for 5 turns | 01:10 |
gau_veldt | well if it means that then "Number of turns to reissue this order. 0 for current turn only." | 01:13 |
gau_veldt | or better yet just one-base it and have one indicate once | 01:13 |
gau_veldt | otherwise 1 actually means twice | 01:13 |
*** zzorn has quit IRC | 01:15 | |
gau_veldt | "Number of times to issue this order (once per turn)" | 01:15 |
gau_veldt | make the lowest value 1 if possible | 01:16 |
tansell | gau_veldt, patches welcome :) | 01:16 |
tansell | fixing that would actually be a fairly good introduction to doing various ruleset stuff on tpserver-py | 01:17 |
gau_veldt | I haven't looked into the ruleset file yet to figure out how to do things with it | 01:17 |
tansell | the python stuff is really simple | 01:17 |
tansell | gau_veldt, if I explain how to do stuff | 01:17 |
gau_veldt | will something like that invalidate the db? | 01:17 |
tansell | would you put it up on a wiki page? | 01:18 |
tansell | Jlafont was going to | 01:18 |
tansell | but he hasn't had the time | 01:18 |
tansell | gau_veldt, kind of | 01:19 |
tansell | there isn't really a good "upgrade" method for when orders change | 01:19 |
tansell | but that will change when upgrading becomes common | 01:19 |
gau_veldt | put what on wiki page the change to the order? what page to add that on? | 01:24 |
tansell | no - I mean a general "how to write a ruleset for tpserver-py" | 01:24 |
gau_veldt | hmm I could once I start doing it myself | 01:25 |
gau_veldt | the repeat looks to be problematic | 01:26 |
gau_veldt | the ARG_TIME is 0 based which is confusing | 01:26 |
*** nash has quit IRC | 01:27 | |
gau_veldt | this may be a bigger change since I don't think netlib is part of dronesec proper | 01:27 |
gau_veldt | you really want a repeat count to be on [1,()()+) | 01:28 |
gau_veldt | ()() as a cheap asci infinity symbol | 01:28 |
*** zzorn has joined #tp | 01:28 | |
tansell | gau_veldt, right | 01:29 |
*** JLP has joined #tp | 01:30 | |
tansell | gau_veldt, there are a RANGE argument | 01:30 |
JLP | good morning everyone | 01:31 |
tansell | s/are/is/ | 01:32 |
gau_veldt | hmm how to remove the database file? | 01:33 |
gau_veldt | just rm it? | 01:33 |
gau_veldt | or is there better way? | 01:33 |
tansell | you can rm it | 01:33 |
tansell | or you can use the tool to remove the game | 01:33 |
gau_veldt | hmm I have to change something else to it looks like | 01:36 |
gau_veldt | not just the producedrones file | 01:36 |
tansell | hrm | 01:37 |
tansell | you should only need to change producedrones | 01:37 |
tansell | don't forget you have to restart the server after changing the files | 01:37 |
gau_veldt | I did | 01:38 |
gau_veldt | it says there's no element called fn_repeat | 01:38 |
tansell | ahh | 01:38 |
gau_veldt | AttributeError: 'ProduceDrones' object has no attribute 'fn_repeat' | 01:39 |
tansell | the attribute is "protected" | 01:39 |
tansell | which means you need to define a fn_<attribute name> | 01:39 |
tansell | you could probably rename the fn_wait one | 01:39 |
gau_veldt | hmm or not... looks like 0 is used for infinite | 01:41 |
tansell | ahh that kind of make sense | 01:42 |
tansell | 0 == repeat forever | 01:42 |
tansell | ? | 01:42 |
tansell | 102 #Removes order if length was given (not zero) and after drones are produced | 01:42 |
tansell | 103 if self.wait == 1: | 01:42 |
tansell | 104 self.remove() | 01:42 |
tansell | 105 elif self.wait > 1: | 01:42 |
tansell | 106 # Lower the length | 01:42 |
tansell | 107 self.wait -= 1 | 01:42 |
tansell | 108 self.save() | 01:42 |
gau_veldt | desc="Number of times to issue this order, once per turn (0 is forever)." | 01:45 |
tansell | sounds good | 01:45 |
gau_veldt | uhoh I messed it up I think | 01:53 |
gau_veldt | Ekk! Tried to set turns but it already existed (<bound method ProduceDrones.turns of <tp.server.rules.dronesec.orders.ProduceDrones.ProduceDrones object at 0x89363cc>>) | 01:54 |
gau_veldt | Ekk! Tried to set resources but it already existed (<bound method ProduceDrones.resources of <tp.server.rules.dronesec.orders.ProduceDrones.ProduceDrones object at 0x89363cc>>) | 01:54 |
gau_veldt | and OverflowError: range() result has too many items in the client | 01:54 |
tansell | you can ignore the first two | 01:56 |
gau_veldt | 'repeat': Order.Attribute("repeat", 1, 'protected', type= netlib.objects.constants.ARG_TIME, | 01:56 |
gau_veldt | desc="Number of times to issue this order, once per turn (0 is forever)."), | 01:56 |
gau_veldt | is 1 not a default value? | 01:56 |
tansell_laptop | yes it's the default | 01:57 |
tansell_laptop | did you update the rest of the file to only reference "range" ? | 01:58 |
gau_veldt | I don't know how range even got into this | 01:58 |
gau_veldt | the only other thing I had to do is make fn_wait into fn_repeat and change self.wait to self.repeat | 01:59 |
gau_veldt | the world range doesn't occur in the file at all | 01:59 |
gau_veldt | http://rafb.net/p/ZkqP4g45.html | 02:02 |
tpb | Title: Nopaste - traceback (at rafb.net) | 02:02 |
gau_veldt | I stopped the server wiped the database and everything | 02:02 |
tansell | hrm... | 02:04 |
gau_veldt | is the client cache something that isn't invalidating? | 02:04 |
tansell | whats | 02:04 |
tansell | git diff | 02:04 |
tansell | show? | 02:04 |
gau_veldt | - 'wait': Order.Attribute("wait", 0, 'protected', type= netlib.objects.constants.ARG_TIME, | 02:05 |
gau_veldt | - desc="Length of Time until this order ends."), | 02:05 |
gau_veldt | + 'repeat': Order.Attribute("repeat", 1, 'protected', type= netlib.objects.constants.ARG_TIME, | 02:05 |
gau_veldt | + desc="Number of times to issue this order, once per turn (0 is forever)."), | 02:05 |
tansell | is that the complete diff? | 02:06 |
gau_veldt | http://rafb.net/p/fPjcOZ65.html | 02:06 |
gau_veldt | no | 02:06 |
tpb | Title: Nopaste - git diff output (at rafb.net) | 02:06 |
gau_veldt | I'm wondering if the client's caching might not be invalidating the game data completely | 02:07 |
tansell | you are seeing this error on the server right? | 02:08 |
gau_veldt | even with the database purged and repopulated | 02:08 |
gau_veldt | and the server restart | 02:08 |
gau_veldt | no I get this at the server | 02:08 |
gau_veldt | Ekk! Tried to set turns but it already existed (<bound method ProduceDrones.turns of <tp.server.rules.dronesec.orders.ProduceDrones.ProduceDrones object at 0x894fc4c>>) | 02:08 |
gau_veldt | Ekk! Tried to set resources but it already existed (<bound method ProduceDrones.resources of <tp.server.rules.dronesec.orders.ProduceDrones.ProduceDrones object at 0x894fc4c>>) | 02:09 |
gau_veldt | the traceback happens at the client | 02:09 |
tansell | I guess you could do | 02:09 |
tansell | rm -rf ~/.tp | 02:09 |
tansell | which should remove the client cache | 02:09 |
gau_veldt | trying with the caceh cleared right out | 02:10 |
gau_veldt | works now | 02:12 |
gau_veldt | second time's always a charm with caching so I'll run client one more time | 02:12 |
tansell | hrm, the cache should not fail in that case | 02:13 |
gau_veldt | works and rememebred what I ordered | 02:14 |
gau_veldt | and now syas repeat instead of wait | 02:14 |
gau_veldt | and the repeat text | 02:14 |
gau_veldt | so the cacheing might have isues if the ruleset changes | 02:15 |
tansell | gau_veldt, it shouldn't | 02:16 |
gau_veldt | so then something isn't invalidating when it should | 02:16 |
gau_veldt | namely attribute names | 02:17 |
tansell_laptop | the names are not even used on the client side (except to be displayed) | 02:17 |
gau_veldt | are the attributes using any form of hashing? | 02:18 |
gau_veldt | for their indexing? | 02:18 |
gau_veldt | where changing 'wait' to 'repeat' might have changed the hash ordering? | 02:18 |
tansell_laptop | you are using the debian packages for the client? | 02:18 |
gau_veldt | since 'r' of 'repeat' is before the | 02:19 |
gau_veldt | 's' in 'ships' | 02:19 |
tansell_laptop | nope | 02:19 |
gau_veldt | whereas 'w' in 'wait' would have been after? | 02:19 |
gau_veldt | using the gutsy one | 02:19 |
gau_veldt | deb http://packages.thousandparsec.net/hardy hardy universe | 02:20 |
gau_veldt | deb-src http://packages.thousandparsec.net/hardy hardy universe | 02:20 |
tpb | Title: Index of /hardy (at packages.thousandparsec.net) | 02:20 |
gau_veldt | hardy rather | 02:20 |
gau_veldt | and using tpclient-pywx | 02:21 |
gau_veldt | if netlib say used a hash for numbering an object's attributes it could well end up that it gave the client something in a different order to what its cache told it to expect them in | 02:22 |
gau_veldt | if it did that then it would be trying to get things from the 'ships' aggregate type from the 'repeat' int type and causing all sorts of problems | 02:24 |
gau_veldt | probably python AttributeError's | 02:24 |
gau_veldt | or range(0, length): paased the ships aggregate in the length arg | 02:25 |
gau_veldt | that provides a possible explanation for range saying it had too many arguments | 02:26 |
gau_veldt | (it should only have passed the repeat value which is singular) | 02:26 |
gau_veldt | and yeah doesn't python store things like dictionaries (which includes an object's atribute list) internally with a hash? | 02:27 |
tansell_laptop | yes, but none of that should make a difference | 02:28 |
gau_veldt | it would if the client ever cached things like the object attribute templates | 02:29 |
tansell_laptop | hrm, as you are not running the development version the traceback you gave isn't much useful | 02:29 |
tansell_laptop | gau_veldt, but it doesn't | 02:29 |
tansell_laptop | it cache's the order descriptions | 02:29 |
gau_veldt | in a list or in a dctionary? | 02:30 |
tansell_laptop | neither | 02:30 |
gau_veldt | what's it representing that in memory with then? | 02:31 |
gau_veldt | another way you could get that is if it uses an iterator to pull in the values but expects the iteration to match the way it comes from the server | 02:32 |
tansell_laptop | what should happen | 02:33 |
tansell_laptop | hrm... | 02:33 |
gau_veldt | I know for sure that on the server end there are dictionaries involved | 02:34 |
gau_veldt | since that's what the attributes = {} is stroing stuff as | 02:34 |
tansell_laptop | hrm | 02:34 |
tansell_laptop | this line doesn't make much sense | 02:34 |
tansell_laptop | length, = output | 02:34 |
gau_veldt | well if length is a number then range(0,length) makes sense | 02:35 |
gau_veldt | but if length was instead a list or a dictionary (to store the ships aggregate) then that range(0,['this','that','the','other']) is the type of thing that ends up happening | 02:36 |
gau_veldt | hmm ok no that gives a different error | 02:38 |
tansell_laptop | hrm | 02:39 |
gau_veldt | something doing a safety becuyase range got a really large number for the max? | 02:39 |
tansell_laptop | well, off to dinner | 02:40 |
tansell_laptop | gau_veldt, yeah that is what is happening | 02:40 |
tansell_laptop | but it should fail gracefully | 02:40 |
tansell_laptop | be back in an hour | 02:40 |
gau_veldt | just duped that from python command mode | 02:41 |
gau_veldt | >>> print range(0,99999999999999999) | 02:41 |
gau_veldt | Traceback (most recent call last): | 02:41 |
gau_veldt | File "<stdin>", line 1, in <module> | 02:41 |
gau_veldt | OverflowError: range() result has too many items | 02:41 |
gau_veldt | enjoy dinner | 02:42 |
*** ezod has joined #tp | 02:56 | |
tansell_laptop | anyway I'm heading off home now | 03:03 |
tansell_laptop | see ya | 03:03 |
*** zzorn has quit IRC | 03:04 | |
*** mithro has quit IRC | 03:21 | |
*** mithro has joined #tp | 03:46 | |
mithro | ezod: ping? | 03:50 |
gau_veldt | don't sense an ezod at the ezod landing | 04:29 |
gau_veldt | saw tansell in earlier but he went for dinner then went home or something like that | 04:30 |
JLP | gau_veldt: mithro == tansell | 04:32 |
gau_veldt | oic ok | 04:33 |
gau_veldt | hello again | 04:33 |
mithro | tansell is my work computers | 04:38 |
mithro | this is my personal one | 04:38 |
mithro | Greywhind: which timezone are you in? | 04:46 |
mithro | s/ Greywhind / gau_veldt | 04:46 |
gau_veldt | me? PST (UTC-0800) | 04:48 |
gau_veldt | 1:48am right now | 04:48 |
gau_veldt | sometimes I don't sleep well at night :( | 04:52 |
gau_veldt | I want to look at just what the rulesets are capable of | 04:55 |
gau_veldt | hmm the ruleset has a poriton that needs to be done in scheme? | 05:06 |
gau_veldt | ugh it's forward polish | 05:14 |
gau_veldt | although I shouln't be too surprised since LISP does it the same way | 05:14 |
gau_veldt | actually isn't scheme a dialect of LISP anyway? | 05:16 |
gau_veldt | mithro: png? | 05:18 |
gau_veldt | mithro: ping? | 05:18 |
mithro | gau_veldt: pong | 05:22 |
mithro | yes the portion which is sent to the client is in scheme | 05:22 |
gau_veldt | oh ok there are still people around :P | 05:22 |
gau_veldt | so does dronesec have a scheme file hanging around somewhere? | 05:23 |
mithro | nope | 05:24 |
mithro | it doesn't use any of the design stuff | 05:24 |
mithro | actually | 05:24 |
mithro | I lie | 05:24 |
mithro | it has some limited stuff to show drone details in the design view | 05:24 |
gau_veldt | so what does the ruleset express in scheme exactly? just the presentation elements? | 05:27 |
mithro | "designs" | 05:31 |
mithro | IE the ability to create abitary ships, weapons, structures, etc | 05:31 |
mithro | have you played Stars! at all? | 05:31 |
gau_veldt | no | 05:32 |
gau_veldt | but I have played games like civilization, lpaha centauri, star wars rebllion and such | 05:32 |
mithro | do they let you build your own ships out of various components? | 05:33 |
gau_veldt | not really | 05:34 |
gau_veldt | so you can basically in-game make your own custom ships? | 05:34 |
mithro | it's one of the fundamental parts of Stars! | 05:34 |
mithro | you have components | 05:34 |
mithro | like "Daddy Long Legs Engine" | 05:34 |
mithro | and "Blaster X", "Blaster Y" | 05:34 |
gau_veldt | or "Warp Drive" | 05:34 |
mithro | and you can put them together in various configurations | 05:35 |
mithro | but somethings are not compatible | 05:35 |
gau_veldt | ah, mutexes | 05:35 |
mithro | ie a "Sheep's Skin Shield" might be incompatible with all weapons | 05:35 |
gau_veldt | wicked | 05:35 |
mithro | so the scheme stuff allows you to describe that | 05:35 |
mithro | and allows clients to build designs locally without having to ask the server all the time | 05:36 |
gau_veldt | what about resources? facilities? | 05:36 |
mithro | the thing is generic | 05:36 |
mithro | so anything could be designed | 05:36 |
mithro | ships are the common idea | 05:36 |
gau_veldt | quests? | 05:36 |
mithro | but MTSec was/is lets you design torpedos | 05:36 |
mithro | not really on the quests side | 05:36 |
mithro | you generally don't have quests in a 4x game :) | 05:37 |
mithro | (specially not a multi-player one) | 05:37 |
mithro | http://www.thousandparsec.net/tp/dev/documents/mtsec.php | 05:38 |
tpb | <http://ln-s.net/JsQ> (at www.thousandparsec.net) | 05:38 |
gau_veldt | actually I'm probably in the 4x realm think more of the opposite of quests | 05:39 |
mithro | but the design stuff is anything which could have a "blueprint" | 05:40 |
mithro | IE Ships, Weapons, Facilities | 05:40 |
gau_veldt | where you indicate you'd like a certain "mission" to happen at a target could be a simple "spy on my neighbour" operation or something more | 05:40 |
mithro | gau_veldt: you would probably do that with orders rather then the design stuff | 05:40 |
mithro | although you could have "Design your own spy" | 05:41 |
gau_veldt | that's part of it | 05:41 |
mithro | and then an order might be | 05:41 |
gau_veldt | but go one more "deisgn your own operation" | 05:41 |
mithro | "Spy on X with <my spy>" | 05:41 |
mithro | gau_veldt: I guess you could design your own operation | 05:41 |
mithro | it would be a little clunky | 05:41 |
mithro | but it could work | 05:41 |
mithro | and if it becomes popular I'm sure we'll make it less clunky :) | 05:41 |
gau_veldt | I'm thinking you'd have various verbs and targets which you'd string together to form an operation | 05:42 |
mithro | could do | 05:43 |
mithro | anyway I need to head to bed | 05:43 |
mithro | got to get up at 5am tommorrow | 05:43 |
gau_veldt | oh yeah it would be bedtime I guess | 05:43 |
mithro | only 9:44pm here | 05:44 |
mithro | but getting up early sucks :) | 05:44 |
mithro | so off I head | 05:44 |
mithro | have a good night | 05:44 |
gau_veldt | well for a 5am rise that's aobut right | 05:44 |
gau_veldt | ttfn and thanks for all your help | 05:44 |
mithro | gau_veldt: cool to have you interested, I do recommend subscribing to the mailing lists | 05:44 |
mithro | they are fairly low volume | 05:44 |
gau_veldt | I should try myself for round 2 of getting sleep | 05:44 |
mithro | gnight | 05:45 |
gau_veldt | yeah just the finding them and subscribing them | 05:45 |
mithro | http://www.thousandparsec.net/tp/mailman.php/listinfo/ | 05:45 |
tpb | <http://ln-s.net/1a5H> (at www.thousandparsec.net) | 05:45 |
mithro | tp and tp-devel are the main ones | 05:45 |
mithro | see ya! | 05:45 |
gau_veldt | yes same | 05:46 |
*** JLafont has joined #tp | 08:02 | |
*** peres has joined #tp | 08:54 | |
*** gau_veldt has quit IRC | 10:13 | |
*** bddebian has joined #tp | 10:20 | |
bddebian | Heya | 10:21 |
*** peres has left #tp | 10:55 | |
*** zzorn has joined #tp | 11:21 | |
ezod | mithro: ping? | 11:53 |
JLP | ezod: mithro's asleep now, should wake up in an hour or so | 11:54 |
ezod | ah, okay | 11:55 |
* ezod is on hackaday :) | 12:14 | |
* JLP is on sickdays, slowly turning into hackdays :) | 12:17 | |
ezod | http://hackaday.com/2008/11/11/super-nintendo-clock | 12:21 |
tpb | <http://ln-s.net/2Sb_> (at hackaday.com) | 12:21 |
JLP | ezod: yeah i've been reading your twits :) | 12:23 |
ezod | oh right lol | 12:23 |
ezod | comment on facebook: Glad to see your PhD is going well... | 12:23 |
*** Erroneous has joined #tp | 12:46 | |
*** mithro has quit IRC | 14:28 | |
*** gau_veldt has joined #tp | 14:54 | |
gau_veldt | hi | 15:33 |
gau_veldt | any here alive right now? | 15:35 |
Greywhind | yes | 15:36 |
gau_veldt | hiya | 15:38 |
Greywhind | hi | 15:38 |
gau_veldt | I want to find out the anatomy of a ruleset in the python layer | 15:38 |
gau_veldt | I was wondering if there is any documentation like that already or, if not, at least would provide a place to start | 15:39 |
gau_veldt | something that shows where the python ends and the database begins, or where the clinet ends and the server begins, where the python ends and the scheme beings etc | 15:40 |
Greywhind | i'm afraid i haven't looked at ruleset development myself | 15:41 |
Greywhind | you might try downloading the code and looking at it there | 15:41 |
gau_veldt | well I have dronsec | 15:43 |
gau_veldt | but I'm still looking to see how it works together | 15:44 |
Greywhind | MiniSec is probably the best to get started with, since it's supposed to be a somewhat simple example | 15:44 |
gau_veldt | dronesec is supposed to be pretty simple too | 15:44 |
Greywhind | k | 15:44 |
gau_veldt | doesn't even end its own turns | 15:44 |
gau_veldt | you have to do it from the sheel via tpserver-py-tool | 15:45 |
gau_veldt | s/sheel/shell/ | 15:45 |
Greywhind | i see | 15:45 |
gau_veldt | I wonder about turns and stuff too | 16:06 |
gau_veldt | in some games the turn signifies when orders are to actually happen | 16:10 |
JLP | gau_veldt: yeah, you usualy set the tick rate for the game when you configure the server, for example you say it is 10 minutes, and then when 10 minutes pass the server processes all the orders from the players | 16:12 |
gau_veldt | in others turns are coutners for how many actions you can do (generally each order is a turn except maybe for orders that just change a performance factor perhaps setting something like a "tax" rate as oppose to an action that takes a turn like say, attack, or explore | 16:12 |
gau_veldt | yet other games still the turn "happens" after all players complete their desired actions | 16:13 |
gau_veldt | (thus not based on time at all) | 16:13 |
JLP | i think there is also an option to prematurely end the turn when a set number of players signal the server that they have issues all the orders they wanted | 16:13 |
gau_veldt | and the ruleset can indicate which is appropriate? you may not necessarily want the "end turn" option where a turn is a coutner to actions you can do | 16:14 |
gau_veldt | or in a game like Star Wars rebeliion where a turn is indicative of passing of time | 16:15 |
JLP | yup you can define all the options you want from the ruleset itself, and also ruleset defines which orders are available to players and what happens for each order and in which order the orders are processed at the end of turn | 16:15 |
gau_veldt | what about orders that should happen immediately or orders that should not be tied to a turn? | 16:17 |
gau_veldt | back to the example of setting, sya, a colony "tax" rate | 16:17 |
JLP | as far as i know there is no orders that happen immidiately, all of them only happen at the end of turn | 16:17 |
gau_veldt | where the current rate would affect mechanics when the turn happens but you could change it perhaps many times during any turn | 16:18 |
gau_veldt | orders like that should change immeidately but would only have effect in game mechanics calculation when the turn ends | 16:20 |
gau_veldt | or what about games like Earth 2025 where turns is per player that happen over time (but is set up so you could play your turns once a day or whenever you make it to the game site) | 16:21 |
JLafont | gau_veldt: The python server doesn't support an EOT. Its currently set so that every player has to Request an End of turn. Once everyone has done so, the turn ends. | 16:21 |
gau_veldt | well you could have an async run tpserver_py_tool to use the end turn command | 16:22 |
JLafont | yeah that works as well | 16:22 |
gau_veldt | hmm the python server might need adjustment in that area so the ruleset can more precisley define turn mechanics | 16:23 |
gau_veldt | in most massive multiplayer cases you want the "turn" to be based on passage of time | 16:24 |
JLafont | If I remember correctly scheme is only really used for Designs and Components | 16:26 |
gau_veldt | tansell had said dronesec uses scheme so the client can tell you about the state of a drone | 16:28 |
* JLafont doesn't remember using scheme... | 16:28 | |
JLafont | You can, but I don't think dronesec really used it. minisec plus has a more functional use for the scheme | 16:29 |
JLafont | Then again, minisec isn't running out of the box right now, so I might have to tinker with it and fix it. | 16:29 |
JLafont | minsecplus that is | 16:29 |
gau_veldt | (02:24:11 AM) mithro: it doesn't use any of the design stuff | 16:30 |
gau_veldt | (02:24:39 AM) mithro: actually | 16:30 |
gau_veldt | (02:24:41 AM) mithro: I lie | 16:30 |
gau_veldt | (02:24:51 AM) mithro: it has some limited stuff to show drone details in the design view | 16:30 |
JLafont | Yeah, but the Design stuff doesn't necessarily have to use any of the scheme parts. I basically used the design stuff as a sort of stats viewer using components. | 16:31 |
gau_veldt | also if you wanted to construct facilities or colonies on planets can that be done with desing/components too? | 16:32 |
gau_veldt | so not just ship-like things with custom bannawarp engines with rootbeer shields | 16:32 |
JLafont | I think you can use designs as a way of customizing parts yes. But I think the easiest way to keep track of how many factories or people you have in a planet would be using resources. | 16:33 |
gau_veldt | resources makes me think of like a planet's ore deposits or building capacity | 16:34 |
JLafont | yeah, but some people have used them to keep track of people or troops. If I remember correctly, Risk uses resources for troop numbers in the planets. | 16:35 |
gau_veldt | and in games like civilization you can put arbitrary infrastructure into settlements | 16:36 |
gau_veldt | depending on what you want the settlment to produce | 16:36 |
*** bddebian has quit IRC | 16:39 | |
gau_veldt | the other thing I'd like is for units that survive for a long time to get better (ie: "gain experience") | 16:40 |
gau_veldt | well I rephrase that survive a large number of operations (be it attacks, espionage, sabotage, what have you) | 16:41 |
JLafont | gau_veldt: Resources should work just fine as infracstructure. I didn't used Designs much, I sorta added them in so I could figure what and how they work. | 16:42 |
JLafont | Letting units have experience should be really easy. You can have multiple fleets which can have any kind of attributes you want. | 16:43 |
gau_veldt | and I guess with designs units could have equpiment then I guess too? | 16:43 |
JLafont | I think so. mithro might be the better person to ask about that though | 16:45 |
gau_veldt | he was kinda of saying with the LISP (aka scheme) you could get desings to do pretty much anything | 16:46 |
gau_veldt | but this is the stuff I need to find out is what parts of the ruleset are best for which tasks | 16:48 |
gau_veldt | then there's the whole research aspect too | 16:50 |
gau_veldt | in some games it's set up so it's an action you need to take continually do that improves your tech rating over time | 16:52 |
gau_veldt | in others it's based on what you have built (ie: starcraft) | 16:53 |
gau_veldt | and lastly some even let you visit a certain planet to learn a specific tech/skill/whatever | 16:54 |
gau_veldt | in Star Wars that planet would have been called "Dagobah" | 16:54 |
*** nash has joined #tp | 17:08 | |
*** DTRemenak|RDP has joined #tp | 17:10 | |
gau_veldt | anyways afk for now... I'll be on later | 17:16 |
*** Erroneous has quit IRC | 17:28 | |
*** Greywhind has quit IRC | 19:10 | |
*** DTRemenak|RDP has quit IRC | 21:18 | |
*** bddebian has joined #tp | 21:21 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!