[00:24:19] iceeey has joined #peragro-dev
[00:24:19] ChanServ sets mode: +o iceeey
[00:25:29] <iceeey> hi
[00:45:43] <CyaNox> hey iceeey ... did you had an account on my server and did you use it?
[00:46:22] <iceeey> for mail?
[00:50:00] <CyaNox> yes
[00:52:50] <iceeey> no, i don't use it
[00:52:58] <iceeey> didn't even
[01:27:10] <CyaNox> k
[01:57:25] iceeey has quit: "Leaving"
[01:57:35] iceeey has joined #peragro-dev
[01:57:35] ChanServ sets mode: +o iceeey
[01:58:49] <CyaNox> gn all
[05:07:09] dingobloo has joined #peragro-dev
[05:24:26] iceeey has quit: "Leaving"
[06:30:44] thebolt|zzz changed nick to: thebolt
[06:49:03] dingobloo has quit: "Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"
[07:17:11] sueastside has joined #peragro-dev
[07:17:11] ChanServ sets mode: +o sueastside
[08:05:25] dingobloo has joined #peragro-dev
[08:58:51] thebolt2 has joined #peragro-dev
[09:56:49] dingobloo has quit: Read error: 104 (Connection reset by peer)
[10:19:21] <CyaNox> morning
[10:34:16] CyaNox has quit: "brb"
[10:34:38] CyaNox has joined #peragro-dev
[10:34:38] ChanServ sets mode: +o CyaNox
[10:57:08] thebolt2 changed nick to: thebolt
[10:57:14] ChanServ sets mode: +o thebolt
[14:31:37] thebolt changed nick to: theboltEatingStu
[15:10:42] caedes has joined #peragro-dev
[15:57:54] dingobloo has joined #peragro-dev
[17:27:30] ChanServ sets mode: +v caedes
[19:09:51] dingobloo has quit: Read error: 104 (Connection reset by peer)
[21:42:44] iceeey has joined #peragro-dev
[21:42:44] ChanServ sets mode: +o iceeey
[21:42:54] <iceeey> hi
[21:42:57] <thebolt> hey iceeey
[21:43:08] <iceeey> whew, just came back from math final :)
[21:43:24] <sueastside> and?
[21:43:36] <iceeey> and what?
[21:43:57] <sueastside> how did it go?
[21:44:01] <iceeey> oh
[21:44:08] <iceeey> it went well I think
[21:44:19] * sueastside thought the question was obvious...
[21:44:36] <iceeey> was able to get a reasonable answer for each problem but the last
[21:44:50] <iceeey> the last problem was tricky
[21:45:18] <sueastside> ah what was it about?
[21:45:24] <thebolt> :) i had a nice mechanics exam, 8-12 this morning.. but went well i think :)
[21:45:52] <iceeey> sueastside, Gauss's theorem
[21:46:21] <thebolt> it sucks :P
[21:46:30] <iceeey> does it? :P
[21:47:02] <thebolt> nah, its very useful
[21:47:19] <sueastside> actually it blows, it suppsoly discribes outward flow...
[21:47:19] <thebolt> but it is a bitch to get right.. esp as it like most other integral theorems have so many preconditions
[21:47:46] <thebolt> sueastside: depends on if divF is positive or negative ,)
[21:48:09] <sueastside> you really know how to ruin a joke dont you :P
[21:48:34] <iceeey> in itself, it's not bad.. but the problem had a tough divergence to calculate... the vector field was F = x / (x^2 + y^2 + z^2)^(3/2) i + y / (...) j + z / (...) k
[21:49:23] <iceeey> wasn't really comfortable differentiating that.. although i had the idea to convert to spherical coordinates, but i didn't know how to do the divergence in spherical
[21:51:12] <thebolt> hm, in which direction were you to apply gauss? ie what was the thing to solve?
[21:52:06] <iceeey> it was a double integral
[21:52:11] <thebolt> okay
[21:52:27] <thebolt> over a sphere or so?
[21:52:36] <iceeey> i forget, but i think so
[21:52:53] <iceeey> anyway, if you did it in rectangular it turned out really ugly
[21:53:02] <iceeey> and i couldn't integrate it
[21:53:20] <thebolt> yea ;)
[21:53:43] <iceeey> but afaik we've never done a divergence of spherical vector field
[21:53:53] <iceeey> so i was kind of stuck
[21:54:26] <iceeey> since i didn't know how... i was trying stuff with a jacobian matrix and it didn't work out.. grasping at straws :)
[21:54:29] <thebolt> yea, if you never seen the diveregence in spherical coordinates it is a bit sucky to derive
[21:54:56] <iceeey> maybe it was one of those problems that they'll throw away or something :P
[21:55:01] <thebolt> :P
[21:55:21] <thebolt> we had such stuff in the course in vector analysis
[21:55:33] <thebolt> (almost only such stuff in that course.. in spherical and cylindrical coordinates)
[21:55:39] <iceeey> ah
[21:55:40] <thebolt> i don't remember too much of it :P
[21:55:43] <iceeey> hehe
[21:57:45] <thebolt> ah, yes, i did remember correctly
[21:58:41] <iceeey> what?
[21:59:47] <thebolt> your field, it is the gravitational field around a point-mass.. (or electrical field around a point charge if you like)=
[22:00:00] <iceeey> oh, isn't that convenient :)
[22:00:28] <thebolt> and you don't need gauss to compute that on the unit sphere :)
[22:00:52] <thebolt> your F = r/|r|^3
[22:01:12] <iceeey> i don't think it was the unit sphere..
[22:01:16] <thebolt> okay
[22:01:21] <thebolt> or well, any sphere basically ;)
[22:01:28] <iceeey> but damn, maybe it was and they wanted you to see that
[22:02:58] <iceeey> don't you still need to find the divergence?
[22:03:05] <sueastside> maybe they didnt want anything, except to mess with your head...
[22:03:12] <thebolt> and even if it isn't the unit sphere, you can reduce it to the unit sphere
[22:03:22] <thebolt> iceeey: no
[22:04:10] <thebolt> to integrate F over unit sphere you have N (normal) = r/R (R is radius of sphere, r is vector to point) so
[22:05:09] <thebolt> int F*N dS = int r/R^3 * r/R dS = 1/R^4 int |r|^2 dS = 1/R^2 int dS = 1/R^2 * 4*piR^2 = 4pi
[22:05:35] <iceeey> okay, well the problem said "Use Gauss to compute.."
[22:05:36] <thebolt> accualy you cannot use gauss on that field
[22:05:41] <thebolt> not directly at least
[22:05:54] <thebolt> because it contains a singularity at origo
[22:06:32] <iceeey> but say the origin wasn't within the sphere?
[22:06:52] <thebolt> (and gauss is only applacable on a compact set)
[22:07:01] <thebolt> then you are okay (and answer is, after some calculation, 0)
[22:11:27] <thebolt> if we are to discuss something useful instead.. i've been thinking abit about the server/client splitup and how to handle that in the entity system
[22:14:29] <thebolt> such as what to actually store on client..
[22:14:42] <thebolt> (and what to send from server to client on "bootstrap")
[22:16:10] <sueastside> intresting please continue...
[22:18:22] <thebolt> such as what parts of the "entity hierarchies" the client has.. my first thought (and only so far) is that client gets the "bottommost" entity definitions and the client-side scripts
[22:18:26] <thebolt> nothing more, no templates etc
[22:19:08] <iceeey> definitely.. there's no need for them
[22:19:39] <iceeey> although, if you want to change something when developing..
[22:19:56] <thebolt> i would say editor does not count as client :)
[22:19:57] <sueastside> could you give an example of bottommost entity denfinition?
[22:20:09] <thebolt> it is a third class in the server-client level ;)
[22:20:42] <iceeey> on the other hand, if all the templates (including client side) are stored on the server, then if you edit a template that affects the client, it still must rebuild the entities (if you choose) and can send the final entity definition only
[22:21:08] <sueastside> i was thinking more of what kind of info would it contain kinda answer...
[22:21:42] <thebolt> i think most entities (all of them?) would be defined "in line".. or well like entity {.. server {...} client {..} common {.. } } (you get the idea..)
[22:21:49] <iceeey> yes
[22:21:59] <iceeey> but those are stored in "Text files" in the server's database
[22:22:05] <thebolt> yes
[22:22:34] <thebolt> however, i think server will parse&check the client entities too? (and then send them in a parsed representation)
[22:22:35] <iceeey> so, really there is no problem implementing editing
[22:22:37] <thebolt> or?
[22:22:48] <iceeey> yes, it must
[22:22:54] <thebolt> yea, exactly :)
[22:22:54] <iceeey> otherwise the client doesn't have anything :P
[22:23:34] <iceeey> so yes, that's what will happen
[22:23:53] <iceeey> on connection
[22:24:14] <thebolt> well, probably with client-side caching ;)
[22:24:43] <iceeey> sure
[22:30:25] <iceeey> okay, how about we do a walkthrough: client tries to connect, server checks client version (obviously people can fake this, but it only means that their game might be screwed up), sends content (textures, meshes, sounds) updates if necessary, client connects.. does it get all of the entity definitions at once? (probably, since hopefully there won't be too many) okay, now you're about to enter the game (loading entities near player which require loa
[22:30:25] <iceeey> ding meshes/textures/sounds from disk).. then, what is the strategy for streaming new entity instances/removing old ones/updating existing ones?
[22:31:51] <iceeey> if the whole world is made out of entities, the entity instances in the db is the only "world file" needed (no need for CS world file even)
[22:33:16] <iceeey> so in addition to content updates, all the static entity instances in the DB would be downloaded in an update
[22:33:36] <thebolt> hm, not sure the instances should be downloaded directly
[22:33:56] <thebolt> i would rather think that client-side entity instances are created (by server) on demand
[22:34:05] <thebolt> otherwise the client will have full state, including all hidden stuff etc ;)
[22:34:26] <iceeey> hm, yeah
[22:34:55] <thebolt> the entity definitions can be downloaded but not instances (and instance parameters, such as position etc ;)
[22:36:30] <iceeey> hm, the client could cache those static instances more aggressively, e.g. server only needs to send instance data once, then can just send the instance ID
[22:37:09] <thebolt> hm, maybe, yes
[22:37:16] <thebolt> otoh, instance data should not be much
[22:37:23] <iceeey> i know :P
[22:37:29] <thebolt> (not _that_ much at least ;)
[22:38:36] <iceeey> especially of static instances :)
[22:39:17] <iceeey> more importantly, what about create/remove/updating instances?
[22:39:25] <iceeey> we said we would have a radius around the player
[22:39:43] <thebolt> sounds sound
[22:40:19] <thebolt> possibly a two-radius thing where you prepare a bigger area if you ahve time / bandwidth
[22:40:29] <iceeey> ah yes, could be
[22:41:07] <thebolt> as a later enhancement probably ;)
[22:42:17] <iceeey> so, create message is pretty basic: entity definition ID, entity instance ID, any overridden properties
[22:42:29] <thebolt> yea
[22:43:27] <iceeey> delete: instance ID... updating: instance ID, any changed properties with their new values
[22:45:10] <iceeey> what's going to be problematic is if one entity needs another entity that has been deleted
[22:45:31] <thebolt> hm, yea..
[22:47:02] <iceeey> it may be necessary to have some kind of sticky flag on each entity to keep the entity around until manually deleted
[22:51:24] <iceeey> or you could implement it like ref-counting... which would require that any entity depending on another must have a reference to the other to keep it in memory
[22:54:40] sueastside changed nick to: Induane
[23:03:39] <iceeey> and the discussion dies :P
[23:04:07] <sueastside> ah its thebolt that is making the site slow :P
[23:04:57] <thebolt> ah, sorry
[23:05:05] <thebolt> became a bit busy reading some stuff on lkml ;)
[23:05:11] <thebolt> so yes, what you said sounds sensible
[23:05:22] <sueastside> nice safe :P
[23:05:31] <thebolt> sueastside: i checked all the pics earlier today :P
[23:06:06] iceeey has quit: "Leaving"
[23:06:14] iceeey has joined #peragro-dev
[23:06:14] ChanServ sets mode: +o iceeey
[23:06:17] <thebolt> so, what you think about if i whip up a few headers to kick discussion one notch forward?
[23:06:22] <iceeey> oops :P
[23:06:33] <iceeey> go for it
[23:06:34] <sueastside> sure
[23:06:59] <iceeey> however i would like to finish documenting the stuff on the wiki, but it doesn't have to be now
[23:07:05] <thebolt> yes, definitly
[23:23:24] Raella changed nick to: Induane