Tuesday, 2008-11-11

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
gau_veldtoic jumped to the running the server command before the commands to populate it00:00
gau_veldtbut that might because becuase the documentation did that too00:00
gau_veldtoh wiat the tool needs the server running doesn't it?00:01
tansell-laptopno00:04
tansell-laptopit doesn't00:05
gau_veldtany population method better than the others?00:06
tansell-laptopnot that I know off00:09
*** tansell_laptop has joined #tp00:12
tansell_laptopsorry about that00:13
tansell_laptopyou making any progress?00:13
tansell_laptopgau_veldt, sorry about the hassles00:14
tansell_laptopwe need more people to try out the code so we know when it's borked00:15
gau_veldtI'm trying to make fighters now00:15
gau_veldtno name field00:15
gau_veldtI have a wait field with a 0 in it00:16
tansell_laptopgau_veldt, did you just add a Nop order?00:16
gau_veldtno CreateDrones00:17
*** tansell-laptop has quit IRC00:17
gau_veldtPRoduceDrones rather00:17
tansell_laptopbtw - what screen resolution are you using?00:17
gau_veldt0 ProduceDrones00:17
tansell_laptopcan you post a screenshot?00:17
gau_veldthttp://rpg.animemayhem.com/tp_shot.png00:19
tansell_laptophrm... that is rather interesting00:19
tansell_laptopnot seen that one before00:20
* tansell_laptop pokes JLafont with something sharp and pointy00:21
gau_veldtso doesn't match the example00:21
gau_veldtI populated 10 standard 3  is that the wonrg one?00:21
gau_veldtversion 0.0.2 of dronesec  is that right?00:23
gau_veldtmaybe the drones in 0.0.2 aren't namable?00:26
gau_veldtor I just happened to facepalm a bug00:27
gau_veldtseems you are the only one here00:29
tansell_laptopI'm not quite sure00:29
*** JLafont has quit IRC00:29
gau_veldtother than the bot00:29
tansell_laptopnormally llnz would be here00:29
tansell_laptopbut he is getting married at the end of the week00:29
tansell_laptopezod and jlafont are normally around on the US time schedule00:29
tansell_laptopI would recommend posting the question to the mailing list00:30
tansell_laptopJlafont should reply there00:30
gau_veldtyeah marriages have a way of making people busy especially if they are the bride or groom00:30
gau_veldt9:30pm PST   west coast so 12:30am EST on east coast00:31
gau_veldtI'll have to susbscribe00:31
* tansell_laptop is flying out to llnz wedding tommorrow00:31
*** mithro has joined #tp00:31
tansell_laptopdo you have some time to do a few more tests?00:33
gau_veldtok00:36
gau_veldtcertain would like to get this going eventually00:38
gau_veldtso I can dig into the ruleset and add things like mines, refineries, trade and all the fun stuff00:38
CIA-35tansell tpserver-py-dronesec * r38493b680488 / (.gitmodules libtpproto-py requirements.py): Fixed up the submodules and make them auto-checkout.00:40
tansell_laptopcan you do a fresh clone of just00:40
tansell_laptoptpserver-py.git00:40
gau_veldthow to do that?00:41
gau_veldtdlete directory then reget?00:41
tansell_laptopjust updated the dronesec instructions now00:42
gau_veldthttp://www.thousandparsec.net/wiki/DroneSec/Getting_Started#Adding_Players00:42
tpb<http://ln-s.net/2SUm> (at www.thousandparsec.net)00:42
gau_veldtthat one?00:42
tansell_laptopthe stuff right at the top00:44
tansell_laptopIE A fresh clone00:44
tansell_laptopso remove everything you already have00:44
gau_veldtjust the server or do you want to to wipe it all now?00:45
tansell_laptopall the server stuff00:46
gau_veldtrm -rf tpserver-py scratchpad schemepy libtpproto-py?00:46
tansell_laptopyes00:48
gau_veldtget as far as trying to run tpserver-py-tool00:50
gau_veldtnow it complains about schemepy00:50
gau_veldtImportError: No module named schemepy00:51
gau_veldtthe server itself starts up fine00:52
tansell_laptopahh I see the problem00:52
*** JLP has quit IRC00:56
gau_veldton round 1 we symlinked that dir00:56
gau_veldtfor round 2 it now looks like: gau@Nall:~/sources/tpserver-py$ ls schemepy00:58
gau_veldtbenchmark  debian  doc  INSTALL  Makefile  misc  README  schemepy  tests00:58
CIA-35tansell tpserver-py-dronesec * r96a86cc29b82 /tpserver-py-tool: Also import requirements in the tool.01:00
tansell_laptopgau_veldt, give that a go01:00
gau_veldtall the way from rm again ?01:00
tansell_laptopyes, if you wouldn't mind01:00
gau_veldtokay doing 10 standard 3 again01:03
gau_veldtokay it's doing the same things now01:05
gau_veldtas you saw in the screenshot01:06
tansell_laptopokay01:06
tansell_laptopwell, atleast we have figured out the setup steps01:06
gau_veldtwell different planet names and such but as for as the wait stuff and no name field its same01:06
tansell_laptopI think probably the name field is gone01:06
tansell_laptopas it didn't make any sense in dronesec01:07
tansell_laptopnot quite sure what the wait field does01:07
gau_veldtsaid something about timing for the action01:07
tansell_laptopif 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_laptophrm01:09
gau_veldtwell it rememebred my orders when I logged back in01:09
tansell_laptopI think "repeat" is probably a better name01:09
tansell_laptopIE how many turns this order repeats for01:09
tansell_laptopso produce drones for 5 turns01:10
gau_veldtwell if it means that then "Number of turns to reissue this order.  0 for current turn only."01:13
gau_veldtor better yet just one-base it and have one indicate once01:13
gau_veldtotherwise 1 actually means twice01:13
*** zzorn has quit IRC01:15
gau_veldt"Number of times to issue this order (once per turn)"01:15
gau_veldtmake the lowest value 1 if possible01:16
tansellgau_veldt, patches welcome :)01:16
tansellfixing that would actually be a fairly good introduction to doing various ruleset stuff on tpserver-py01:17
gau_veldtI haven't looked into the ruleset file yet to figure out how to do things with it01:17
tansellthe python stuff is really simple01:17
tansellgau_veldt, if I explain how to do stuff01:17
gau_veldtwill something like that invalidate the db?01:17
tansellwould you put it up on a wiki page?01:18
tansellJlafont was going to01:18
tansellbut he hasn't had the time01:18
tansellgau_veldt, kind of01:19
tansellthere isn't really a good "upgrade" method for when orders change01:19
tansellbut that will change when upgrading becomes common01:19
gau_veldtput what on wiki page the change to the order?  what page to add that on?01:24
tansellno - I mean a general "how to write a ruleset for tpserver-py"01:24
gau_veldthmm I could once I start doing it myself01:25
gau_veldtthe repeat looks to be problematic01:26
gau_veldtthe ARG_TIME is 0 based which is confusing01:26
*** nash has quit IRC01:27
gau_veldtthis may be a bigger change since I don't think netlib is part of dronesec proper01:27
gau_veldtyou really want a repeat count to be on [1,()()+)01:28
gau_veldt()() as a cheap asci infinity symbol01:28
*** zzorn has joined #tp01:28
tansellgau_veldt, right01:29
*** JLP has joined #tp01:30
tansellgau_veldt, there are a RANGE argument01:30
JLPgood morning everyone01:31
tansells/are/is/01:32
gau_veldthmm how to remove the database file?01:33
gau_veldtjust rm it?01:33
gau_veldtor is there better way?01:33
tansellyou can rm it01:33
tansellor you can use the tool to remove the game01:33
gau_veldthmm I have to change something else to it looks like01:36
gau_veldtnot just the producedrones file01:36
tansellhrm01:37
tansellyou should only need to change producedrones01:37
tanselldon't forget you have to restart the server after changing the files01:37
gau_veldtI did01:38
gau_veldtit says there's no element called fn_repeat01:38
tansellahh01:38
gau_veldtAttributeError: 'ProduceDrones' object has no attribute 'fn_repeat'01:39
tansellthe attribute is "protected"01:39
tansellwhich means you need to define a fn_<attribute name>01:39
tansellyou could probably rename the fn_wait one01:39
gau_veldthmm or not...  looks like 0 is used for infinite01:41
tansellahh that kind of make sense01:42
tansell0 == repeat forever01:42
tansell?01:42
tansell 102                         #Removes order if length was given (not zero) and after drones are produced01: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 length01:42
tansell 107                                 self.wait -= 101:42
tansell 108                                 self.save()01:42
gau_veldtdesc="Number of times to issue this order, once per turn (0 is forever)."01:45
tansellsounds good01:45
gau_veldtuhoh I messed it up I think01:53
gau_veldtEkk! 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_veldtEkk! 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_veldtand OverflowError: range() result has too many items in the client01:54
tansellyou can ignore the first two01: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_veldtis 1 not a default value?01:56
tansell_laptopyes it's the default01:57
tansell_laptopdid you update the rest of the file to only reference "range" ?01:58
gau_veldtI don't know how range even got into this01:58
gau_veldtthe only other thing I had to do is make fn_wait into fn_repeat and change self.wait to self.repeat01:59
gau_veldtthe world range doesn't occur in the file at all01:59
gau_veldthttp://rafb.net/p/ZkqP4g45.html02:02
tpbTitle: Nopaste - traceback (at rafb.net)02:02
gau_veldtI stopped the server wiped the database and everything02:02
tansellhrm...02:04
gau_veldtis the client cache something that isn't invalidating?02:04
tansellwhats02:04
tansellgit diff02:04
tansellshow?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
tansellis that the complete diff?02:06
gau_veldthttp://rafb.net/p/fPjcOZ65.html02:06
gau_veldtno02:06
tpbTitle: Nopaste - git diff output (at rafb.net)02:06
gau_veldtI'm wondering if the client's caching might not be invalidating the game data completely02:07
tansellyou are seeing this error on the server right?02:08
gau_veldteven with the database purged and repopulated02:08
gau_veldtand the server restart02:08
gau_veldtno I get this at the server02:08
gau_veldtEkk! 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_veldtEkk! 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_veldtthe traceback happens at the client02:09
tansellI guess you could do02:09
tansellrm -rf ~/.tp02:09
tansellwhich should remove the client cache02:09
gau_veldttrying with the caceh cleared right out02:10
gau_veldtworks now02:12
gau_veldtsecond time's always a charm with caching so I'll run client one more time02:12
tansellhrm, the cache should not fail in that case02:13
gau_veldtworks and rememebred what I ordered02:14
gau_veldtand now syas repeat instead of wait02:14
gau_veldtand the repeat text02:14
gau_veldtso the cacheing might have isues if the ruleset changes02:15
tansellgau_veldt, it shouldn't02:16
gau_veldtso then something isn't invalidating when it should02:16
gau_veldtnamely attribute names02:17
tansell_laptopthe names are not even used on the client side (except to be displayed)02:17
gau_veldtare the attributes using any form of hashing?02:18
gau_veldtfor their indexing?02:18
gau_veldtwhere changing 'wait' to 'repeat' might have changed the hash ordering?02:18
tansell_laptopyou are using the debian packages for the client?02:18
gau_veldtsince 'r' of 'repeat' is before the02:19
gau_veldt's' in 'ships'02:19
tansell_laptopnope02:19
gau_veldtwhereas 'w' in 'wait' would have been after?02:19
gau_veldtusing the gutsy one02:19
gau_veldtdeb http://packages.thousandparsec.net/hardy hardy universe02:20
gau_veldtdeb-src http://packages.thousandparsec.net/hardy hardy universe02:20
tpbTitle: Index of /hardy (at packages.thousandparsec.net)02:20
gau_veldthardy rather02:20
gau_veldtand using tpclient-pywx02:21
gau_veldtif 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 in02:22
gau_veldtif 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 problems02:24
gau_veldtprobably python AttributeError's02:24
gau_veldtor range(0, length):   paased the ships aggregate in the length arg02:25
gau_veldtthat provides a possible explanation for range saying it had too many arguments02:26
gau_veldt(it should only have passed the repeat value which is singular)02:26
gau_veldtand yeah doesn't python store things like dictionaries (which includes an object's atribute list) internally with a hash?02:27
tansell_laptopyes, but none of that should make a difference02:28
gau_veldtit would if the client ever cached things like the object attribute templates02:29
tansell_laptophrm, as you are not running the development version the traceback you gave isn't much useful02:29
tansell_laptopgau_veldt, but it doesn't02:29
tansell_laptopit cache's the order descriptions02:29
gau_veldtin a list or in a dctionary?02:30
tansell_laptopneither02:30
gau_veldtwhat's it representing that in memory with then?02:31
gau_veldtanother 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 server02:32
tansell_laptopwhat should happen02:33
tansell_laptophrm...02:33
gau_veldtI know for sure that on the server end there are dictionaries involved02:34
gau_veldtsince that's what the attributes = {} is stroing stuff as02:34
tansell_laptophrm02:34
tansell_laptopthis line doesn't make much sense02:34
tansell_laptoplength, = output02:34
gau_veldtwell if length is a number then range(0,length) makes sense02:35
gau_veldtbut 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 happening02:36
gau_veldthmm ok no that gives a different error02:38
tansell_laptophrm02:39
gau_veldtsomething doing a safety becuyase range got a really large number for the max?02:39
tansell_laptopwell, off to dinner02:40
tansell_laptopgau_veldt, yeah that is what is happening02:40
tansell_laptopbut it should fail gracefully02:40
tansell_laptopbe back in an hour02:40
gau_veldtjust duped that from python command mode02:41
gau_veldt>>> print range(0,99999999999999999)02:41
gau_veldtTraceback (most recent call last):02:41
gau_veldt  File "<stdin>", line 1, in <module>02:41
gau_veldtOverflowError: range() result has too many items02:41
gau_veldtenjoy dinner02:42
*** ezod has joined #tp02:56
tansell_laptopanyway I'm heading off home now03:03
tansell_laptopsee ya03:03
*** zzorn has quit IRC03:04
*** mithro has quit IRC03:21
*** mithro has joined #tp03:46
mithroezod: ping?03:50
gau_veldtdon't sense an ezod at the ezod landing04:29
gau_veldtsaw tansell in earlier but he went for dinner then went home or something like that04:30
JLPgau_veldt: mithro == tansell04:32
gau_veldtoic ok04:33
gau_veldthello again04:33
mithrotansell is my work computers04:38
mithrothis is my personal one04:38
mithroGreywhind: which timezone are you in?04:46
mithros/ Greywhind / gau_veldt04:46
gau_veldtme?  PST  (UTC-0800)04:48
gau_veldt1:48am right now04:48
gau_veldtsometimes I don't sleep well at night :(04:52
gau_veldtI want to look at just what the rulesets are capable of04:55
gau_veldthmm the ruleset has a poriton that needs to be done in scheme?05:06
gau_veldtugh it's forward polish05:14
gau_veldtalthough I shouln't be too surprised since LISP does it the same way05:14
gau_veldtactually isn't scheme a dialect of LISP anyway?05:16
gau_veldtmithro: png?05:18
gau_veldtmithro: ping?05:18
mithrogau_veldt: pong05:22
mithroyes the portion which is sent to the client is in scheme05:22
gau_veldtoh ok there are still people around :P05:22
gau_veldtso does dronesec have a scheme file hanging around somewhere?05:23
mithronope05:24
mithroit doesn't use any of the design stuff05:24
mithroactually05:24
mithroI lie05:24
mithroit has some limited stuff to show drone details in the design view05:24
gau_veldtso what does the ruleset express in scheme exactly?  just the presentation elements?05:27
mithro"designs"05:31
mithroIE the ability to create abitary ships, weapons, structures, etc05:31
mithrohave you played Stars! at all?05:31
gau_veldtno05:32
gau_veldtbut I have played games like civilization, lpaha centauri, star wars rebllion and such05:32
mithrodo they let you build your own ships out of various components?05:33
gau_veldtnot really05:34
gau_veldtso you can basically in-game make your own custom ships?05:34
mithroit's one of the fundamental parts of Stars!05:34
mithroyou have components05:34
mithrolike "Daddy Long Legs Engine"05:34
mithroand "Blaster X", "Blaster Y"05:34
gau_veldtor "Warp Drive"05:34
mithroand you can put them together in various configurations05:35
mithrobut somethings are not compatible05:35
gau_veldtah, mutexes05:35
mithroie a "Sheep's Skin Shield" might be incompatible with all weapons05:35
gau_veldtwicked05:35
mithroso the scheme stuff allows you to describe that05:35
mithroand allows clients to build designs locally without having to ask the server all the time05:36
gau_veldtwhat about resources?  facilities?05:36
mithrothe thing is generic05:36
mithroso anything could be designed05:36
mithroships are the common idea05:36
gau_veldtquests?05:36
mithrobut MTSec was/is lets you design torpedos05:36
mithronot really on the quests side05:36
mithroyou generally don't have quests in a 4x game :)05:37
mithro(specially not a multi-player one)05:37
mithrohttp://www.thousandparsec.net/tp/dev/documents/mtsec.php05:38
tpb<http://ln-s.net/JsQ> (at www.thousandparsec.net)05:38
gau_veldtactually I'm probably in the 4x realm think more of the opposite of quests05:39
mithrobut the design stuff is anything which could have a "blueprint"05:40
mithroIE Ships, Weapons, Facilities05:40
gau_veldtwhere you indicate you'd like a certain "mission" to happen at a target  could be a simple "spy on my neighbour" operation or something more05:40
mithrogau_veldt: you would probably do that with orders rather then the design stuff05:40
mithroalthough you could have "Design your own spy"05:41
gau_veldtthat's part of it05:41
mithroand then an order might be05:41
gau_veldtbut go one more "deisgn your own operation"05:41
mithro"Spy on X with <my spy>"05:41
mithrogau_veldt: I guess you could design your own operation05:41
mithroit would be a little clunky05:41
mithrobut it could work05:41
mithroand if it becomes popular I'm sure we'll make it less clunky :)05:41
gau_veldtI'm thinking you'd have various verbs and targets which you'd string together to form an operation05:42
mithrocould do05:43
mithroanyway I need to head to bed05:43
mithrogot to get up at 5am tommorrow05:43
gau_veldtoh yeah it would be bedtime I guess05:43
mithroonly 9:44pm here05:44
mithrobut getting up early sucks :)05:44
mithroso off I head05:44
mithrohave a good night05:44
gau_veldtwell for a 5am rise that's aobut right05:44
gau_veldtttfn and thanks for all your help05:44
mithrogau_veldt: cool to have you interested, I do recommend subscribing to the mailing lists05:44
mithrothey are fairly low volume05:44
gau_veldtI should try myself for round 2 of getting sleep05:44
mithrognight05:45
gau_veldtyeah just the finding them and subscribing them05:45
mithrohttp://www.thousandparsec.net/tp/mailman.php/listinfo/05:45
tpb<http://ln-s.net/1a5H> (at www.thousandparsec.net)05:45
mithrotp and tp-devel are the main ones05:45
mithrosee ya!05:45
gau_veldtyes same05:46
*** JLafont has joined #tp08:02
*** peres has joined #tp08:54
*** gau_veldt has quit IRC10:13
*** bddebian has joined #tp10:20
bddebianHeya10:21
*** peres has left #tp10:55
*** zzorn has joined #tp11:21
ezodmithro: ping?11:53
JLPezod: mithro's asleep now, should wake up in an hour or so11:54
ezodah, okay11:55
* ezod is on hackaday :)12:14
* JLP is on sickdays, slowly turning into hackdays :)12:17
ezodhttp://hackaday.com/2008/11/11/super-nintendo-clock12:21
tpb<http://ln-s.net/2Sb_> (at hackaday.com)12:21
JLPezod: yeah i've been reading your twits :)12:23
ezodoh right lol12:23
ezodcomment on facebook: Glad to see your PhD is going well...12:23
*** Erroneous has joined #tp12:46
*** mithro has quit IRC14:28
*** gau_veldt has joined #tp14:54
gau_veldthi15:33
gau_veldtany here alive right now?15:35
Greywhindyes15:36
gau_veldthiya15:38
Greywhindhi15:38
gau_veldtI want to find out the anatomy of a ruleset in the python layer15:38
gau_veldtI was wondering if there is any documentation like that already or, if not, at least would provide a place to start15:39
gau_veldtsomething 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 etc15:40
Greywhindi'm afraid i haven't looked at ruleset development myself15:41
Greywhindyou might try downloading the code and looking at it there15:41
gau_veldtwell I have dronsec15:43
gau_veldtbut I'm still looking to see how it works together15:44
GreywhindMiniSec is probably the best to get started with, since it's supposed to be a somewhat simple example15:44
gau_veldtdronesec is supposed to be pretty simple too15:44
Greywhindk15:44
gau_veldtdoesn't even end its own turns15:44
gau_veldtyou have to do it from the sheel via tpserver-py-tool15:45
gau_veldts/sheel/shell/15:45
Greywhindi see15:45
gau_veldtI wonder about turns and stuff too16:06
gau_veldtin some games the turn signifies when orders are to actually happen16:10
JLPgau_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 players16:12
gau_veldtin 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 explore16:12
gau_veldtyet other games still the turn "happens" after all players complete their desired actions16:13
gau_veldt(thus not based on time at all)16:13
JLPi 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 wanted16:13
gau_veldtand 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 do16:14
gau_veldtor in a game like Star Wars rebeliion where a turn is indicative of passing of time16:15
JLPyup 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 turn16:15
gau_veldtwhat about orders that should happen immediately or orders that should not be tied to a turn?16:17
gau_veldtback to the example of setting, sya, a colony "tax" rate16:17
JLPas far as i know there is no orders that happen immidiately, all of them only happen at the end of turn16:17
gau_veldtwhere the current rate would affect mechanics when the turn happens but you could change it perhaps many times during any turn16:18
gau_veldtorders like that should change immeidately but would only have effect in game mechanics calculation when the turn ends16:20
gau_veldtor 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
JLafontgau_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_veldtwell you could have an async run tpserver_py_tool to use the end turn command16:22
JLafontyeah that works as well16:22
gau_veldthmm the python server might need adjustment in that area so the ruleset can more precisley define turn mechanics16:23
gau_veldtin most massive multiplayer cases you want the "turn" to be based on passage of time16:24
JLafontIf I remember correctly scheme is only really used for Designs and Components16:26
gau_veldttansell had said dronesec uses scheme so the client can tell you about the state of a drone16:28
* JLafont doesn't remember using scheme...16:28
JLafontYou can, but I don't think dronesec really used it. minisec plus has a more functional use for the scheme16:29
JLafontThen again, minisec isn't running out of the box right now, so I might have to tinker with it and fix it.16:29
JLafontminsecplus that is16:29
gau_veldt(02:24:11 AM) mithro: it doesn't use any of the design stuff16:30
gau_veldt(02:24:39 AM) mithro: actually16:30
gau_veldt(02:24:41 AM) mithro: I lie16:30
gau_veldt(02:24:51 AM) mithro: it has some limited stuff to show drone details in the design view16:30
JLafontYeah, 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_veldtalso if you wanted to construct facilities or colonies on planets can that be done with desing/components too?16:32
gau_veldtso not just ship-like things with custom bannawarp engines with rootbeer shields16:32
JLafontI 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_veldtresources makes me think of like a planet's ore deposits or building capacity16:34
JLafontyeah, 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_veldtand in games like civilization you can put arbitrary infrastructure into settlements16:36
gau_veldtdepending on what you want the settlment to produce16:36
*** bddebian has quit IRC16:39
gau_veldtthe other thing I'd like is for units that survive for a long time to get better (ie: "gain experience")16:40
gau_veldtwell I rephrase that survive a large number of operations (be it attacks, espionage, sabotage, what have you)16:41
JLafontgau_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
JLafontLetting units have experience should be really easy. You can have multiple fleets which can have any kind of attributes you want.16:43
gau_veldtand I guess with designs units could have equpiment then I guess too?16:43
JLafontI think so. mithro might be the better person to ask about that though16:45
gau_veldthe was kinda of saying with the LISP (aka scheme) you could get desings to do pretty much anything16:46
gau_veldtbut this is the stuff I need to find out is what parts of the ruleset are best for which tasks16:48
gau_veldtthen there's the whole research aspect too16:50
gau_veldtin some games it's set up so it's an action you need to take continually do that improves your tech rating over time16:52
gau_veldtin others it's based on what you have built (ie: starcraft)16:53
gau_veldtand lastly some even let you visit a certain planet to learn a specific tech/skill/whatever16:54
gau_veldtin Star Wars that planet would have been called "Dagobah"16:54
*** nash has joined #tp17:08
*** DTRemenak|RDP has joined #tp17:10
gau_veldtanyways afk for now... I'll be on later17:16
*** Erroneous has quit IRC17:28
*** Greywhind has quit IRC19:10
*** DTRemenak|RDP has quit IRC21:18
*** bddebian has joined #tp21:21

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!