[00:00:16] <iceeey> so you have basically:
[00:00:17] <iceeey> Entity template (Parent template)
[00:00:18] <iceeey> Components
[00:00:18] <iceeey> Properties
[00:00:18] <iceeey> Event -> Behavior mapping
[00:00:38] <thebolt> yea
[00:00:46] <iceeey> and behaviors are just free functions
[00:00:49] <thebolt> i don't think we have to differentiate between template and entity
[00:01:07] <iceeey> right
[00:01:14] <thebolt> yea, i think they should just be a python callable
[00:01:19] <iceeey> just like you have class and instance
[00:01:56] <iceeey> ok this makes sense
[00:02:19] <thebolt> well, you still ahve an entity instance
[00:02:28] <thebolt> which is a specific copy of an entity
[00:02:32] <iceeey> yes i know
[00:02:55] <thebolt> but yea, base class / subclass vs base entity/entity
[00:02:58] <iceeey> i meant when you say PtCore, you usually refer to the class, and then an instance of PtCore is how you would refer to instance
[00:03:15] <iceeey> so Entity = class, Entity instance = instance for our purposes
[00:03:20] <thebolt> yea
[00:07:13] <iceeey> then what about client/server entities?
[00:07:30] <iceeey> generally we will share a common template for each one
[00:07:47] <iceeey> sorry I'm using template again
[00:07:49] <thebolt> the definition, yes
[00:08:20] <iceeey> so Door, ServerDoor(Door), ClientDoor(Door)
[00:09:10] <iceeey> that seems reasonable
[00:09:12] <thebolt> well, either like that, or they are defined "inline" with client and server blocks
[00:09:24] <iceeey> do you think inline works?
[00:10:31] <iceeey> hm, I think we will have problems if everyone sees our combat calculation code or so :)
[00:10:42] <iceeey> we didn't talk about that
[00:11:53] <thebolt> well, depends on how the client gets the definitions
[00:12:00] <thebolt> i would say that the server loads them and sends them to the client
[00:12:05] <thebolt> so it can also filter out the right "blocks"
[00:12:09] <iceeey> no, i mean in the SVN repository
[00:12:16] <thebolt> ah..
[00:13:36] <iceeey> or just means we will have to make rules that are resistant to some kind of "optimization" :)
[00:14:09] <iceeey> or tell what combat depends on, so it is fair ground
[00:15:04] <iceeey> anyway, back to inline :)
[00:16:04] <thebolt> so, entity definitions are done in our custom "language"
[00:16:15] <iceeey> http://rafb.net/p/55Yo7s59.html
[00:16:19] <iceeey> yep
[00:16:33] <thebolt> possibly XML, yes
[00:16:47] <thebolt> so, that is some kind of basics for the entity stuff
[00:16:55] <thebolt> should we do a quick run-down of network and db too?
[00:16:56] <iceeey> yeah
[00:17:06] <iceeey> sure
[00:17:08] <thebolt> just to get some idea what we expect from them ;)
[00:17:12] <iceeey> how about DB?
[00:17:28] <iceeey> ties in with entity serialization
[00:17:32] <thebolt> i think the most important the DB is going to store is entity instances
[00:17:42] <iceeey> right
[00:18:27] <iceeey> so we have a bunch of properties, as long as they are not anything complicated like arrays or references to other objects it's really simple
[00:18:43] <thebolt> so, one thing i was thinking about is that upon definition of an entity (ie parsing an entity definition file) it should "ask" the db manager for a "storage scheme"
[00:18:55] <thebolt> ie basically an object that can take given entity and save it
[00:19:09] <iceeey> ok
[00:19:17] <thebolt> that way the db can be redone with regards to the physical layout in the DB
[00:19:28] <thebolt> (ie one table per type, one in total etc;)
[00:19:53] <iceeey> hehe
[00:20:06] <thebolt> and also it provides a good isolation of DB stuff to the DB components
[00:20:21] <iceeey> there are DB components now? :)
[00:20:29] <thebolt> nono, not entity component
[00:20:32] <thebolt> DB module :)
[00:20:41] <thebolt> (we should write a word-definition list :)
[00:21:09] <iceeey> english is so imprecise, let's speak in Lojban
[00:21:51] <thebolt> :)
[00:22:33] <thebolt> one issue with DB is what should initiate saving..
[00:22:42] <thebolt> ie how and when should things be saved
[00:22:55] <thebolt> its not feasible to think that everything is saved at once
[00:23:07] <thebolt> then the DB traffic will be just too much
[00:23:10] <iceeey> yup
[00:23:26] <iceeey> i think we said to save at time intervals and certain major events
[00:23:35] <iceeey> i don't know what qualifies as a major event though
[00:24:35] <thebolt> maybe let the entity hint that?
[00:24:45] <iceeey> sure
[00:25:03] <thebolt> something like DbCore.SaveEntity(entity, HINT_REALLY_IMPORTANT)
[00:25:12] <thebolt> and let DbCore queue and schedule saving as it likes
[00:25:21] <iceeey> ok
[00:25:38] <thebolt> (i like it when modules do things like that themselves.. then they can trottle and prioritize themselves)
[00:25:47] <iceeey> i can tell :)
[00:28:12] <thebolt> for network i don't know really
[00:28:16] <thebolt> on what granularity level we should put it
[00:28:58] <thebolt> i guess components should get "network messages" from the manager to use when sending stuff between client and server part
[00:29:40] <thebolt> btw, we need a way of identifying entities and entity instances.. i guess 32-bit integer IDs will work for both?
[00:30:28] <iceeey> that should work
[00:30:37] <thebolt> (and 16 bit IDs for components should be enough.. )
[00:31:01] <thebolt> so a message from a component on client to a component on server would use a 32+16 bit ID to identify where the message is heading..
[00:31:48] <thebolt> (property update would be 32+16 or 32+8 where the last is the index of property within the entity)
[00:31:48] <iceeey> so they are hashed i guess to avoid collisions?
[00:32:21] <thebolt> i would say the server allocates the IDs
[00:33:08] <iceeey> ok
[00:33:22] <thebolt> for entities which are to be stored (ie you want to match the stored in-db stuff to the definition) i think a GUID or so in the entity for between-run identification is one way to go
[00:33:36] <thebolt> a SHA1 on the definition itself another ;)
[00:33:43] <iceeey> ok
[00:35:17] <iceeey> how are the messages implemented?
[00:35:20] <iceeey> templates or so?
[00:35:38] <thebolt> what messages?
[00:35:45] <iceeey> network messages
[00:35:56] <iceeey> the serialization of them
[00:35:56] <thebolt> hm, well, depends a bit i guess
[00:36:44] <thebolt> but for "static ones" (say what is sent from a component on server to component on client) i think something template based or something like a FVF-declaration in d3d.. basically a table of things to save (offsets and lengths)
[00:38:03] <thebolt> hm, i think i should get my evening tea..
[00:38:21] <iceeey> ok
[00:39:14] <thebolt> brb
[00:42:31] <thebolt> b
[00:42:38] <thebolt> bah, my day-cycle is all screwed up atm .. :P
[00:42:46] <thebolt> oh well, doesn't hur too mcuh as exam friday is 14-19 ;)
[00:43:24] <iceeey> heh
[00:43:36] <iceeey> sorry about that
[00:43:54] <iceeey> I'm surprised you can think straight :)
[00:44:22] <thebolt> no problem, my own fault
[00:44:32] <thebolt> well, i've had a 10-02 cycle most of this week ;)
[00:44:45] <thebolt> so i feel pretty upwards atm ;)
[00:44:45] <iceeey> same here
[00:44:56] <thebolt> (its 0044 right now..)
[00:45:19] <iceeey> more like 9:30-03 for me :P
[00:45:27] <thebolt> :P
[00:45:37] <iceeey> so i am tired now
[00:46:24] <thebolt> well, i was on a 05:30-00 cycle for all week-days in almost a year a while back (first time i worked at meqon)
[00:46:36] <thebolt> but then i did 11-00 on weekends ;)
[00:51:31] <iceeey> btw, did CS sign up for mentoring google SoC?
[00:52:54] <thebolt> yes
[00:53:05] <iceeey> cool
[00:53:16] <thebolt> google were supposed to present which organizations were selected today
[00:53:20] <iceeey> yeah
[00:53:21] <thebolt> but seems like there was some delay :P
[00:53:28] <iceeey> I've been checking :)
[00:53:41] <thebolt> if we're in i'll be mentor again
[00:53:53] <iceeey> cool
[00:53:54] <thebolt> (even if i technically qualify as student :P)
[00:53:58] <iceeey> hehe
[00:54:24] <iceeey> well I'm going to apply, i don't know what to yet
[00:54:43] <thebolt> btw, did you start saving for comming over here this summer? ;)
[00:55:11] <iceeey> heh, you're asking me to exhaust my bank account :)
[00:56:01] <thebolt> its not _that_ expensive to fly over actually..
[00:56:17] <thebolt> whats the closest bigger airport?
[00:56:31] <iceeey> Dulles or BWI
[00:57:39] <iceeey> guess that would be BWI
[00:58:26] <thebolt> yea
[00:58:30] <thebolt> sounds bigger at least ;)
[00:59:44] <thebolt> hm, back and forth BWI->brussels is 630 USD
[01:00:09] <iceeey> that's not bad
[01:00:19] <thebolt> no
[01:00:49] <thebolt> i don't remember exactly what michael paid last year when he travelled.. (or rather what we paid when he travelled ;)
[01:01:35] <thebolt> but it wasn't too much either
[01:02:41] <thebolt> i think google had to pay about 800 USD when i flew stockholm->SF->stockholm
[01:02:50] <thebolt> and that was when buying a ticket 1½ week before going ;)
[01:03:17] <iceeey> so i see the trick is to get people to pay for you :)
[01:03:21] <thebolt> Yes :)
[01:03:28] <thebolt> of course it is
[01:03:38] <thebolt> so far all my three visits to US have been when someone else was paying :P
[01:08:43] <iceeey> hm, I'm seeing ~$1100 roundtrip
[01:09:08] <thebolt> i think you shouldn't search for trips on the right day yet..
[01:09:15] <thebolt> its so far into the future that the cheaper tickets aren't there yet
[01:09:53] <thebolt> (i did one search for right days and one for about a month forward in time from now.. got about that for right days too)
[01:10:23] <iceeey> heh
[01:12:31] <iceeey> indeed
[01:16:21] <thebolt> anyhow.. how to procede?
[01:16:28] <thebolt> i will study some more tomorrow but also code some
[01:16:36] <thebolt> preferably continue on the python stuff i guess
[01:16:48] <iceeey> put stuff on Trac?
[01:16:49] <thebolt> making the methods for other modules to get python callables from files etc
[01:16:57] <thebolt> hm, yea, can be a good idea
[01:17:16] <thebolt> i'll also spend some time looking at what tools can be used to document some of our ideas and discussions forward
[01:17:32] <iceeey> anything interesting?
[01:17:42] <thebolt> studying you mean?
[01:17:48] <iceeey> oh, I thought you said you have spent time looking
[01:17:51] <thebolt> ah, no
[01:17:53] <thebolt> will
[01:18:43] iceeey has quit: Remote closed the connection
[01:19:14] iceeey has joined #peragro-dev
[01:19:14] ChanServ sets mode: +o iceeey
[01:21:51] <iceeey> I think I'll do some clean up of website, Trac and maybe wiki, add some new tasks to Trac and then see if I have time left to start some code
[01:21:56] <thebolt> hehe.. just read this..
[01:22:50] <iceeey> hm?
[01:22:54] <thebolt> "The machochist: Beat me, whip me, hurt me!; The sadist: Nope"
[01:23:12] <iceeey> heh
[01:31:09] <iceeey> think I will head back now, cya
[01:34:31] <thebolt> okay
[01:34:32] <thebolt> cya
[01:34:39] <thebolt> i'm going to sleep pretty soon :)
[01:39:03] thebolt changed nick to: thebolt|zzz
[01:55:06] iceeey_ has joined #peragro-dev
[01:55:21] iceeey has quit: Nick collision from services.
[01:55:25] iceeey_ changed nick to: iceeey
[01:55:35] ChanServ sets mode: +o iceeey
[03:52:19] thebolt|zzz has joined #peragro-dev
[04:39:40] iceeey has quit: brown.freenode.net irc.freenode.net
[04:39:40] CyaNox has quit: brown.freenode.net irc.freenode.net
[04:41:03] CyaNox has joined #peragro-dev
[04:41:04] ChanServ sets mode: +o CyaNox
[04:53:26] iceeey has joined #peragro-dev
[04:53:27] ChanServ sets mode: +o iceeey
[06:15:43] sueastside has joined #peragro-dev
[06:15:44] ChanServ sets mode: +o sueastside
[07:46:28] iceeey has quit: "Leaving"
[09:25:38] <CyaNox> so apparently CS has been accepted for SoC ... (just to update the previous discussion)
[10:47:38] thebolt has joined #peragro-dev
[10:47:49] ChanServ sets mode: +o thebolt
[11:53:36] thebolt changed nick to: thebolt|away
[13:18:08] thebolt|away changed nick to: thebolt
[13:20:06] caedes has joined #peragro-dev
[13:20:06] ChanServ sets mode: +v caedes
[13:47:27] genjix has joined #peragro-dev
[14:03:14] thebolt changed nick to: theboltEatingStu
[14:09:30] genjix has quit: Remote closed the connection
[14:52:13] theboltEatingStu changed nick to: thebolt
[17:13:15] greenlion has joined #peragro-dev
[17:32:31] <JohnTitor> SVN--> sueastside commited r582 to peragro_src with log message: Sueastside applied some gcc fixes suggested by greenlion. (+1, -1).
[17:40:38] * thebolt pokes iceeey into existence..
[17:41:15] * sueastside hands thebolt a stick and helps out, poking duo!
[17:41:22] <thebolt> :P
[17:41:54] <thebolt> oh well, in his absence i'll make a decision myself :P
[17:42:14] <sueastside> nothing ill understand?
[17:42:26] <thebolt> well, its about error handling
[17:42:38] <thebolt> do we use exceptions for exceptional cases or error return codes
[17:42:42] <thebolt> i think we decided on the first already
[17:42:49] <thebolt> its more a matter of implementing them ;)
[17:42:55] <sueastside> ah, well you know what youre doing, ill trust your judgement :)
[17:56:07] iceeey has joined #peragro-dev
[17:56:07] ChanServ sets mode: +o iceeey
[17:56:40] <sueastside> thebolt: Summon complete successfully, Your pet 'iceeey' is now ready to be used.
[17:57:30] <iceeey> was i expected? :P
[17:57:31] <thebolt> well, now i already decided what needed to be decided ;)
[17:58:02] <iceeey> oh I see, don't tell me about it or anything
[17:59:09] <thebolt> well, was a bit about error handling
[17:59:15] <thebolt> but i found we agreed on exceptions ;)
[18:00:00] <iceeey> ah yes
[18:00:31] <iceeey> pythontest shouldn't output anything now, eh?
[18:01:25] <thebolt> atm, no
[18:01:31] <thebolt> i am currently working on stuff :)
[18:02:50] <iceeey> ok
[18:31:40] PK has joined #peragro-dev
[18:31:40] ChanServ sets mode: +o PK
[18:35:15] * CyaNox pokes iceeey too ... :p
[18:36:00] greenlion has quit: Remote closed the connection
[18:36:12] * sueastside pokes CyaNox
[18:36:59] * PK greets CyaNox
[18:37:10] <thebolt> hi CyaNox
[18:37:13] <thebolt> hi PK
[18:37:17] <PK> hey thebolt
[18:37:26] <PK> how are things going?
[18:37:39] <sueastside> were in a rewrite :P
[18:38:15] <PK> how are the python entities work now?
[18:38:18] * CyaNox greets PK honorably
[18:38:31] * PK feels honored
[18:38:44] <thebolt> PK: not at all yet :)
[18:38:53] <PK> I thought now that you have meetings without me, I should come back here again :P
[18:38:56] <sueastside> CyaNox: sg se10 ep19 and 20!!! and se4 downloaded
[18:39:06] <PK> thebolt: what's wrong with them?
[18:39:19] <sueastside> nothing, its in progress :)
[18:39:25] <CyaNox> sueastside: patience
[18:39:40] <thebolt> PK: well, we just haven't worked on them enough to get them to a wroking state :)
[18:39:44] <sueastside> man wish i joined the darkside, no waiting there...
[18:39:50] <PK> wouldn't it be faster to mail a few dvds? :P
[18:40:00] <CyaNox> PK: You thought correctly ... we (or well I) deleberatly put you without permission on the mailinglist so you where informed.
[18:40:11] <iceeey> haha
[18:40:15] <PK> why thank you :)
[18:40:21] <iceeey> who else is on the ML?
[18:40:28] <sueastside> i am
[18:40:37] <iceeey> who is not here
[18:40:38] <PK> but that you had to ask for my email address.... tss :P
[18:41:03] <CyaNox> genjix is on the ml
[18:41:52] <CyaNox> greenlion is also on there iirc.
[18:42:05] <PK> who's he?
[18:42:33] <PK> the one who wrote the long project goal mails?
[18:42:36] <sueastside> PK: we thought you were dead, we replaced you :P
[18:43:13] <CyaNox> greenlion is a potential new PT developer ...
[18:43:17] <CyaNox> brb
[18:43:56] <iceeey> PK, that's Induane
[18:44:16] <PK> sueastside: you know, ill weeds grow tall...
[18:44:40] <PK> or... evil coders don't die easily
[18:44:51] <sueastside> or onkruid vergaat niet
[18:45:31] <PK> yes, Untraut vergeht nicht...
[18:45:47] <PK> to shift it a bit more to german :)
[18:45:57] <PK> *Unkraut
[18:46:10] <sueastside> was trying to teach the cs channel dutch, i think i failed...
[18:47:33] <iceeey> naamloos!
[18:47:36] <PK> take a bit of english, mix a lot of german in it and spice it with a few french word and you get about dutch, no?
[18:47:44] <sueastside> no!
[18:47:49] <iceeey> add a lot of double-vowels
[18:47:58] <PK> oh, yes
[18:49:31] <CyaNox> nederlands is helemaal niet zo moelijk ... tis alleen een kut taal vanwegen de vele inconsistenties.
[18:50:02] <sueastside> Overactieve geestekindjes willen in coma synchroon bindgeleidehonden verorberen, omdat in Guatemala tijdens de burgeroorlog 181 pantoffeldiertjes een speelse gemsluis, met schilfertjes en verscheidene orale medicatiestoornissen, ongestoord het verlgen diertje op spekgladde naaldkussens, gemaakt voor miss poes 1945 uit Schellebelle, wierpen. <--thats dutch
[18:51:27] <CyaNox> dat is nogal een kut zin om op te schrijven ... is ook te merken aan de typ fouten ... :D
[18:51:40] <sueastside> :D
[18:51:45] <iceeey> lunchtime
[18:52:03] <PK> Wiso söue aui dutch lere? schwizerdütsch isch doch füu eifacher oder nid?
[18:52:42] <CyaNox> das ist schwizerdeutsch nicht schwizerdütsch ... :P
[18:53:30] <PK> in swissgerman you say dütsch, not deutsch (döitsch )
[18:55:22] <CyaNox> he he owk .. remind me to not go the swizzerland then ... :p
[18:58:10] <PK> heh, I guess you'd like it.
[19:01:09] <sueastside> youre just saying that because youre stuck there :P
[19:02:19] <PK> yea, the 25 years brainwashing worked wonders...
[19:03:04] <sueastside> :)
[19:58:05] <JohnTitor> SVN--> iceeey commited r583 to peragro_src with log message: - iceeey made configure check for stackless more clear. It now checks, separately for a usable SDK and for Stackless functionality., (+22, -8).
[20:25:51] <thebolt> just a little heads-up; i'm currently implementing methods for the direct python interaction, that is. 1. Load a file and just run it as is, 2. Take a script string and just run it as is, 3. Take a script file/string, compile it and store for later running, 4. Take a script string/file, compile it, run it, exctract all methods from it and keep track of them for later usage
[20:26:17] <sueastside> sounds good
[20:51:31] caedes has quit: Remote closed the connection
[20:57:38] <CyaNox> PK: If you have any comments ont he meeting notes or want to discuss something about them ... please do so (either here or as a reply to the meeting notes).
[21:15:08] iceeey_ has joined #peragro-dev
[21:15:21] iceeey has quit: Nick collision from services.
[21:15:33] ChanServ sets mode: +o iceeey
[21:33:25] <thebolt> iceeey: hm, while eating i was thinking how to solve things such as reloading (changed) scripts, while at the same time keeping compiled code in memory if possible..
[21:34:08] <thebolt> and current idea would be that step 4 above returns a "ScriptContext" object
[21:34:34] <thebolt> then in entity system we'd have a script-context<->file cache, where stuff could be flushed
[21:35:00] <thebolt> so if you change file "blah.py" you flush the cache and all new entity instances which want to use it will cause a reparse
[21:39:12] <thebolt> comments?
[21:46:21] <CyaNox> I'm not sure if I'm qualified to comment ... :p
[21:52:32] <iceeey> thebolt, so entity instances using the old script will continue using it?
[21:53:27] <thebolt> yea
[21:53:28] <thebolt> i don
[21:53:33] <thebolt> don't see any good way of replacing them
[21:53:40] <thebolt> (they can even be running..)
[21:54:43] <iceeey> so then you will eventually have entities running the old script at the same time as ones with the new script
[21:55:00] <iceeey> running or not running
[21:55:39] <iceeey> but since events are now in the component interface, you don't have a problem of missing action or so
[21:55:50] <iceeey> but the way they handle things will be different
[21:56:43] <iceeey> i guess just let it happen, and if we run into a case where it's bad we'll find a way around it
[21:58:03] caedes has joined #peragro-dev
[21:58:03] ChanServ sets mode: +v caedes
[21:58:22] <thebolt> yea.. well i guess we will have to have functionality to "restart" an entity instance
[21:58:28] <thebolt> (save it to db and reload it)
[21:58:32] <thebolt> so you could relodad all instances
[21:58:47] <iceeey> but we're only talking about changing behaviors, right?
[21:59:32] <thebolt> yes
[23:10:31] <JohnTitor> SVN--> iceeey commited r20 to peragro_ws with log message: Revamped website. Fixed grammar, spelling errors. Updated content., Removed Stuff page., Merged News and About page into Home page., Turned #title divs into h1, .subtitle divs into h2, Changed some colors., Removed arrow bullets., Made members table a little nicer and updated it, (+103, -326).
[23:11:04] <thebolt> :)
[23:13:55] <JohnTitor> SVN--> iceeey commited r21 to peragro_ws with log message: Forgot to commit logo, made a few more fixes., (+1, -4).