Friday, 2008-05-30

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** mithro has joined #tp00:01
*** JLafont has quit IRC00:01
*** JLafont has joined #tp00:09
mithroJLafont: ping?00:18
mithro~seen Asmm00:23
tpbmithro: Asmm was last seen in #tp 1 hour, 47 minutes, and 15 seconds ago: <Asmm> ok, i made it work. I only wanted the code using anonymous cvs, apparently one should nto login, and for git repositories should checkout "master" dir for master branch. Thanks anyway!00:23
mithrohi Asmm are you new here?00:24
mithro~seen jphr00:25
tpbmithro: jphr was last seen in #tp 6 hours, 18 minutes, and 35 seconds ago: <jphr> mithro: ping?00:25
mithrollnz: ping?00:38
*** bddebian has quit IRC00:58
tpbaloril has quit worldforge (Ping timeout: 378 seconds)01:09
llnzmithro: pong01:31
tpbaloril has joined on worldforge01:32
Asmmhello, yeah, sort of new here02:35
nashwelcome to the party Asmm ;-)02:45
llnzbbl (maybe)02:51
*** llnz has quit IRC02:51
*** nash has quit IRC02:52
*** mithro has quit IRC02:53
*** JLafont has quit IRC02:57
*** Iwanowitch has joined #tp06:12
*** JLafont has joined #tp06:46
*** JLafont has quit IRC06:54
*** JLafont has joined #tp06:54
tpbaloril has quit worldforge (Ping timeout: 378 seconds)07:52
tpbaloril has joined on worldforge08:08
*** JLP has quit IRC08:53
*** JLP has joined #tp08:53
*** bddebian has joined #tp09:09
bddebianHeya09:12
*** mithro has joined #tp11:05
CIA-28pluskid schemepy * rff71958f841a /schemepy/ (guile/guile.py mzscheme/mzhelper.c mzscheme/mzscheme.py): Added namespace support for mzscheme.11:26
*** mithro has quit IRC11:40
*** Iwanowitch has quit IRC11:44
*** jphr has joined #tp12:04
*** JLafont has quit IRC12:24
*** JLafont has joined #tp12:25
*** peres has joined #tp12:26
*** mithro has joined #tp12:51
mithromorning people12:52
mithrojphr: you where after me?12:52
jphrmithro: I didn't think I was12:52
mithrooh? I'm sure you pinged me yesterday12:53
jphroh ya, hmm, I gotta think now what I wanted to know. You don't perchance know what time I pinged you at?12:53
mithrojust checking the logs12:53
mithrohttp://www.thousandparsec.net/~irc/logs/%23tp.2008-05-29.log.html#t2008-05-29T18:06:4012:54
tpb<http://ln-s.net/1ti9> (at www.thousandparsec.net)12:54
jphr6, geez, I can't say I remember what I wanted. I'm sure it will come up again later if it was important12:55
jphroh12:56
jphrPlanets, at least when I tried, don't render on the map when they don't have a star system. I think I was wondering if you knew a way to force a star to render on the map if it didn't have a star?12:56
mithrooh, I know what the problem is12:57
mithromy bad :)12:57
mithroyou will need starsystems12:57
mithrolog a bug report12:57
CIA-28mithro libtpclient-py-stable * r4ac9b14dcb41 /tp/client/ChangeList.py: Added ServerOrder property.12:58
CIA-28mithro libtpclient-py-stable * r2c81920c9d8f /tp/client/ChangeList.py: Added method to determine the slot on the server.12:58
CIA-28mithro libtpclient-py-stable * r22f020bf66d5 /tp/client/ (cache.py threads.py): Moved the apply method out of threads and into the cache file.12:58
*** peres has quit IRC13:04
jphralright, you had mentioned yesterday you could tell me how to write a proper bug report?13:07
jphr(and yah, I had reverted back to star systems for the time being)13:08
mithrooh?13:08
jphrjust so I can see where things are as I arrange the map (and also so I can properly test things)13:08
mithroI thought I had explained what is required for a good bug report :)13:09
jphroh, same as asking for help?13:09
jphr(maybe you were mentioning it to someone else and I thought you were talking to me)13:10
*** Erroneous has joined #tp13:11
mithrono, I was saying that they should follow the instructions I gave you13:11
jphrhaha, well I was wondering, I thought you had already given me instructions :P13:12
jphrI did see that my resources were properly displaying yesterday. I have a graph with all my planets laid out properly and connected, and am transposing the #'s to my .cpp today.13:13
mithromight I suggest creating a simple fileformat that you read in?13:14
mithroso people can change the map?13:14
jphrI would hope for that as well. XML?13:14
mithrodunno13:15
mithropossibly something like a graphic file could work13:15
mithroIE a bitmap or something?13:15
jphrIts not wrong of me to suggest I implement that later in the summer?13:15
mithrojphr: nope, as long as it's clear that is what you are doing13:16
jphrI'll make a note to add that to my plans13:16
jphrAs for connectivity, I was thinking about a sparse matrix. Do you think accessing a sparse matrix every time an adjacent planet is needed would be bad for performance?13:17
mithroI have no idea13:17
jphr(that way I wouldn't need to manually enter a ridiculous amount of adjacency lists manually) Test it when I get there?13:17
mithroand I doubt it would be that much of a problem13:18
jphrok. And another question before I forget. You mentioned weekly reports would be more tightly scrutinized this week. Had you seen this one? http://www.hammerofcode.com/2008/05/weekly-report-2/13:19
tpb<http://ln-s.net/1tiN> (at www.hammerofcode.com)13:19
mithrojphr: that is a bit short13:20
mithrolinks to stuff you have done are good13:20
mithro(or specific commits)13:20
jphrok. I had gotten comments my first one was  a little long: http://www.hammerofcode.com/2008/05/weekly-report-2/13:20
tpb<http://ln-s.net/1tiN> (at www.hammerofcode.com)13:20
mithrojphr: I think the first report is not really in a good format13:21
jphrok13:21
jphr(i remember I was having formatting issues)13:22
jphrbullet points?13:22
mithrothe second one has better format13:22
jphrdetail of the first in the format of the second?13:22
mithroyeah kind of13:22
jphrok, I will try and make it better this time. Please let me know what you think after I post13:23
mithroof course the reason I'm making a bigger deal is so that you keep making it better and doing them13:23
mithro~seen vi198513:23
tpbmithro: vi1985 was last seen in #tp 3 weeks, 3 days, 18 hours, 54 minutes, and 9 seconds ago: <vi1985> hey llnz13:23
jphrmithro: oh no problem, i don't take any offense to guidance. I would rather have more of it than less.13:24
mithroyou need to independent, but feel free to ask questions lots13:28
jphrI try, even though I do feel like I am being a bother some times13:29
mithrodon't worry about it13:29
mithroyou need to develop a pipeline so that you can continue when you get blocked with a problem13:29
jphr:P Hey I have a question. Maps in the southern hemisphere have australia in the top left correct?13:30
mithroIE if you get stuck with something like resources, so then do a the bitmap loading or something13:30
mithrojphr: no :)13:30
jphroh, so they are north america in the top left?13:30
mithrokind of13:31
mithrothe globe is round, top left doesn't mean much ;)13:31
jphr(I didn't want you "southies" to be offended when I hard coded the risk board in the north american style, lol)13:31
mithrooh, are you talking specificly about a risk board?13:31
mithroI have no idea13:31
jphrYou'll get to see pics of what I've done later today ;)13:32
mithrohe he, cool13:33
jphrI don't know if you read my post yesterday night, but I really, really, want to work in the last part of my summer to try and get lines drawing for connectivity13:33
mithrothere isn't much you can do on the server side13:34
jphrgrrrr.... I just don't want it to be to unclear for players13:34
mithrojphr: feel free to help out with the various clients :)13:35
jphrI will, doing rulesets is a great start, but at times it seems like I am producing less of my own code than I would like.13:35
jphrand more of reusing and repurposing other peoples code13:35
mithrothe client can draw lines when you are issuing orders13:36
jphrthat might work then13:36
mithrojphr: it's called coding13:36
mithrogood coders write, great coders steal ;)13:36
jphrmithro: I just see a lot of education as very off and incomplete13:37
mithrojphr: well, steal is not quite the wrong word13:38
jphrI learn so much more from great books like beautiful code and this project than I have in school. that book is really neat actually, it takes the approach of providing elegant/beautiful examples so coders can actually reflect on others work13:38
mithroas well, most problems have already been solved by other people a lot smarter then you :)13:38
jphryes, but maybe they are the chumps for doing all the hard work! :P13:40
jphrAs an aside, I do so the prospect of importing maps as something that would be a bit more challenging and perhaps even more rewarding than the ruleset13:40
mithrojphr: hrm? no point having maps if you can't play a game on them :)13:41
jphryes very true13:41
mithroallowing people to select maps is a good addition13:42
jphrIf time permits in SoC, or even after, I would also like to contribute my experience in learning all of this to writing more documentation or generic classes for ruleset development13:42
mithroI think you should aim to have the core risk running in about a month13:42
mithrojphr: sure13:42
mithrofeel free to do it as you work in GSoC13:43
mithroAsmm: feel free to ask here :)13:43
mithrothen I can always link other people to this conversation :)13:43
jphrk. Having gotten more into coding I would hope in a week or 2 I could get orders implemented and another week for turn processing13:43
mithrojphr: debugging the core ruleset is going to take a while13:44
mithro(even though it's so simple)13:44
jphrI would imagine so13:44
mithro5% of the project takes 95% of the time13:45
mithrojust ask xdotx13:45
Asmmhello again13:45
jphrSo as a corollary, should I focus more so on getting a semi-buggy complete ruleset going in a month?13:45
Asmma friend of mine got into the project via SoC, he is doing the java client/ajava ai part13:46
mithroyou might want to keep an eye out for AI's which might be able to play Risk and adapt to Thousand Parsec13:46
mithroas an AI helps you squash bugs much quicker13:46
jphrwill do13:46
Asmmso as a friendly competition (and as a result of a bit of extra time) i was thinking to try my own AI agent for the game (not sure abotu rulesets yet). I have some experience doing those, so well, why not try it fo rthe fun of it13:47
mithroAsmm: sure, I'm assuming this is vi1985?13:47
jphrmithro: I'll let you chat with asmm, I should get back to work :P13:47
Asmmi've asked someone, i think JLP already, for some pointers as to where to start, however the docs ar enot perfect and prefer to get a few more pointers :)13:47
Asmmyeap13:47
mithrojphr: I'm perfectly happy to have to conversations at once13:48
Asmmsorry to interrupt jphr, i started this in a private conversation, but mithro suggested to switch here13:48
jphrasmm: no no your not interupting, I am having trouble coding and chatting at the same time :P13:48
mithroAsmm: we also have another student doing a RFTS AI too13:48
mithroAsmm: which languages do you prefer?13:49
jphrmithro: I think my mind is a little overloaded atm anyways, I should get some coding done, before moving onto recording some of the ideas I have had in the blog/wiki13:49
Asmmjava or python works, but fort an AI i think i like java more13:49
mithrojphr: okay cool13:49
Asmmi know C very well and C++ well, but dont want to mess with those for the project13:49
jphrmithro: just ping me if you need me so I get a notification13:50
mithrojphr: no probs, same goes for me13:50
jphrlater13:50
mithroAsmm: we have protocol librarys in Python, C++ and Java13:50
Asmmi know that. I knwo for java you have the basic protocol lib done and thats about it, right?13:51
mithroit's a protocol library rather then a "client library"13:51
Asmmi know where the doc about protocol is (http://www.thousandparsec.net/tp/dev/documents/protocol3.php), and i know where the java lib is13:51
tpb<http://ln-s.net/Ix2> (at www.thousandparsec.net)13:51
mithro(in my understanding)13:51
mithroI don't know a huge amount about the java protocol library13:52
Asmmnow, the SoC guys have some obligations to the project as to what they have to do, i'm simply interested in making a working client in the simplest way possible, and just concentrate on the AI logic13:52
mithroAsmm: then python is probably the best choice13:52
Asmmi dont need those, what i need is a better understanding about the structurte of the project/ client-server model, lib/language doesnt matter13:52
mithroit has the most advance protocol/client libraries13:52
mithroAsmm: we are pretty flexible with our GSoC students :)13:54
Asmm(and also a suggestion as to what server to run for testing, what ruleset is good for starters, etc. I mean, the description is there, but want some human advice as to whats better)13:54
mithroMinisec has some AI you might want to test against13:55
Asmmok.13:55
mithrowe have 3 major ruleset yet13:55
mithroMinisec - simple testing ruleset, a little uninteresting for people13:55
mithroMTSec - more advance ruleset, yet to be finished13:55
Asmmok, a few very dumb questions :)13:56
Asmm1) what does ruleset include? What is a good reading abotu that, but just in a few words?13:57
mithroRFTS - most advanced ruleset, Two AIs being developed GSoC, getting the most love13:57
Asmm2) the rpotocol.. I've been reading abotu various frames a server/client can get and send, and couldnt see "ruleset describing" frames? Does it mean, that both teh server and the client shoudl agree on the ruleset in advance, and it is hardcoded?13:57
mithroAsmm: there is not good reading anywhere, a ruleset is the "game logic" - it dictates what exists in the universe and what things can do13:58
mithroAsmm: tp03 has hardcoded object types, tp04 has dynamicaly defined object types13:59
Asmmso with the current tp03, the client shoudl know in advance what kinds of objects exist, what actions can be taken, etc, right? and so one AI client shoudl work with ust that ruleset server?13:59
mithroAsmm: no, only what type of objects exist14:00
mithrotp03 has always had dynamic orders14:00
Asmmok... so without going into details, how the system is supposed to work? Like: a) connect to a server (whatever it involves)  b) get ruleset?  c) get universe description? d) internally process it and -> e) issue orders f) repeat c)-e) steps?14:01
mithrokind of14:01
SmokingRopemy understanding of it was that the protocol defines the type of frames which can be sent, and the ruleset describes the data sent in the frames14:01
Asmmand so, without knowing the ruleset, can you figure it out by connecting to the server? In tp03 description i couldnt see any "frames" which have any kind of ruleset description?14:02
mithroa) connect to a server, b) download the universe (each time to see an object/order you have not seen before just ask the server about it)   c) issue orders, d) wait till a turn generation occurs14:02
Asmmok, so the idea is that for each object you get all possible orders as part of universe description? What about limits, for example, no more than 3 ships in the fleet (which is not an order), how can those be figured?14:03
CIA-28jphr tpserver-cpp-risk * rc7090dc54846 /modules/games/risk/risk.cpp: Changed star system creation from test values to real locations.14:04
Asmmand btw, on the doc page (http://www.thousandparsec.net/tp/dev/documents.php) there is description of the MTsec and minisec, but not the RFTS ruleset, the most loved one :) ?14:04
tpb<http://ln-s.net/1t+n> (at www.thousandparsec.net)14:04
mithroAsmm: the only way to manipulate the universe is to use orders14:05
mithroso all manipulation logic is store in orders14:05
mithroarbitrary limits (such as 3 ships in a fleet) are strongly discouraged too14:06
Asmmyes, but, well, say there is a game which says "no more than 10 fleet sin the universe". At THIS moment this may not be a limit for the agent, and all the orders it can issue are not affected by that (by not affected i mean the server does not limit the set of available oders). But in a few turns this limit may kick in (which will resut i nless "ship creation" orders for example. But the agent which may plan into the future m14:07
AsmmOr, as you said, those arbitrary limits are absent from most rulesets used?14:07
mithroNo ruleset has those limits that I know of14:09
mithrobut you would just have some of your orders not go through14:09
mithroin a very determined way14:10
Asmmok... (but doesnt sound too good, as how would you know, if you did not know about the limits in advance? Figuring the limits by checkign which orders dont go by woudlnt be easy for a human, yet alone ai agent). anyway :)14:11
mithros/determined/deterministic/14:11
mithroAsmm: humans know because they have read the rules14:11
mithroAI's will have to have it hard coded in some way14:11
Asmmthis issue aside, there is a fine description of the kinds of "frames" that can be sent and receive, but no obvious description of the normal way things are going to happen. Maybe just a link to a doc describuing normal sequence? I.e., first a "map" famse, with those objects, and orders assosiated etc. i mean.... ok, i may be a bit lazy :|, but from the raw description it is a bit hard to infer the logic of which things  get14:12
Asmmok, that was my question - that you HAVE to hardcode a few things14:12
mithroAsmm: only for AI's14:12
Asmmwell, yeah, thats what we are interested in now :)14:13
mithrofor clients with a human attached, you can use the fact that a human is slightly intelligent14:13
Asmmof course14:13
mithrothere is no "obvious description of the normal way of things to happen"14:13
Asmmbut i'm only talking from an AI client perspective now14:13
mithroAsmm: oh okay14:14
Asmm(the consequence is, the same Ai may not be able to play all rulesets, though yeah, may be able to play many)14:14
mithroAsmm: have you tried out tpclient-pywx?14:14
Asmmumm14:14
Asmmyes, i have that one14:15
Asmm(honestly, did not like it very much :(14:15
mithroAsmm: that is correct, some games might be trading based or diplomacy14:15
mithroAsmm: we open to suggestions on how to make it better (as long at it's not graphics based -> see the new 3d client for that)14:16
Asmmnot the "bells and whistles", i would be fine with a text interface, but the interface is not very clear, though of course manageable14:16
mithroAsmm: feel free to suggest how we could make it clearer14:16
Asmmok. BTW, i knwo that one thing is to cr4iticize another to improve. But you asked first about the client?14:17
mithrowe get so use to the interface, we stop seeing problems14:17
Asmmi know what you mean :)14:19
mithrobe nice however ;)14:19
Asmmyes sir! ;)14:19
Asmmanyway, a few things got cleare, but now14:21
Asmmsay I want to do the cleint/agent now.. what woudl be a good order of things to be done?14:21
Asmmwhich server to use (i assume servers have rulesets embedded). Which other code branchews (other AIs) to check for samples?14:22
mithroAsmm: so you want to create an AI?14:22
Asmmtrue14:22
mithrookay, tpserver-cpp (from git) is the best server to use atm14:22
mithroit's the only server to have RFTS, so if you are interested in that you'll need to use tpserver-cpp14:23
Asmmwhat about the simplest ruleset, minisec i presume?14:23
mithrominisec is the simplest14:23
Asmmthe thing is, i guess i'm mor einterested in a bette ruleset, but befor ei do a hello world agent ther eis not much point in anything else, and hello world is easier for the simplest ruleset i guess14:24
Asmmwhich server to use for that one?14:24
mithroboth servers support minisec, but tpserver-cpp has more testing14:24
Asmmlet that agent just print a map locally for me, and then i know i'm ok :)14:24
Asmmok14:24
mithrotake a look at tpsai-py14:25
Asmmit is for minisec, right?14:25
mithrothat is a simple AI for minisec14:26
Asmmok14:26
Asmmbtw, any mailing list and/or emails of peoles i can speak with other than IRC? Thos eother guys doing AI? anything else to get into the project?14:27
mithroit has had about a week worth of development14:28
mithrotp-devel is the best14:28
Asmmbtw, demo1 * demo2.thousandparsec.net server seem to be running minisec?14:33
mithrodemo1 is14:34
mithrodemo2 was running RFTS i think14:35
mithroI don't know if llnz change it back to minisec14:35
Asmmok, thanks. well, will go read more docs now14:37
mithrojumping in is probably the best way14:43
CIA-28jphr tpserver-cpp-risk * rbfdd633182b7 /modules/games/risk/risk.cpp: Fixed Alfirk being too far south14:44
Asmmbtw, things like speed of fleet travel, it seems a client should hardcode that as well?14:49
mithronot really14:52
mithromove orders report how long they will take14:52
mithroand designs have properties like speed14:52
mithroso you might have to hardcode some heuristic, but it should be fairly flexible14:52
*** zzorn has quit IRC15:00
mithrowell heading to lunch15:03
*** nuleren has joined #tp15:14
*** mithro has quit IRC15:22
CIA-28jphr tpserver-cpp-risk * rb1d238f7b275 /modules/games/risk/risk.cpp: Added some TODO comments15:55
*** nuleren has quit IRC18:05
*** jphr has quit IRC18:09
*** ttf has joined #tp18:32
*** ttf has left #tp18:32
CIA-28victor.ivri gencon-rfts-ai * r1bf45ca83996 /gencon/ (Client.java utils/ScannerListener.java): input listener ironed out and tested; user can now close the client at will by entering an agreed-upon string. Additionally, all user input cleared of bugs.19:44
*** zzorn has joined #tp20:00
*** Erroneous has quit IRC20:23
*** peres has joined #tp20:49
*** llnz has joined #tp21:24
*** JLafont has quit IRC21:57
*** JLP has quit IRC22:12
*** jphr has joined #tp22:41
*** jphr has quit IRC22:44
*** JLP has joined #tp22:56
CIA-28llnz tpserver-cpp * r76455926d482 /tpserver/ (avahi.cpp metaserverconnection.cpp):23:15
CIA-28Only use TurnTimer if it's not NULL in Avahi and MetaserverConnection.23:15
CIA-28Should prevent some segfaults/bus errors.23:15
*** jphr has joined #tp23:20
*** jphr has quit IRC23:21
CIA-28llnz tpserver-cpp * rad69533fc882 /tpserver/playeragent.cpp: Allow getting the player's board by either 0 or it's actual ID.23:31
*** _peres_ has joined #tp23:53
*** peres has quit IRC23:54
*** _peres_ is now known as peres23:54

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