[00:00:43] JohnTitor has joined #peragro-dev
[00:00:44] ChanServ sets mode: +v JohnTitor
[00:01:10] <iceeey> yes, for debugging purposes
[00:01:53] <thebolt> i would rather use asserts for it
[00:02:03] <thebolt> breaks in debugging, no-ops in release
[00:02:08] <iceeey> okay, yeah
[00:02:18] <thebolt> (possibly custom assert, not neccesarily assert(..) ;)
[00:05:36] <iceeey> sure
[00:11:46] <PK> hm, what's your problem about walking? iirc, we sorted that out already, didn't we?
[00:12:14] <PK> I mean, it's one of the few things that were really thought through already... maybe not written down properly... :)
[00:12:29] <iceeey> yeah but it still doesn't work so well :)
[00:12:40] <PK> iceeey: what do you mean?
[00:12:47] <iceeey> seems laggy to me
[00:13:16] <PK> well, if you walk with the keyboard, the arrow keys, then you're using the old stuff... and it's not even fully implemented yet.
[00:13:32] <iceeey> i know
[00:13:39] <PK> I said it's "thought through" not implemented and working :)
[00:13:56] <iceeey> ah
[00:14:36] <PK> mainly it goes like this. client tells the server "I want to go to " and then the server checks if it's allowed tells everyone in sight (including yourself) "Player A goes from to "
[00:14:50] <PK> then each client has three positions:
[00:15:24] <PK> the and the server tells it and the actuall coordination on the client itself, lets call it
[00:17:03] <PK> then the client "interpolates" the best way to move the character from to trying to not to get stuck in items it would avoid when walking from to as well as increasing or decreasing the walking speed to catch up any delies caused by lag or whatever else.
[00:18:04] <PK> the server could also find the nearest valid location to the client's requested and repleace the request with that.
[00:19:17] <PK> the client could also start walking slowly after sending the request until it gets the response. so the player doesn't "experience" the lag fully. if there is no answer, or another, the character can still stop or move back. This requires some inteligent implementation on the clientside of course.
[00:19:21] <PK> any questions? :)
[00:19:47] <CyaNox> yeah ...
[00:19:54] <CyaNox> when will it be done ... :p
[00:20:39] * PK thinks this could almost be copy pasted to the wiki... maybe some (more or less) small spelling corrections :)
[00:21:45] <iceeey> feel free
[00:21:48] <PK> CyaNox: probably pritty soon after we have something like entities... that exist... and walk... and maybe even have a game where you can login to?
[00:22:28] <PK> I mean, after the uber pythonish rewrite iceeey announced ;-)
[00:22:40] <sueastside> abc to xyz describing a dynamic path (to avoid obstacles) sounds a little difficult to interpolate, wouldnt it better if this path was just client side and it just sends new positions when changing direction? xyz2 xyz3 along the path...
[00:23:01] <CyaNox> ok so if I define "pretty soon" as 2 weeks ... will that still be the case then?
[00:23:36] <sueastside> 2weeks seems reasonable, thebolt and iceey have nothing to do anyways :P
[00:23:39] <PK> sueastside: well of course it's client side
[00:23:54] <sueastside> ah oke misunderstood then...
[00:24:20] <PK> the server just say "Player A goes from to "
[00:24:40] <PK> the server cannot know where the mesh on each client will be.
[00:24:52] <PK> so it's impossible to do that on the server.
[00:25:28] <sueastside> PK: is to a path or a straight line?
[00:25:53] JohnTitor has joined #peragro-dev
[00:25:53] ChanServ sets mode: +v JohnTitor
[00:25:54] <PK> it's two coorinates... actually 6 floating point numbers
[00:26:17] <PK> float from[3], to[3]; // :-)
[00:26:22] <iceeey> but the server and client need to have the same path
[00:26:22] <sueastside> thats not answering my question :)
[00:27:02] <PK> well, we'll have the movement map map on the server side, no?
[00:27:07] <PK> or whatever it's called...
[00:28:05] <sueastside> it just sounds that youre making it harder then it has to be...
[00:28:15] <PK> ?
[00:30:07] <sueastside> well in your case the client sends xyz, and you broadcast abc, xyz and you rely that each client computes a path for the requested coordinates of the entity, correct?
[00:30:33] <PK> navigation mesh it's called :) I really have to remember that :/
[00:30:47] <PK> sueastside: yep
[00:32:38] <thebolt> which means that every client have to interpolate the full path movement of every other client
[00:32:39] <sueastside> well what if some client becuase of a rounding error makes an entity move along the left side of a house instead of the right side?
[00:32:51] <sueastside> yes and that too
[00:33:30] <PK> thebolt: well, only for those it sees... still better than the server doing it for everyone online, right?
[00:33:58] <sueastside> PK: what if the client did it?
[00:34:06] <thebolt> PK: well, as sueastside says you cannot gurantee consistency (unless you do everything in fixed point maths)
[00:34:20] <PK> sueastside: and since all use the same numbers, it would really be a very rare case that such a rounding thing would occure I guess...
[00:34:41] <thebolt> famous last words :P
[00:34:44] <PK> well, do we need floats for coords?
[00:35:32] <PK> I mean, it's the same old problem, if we want an accuracy of 1mm we have a problem after 88km or so :)
[00:35:42] <thebolt> with floats?
[00:35:45] <thebolt> no, way sooner
[00:36:01] <thebolt> and the problem isn't float inaccuracies, but that different processors can give you different result
[00:36:14] <thebolt> ie a*b can be different things, even if a and b are same to start with ,)
[00:36:24] <sueastside> PK: my point is, let the client interpolate its own path and send updated coords accordingly....(when changing direction on the path or something)
[00:36:26] <PK> well, only with floats, right?
[00:36:37] <PK> fixed point no, as you said.
[00:36:57] <thebolt> PK: yea, but fixed point is messy to work with ;)
[00:37:07] <PK> sueastside: well, of course it can split one big walkto into several shorter requests...
[00:37:27] <thebolt> but actually i would prefer 64-bit integer coordinates.. not for consistency but for large world support
[00:38:05] <PK> yea, we were talking about that issue before.
[00:39:01] <thebolt> (say 64-bit and 1 unit == 0.1mm and you are all set .. you can still have coordinates up to .2 lightyear ;)
[00:39:14] <PK> 0.1mm ? :O
[00:39:17] <sueastside> is that enough?
[00:39:22] <PK> I guess even 0.1m would be enough :)
[00:39:27] <PK> for walking...
[00:39:30] <thebolt> you want positioning to be closer than 0.1m
[00:39:36] <PK> or even item placement
[00:39:40] <thebolt> walking yes, but i talked about coordinates in general
[00:39:41] <PK> thebolt: why?
[00:39:46] <thebolt> you don't want your door to be .1 meter off ;)
[00:39:57] <PK> ?
[00:39:59] <thebolt> (as probably the door isn't much thicker than .1 meter ;)
[00:40:16] <iceeey> doors are entities too
[00:40:20] <PK> well, that's one mesh... meshes work still with floats
[00:40:20] <iceeey> so yeah i agree
[00:40:20] <sueastside> yeah
[00:40:35] <thebolt> no, to be useful _all_ positioning coordinates should be integers
[00:40:42] <thebolt> otherwise you get no real benefit from it
[00:40:51] <PK> hm... how about CS?
[00:40:57] <PK> iirc, it works with floats only
[00:40:59] <thebolt> (the mesh vertices are of course floats)
[00:41:15] <thebolt> what CS cares about is relative coordinate between camera and meshes
[00:41:29] <thebolt> so what you'd do is have a "floating origin" which you move around every now and then
[00:41:49] <thebolt> say you can walk an +- 4000^3 volume before repositioning the center
[00:42:19] <PK> hm, have you seen that tile and warping stuff we worked out about a year ago or so?
[00:42:29] <PK> someone remembers the url? :)
[00:42:31] <iceeey> yeah, it was pretty silly
[00:42:55] <iceeey> because we didn't have any entity system, so we had to do all of the positioning statically in CS world files and hacked together with portals
[00:43:34] <iceeey> (appears the old repos is not working anymore)
[00:43:45] <CyaNox> lemme fix that in a moment
[00:44:15] <PK> iceeey: portals? what are you talking about?
[00:44:55] <PK> I know, I once made such a worldfile with portals for dragonrift... but that's probably even older than what I mean :-)
[00:47:42] <PK> thebolt: I'm not sure if I get you right, but wouldn't it be better to keep the vertices as floats and just position the mesh objects them using the int64s, or even only the entities. And a door will have the coords in the worldfile anyway. the server doesn't have to tell that coord the client. so the door cannot be off :)
[00:47:49] <CyaNox> iceeey: fixed
[00:48:48] <PK> CyaNox: maybe resize that image on the title page a bit? so it actually fits where it belongs? :)
[00:48:50] <sueastside> http://repos.peragro.org/index.php?id=353
[00:49:09] <CyaNox> PK: It fitst if you use a decent resolution.
[00:51:53] <thebolt> PK: that is what i said
[00:52:12] <thebolt> vertices are in local mesh space
[00:52:19] <thebolt> and in CS the mesh positions are floats
[00:52:29] <PK> CyaNox: then make it fit for all resolutions :) if you set the image width and height with CSS in em, you can even zoom the images if you increase the text size :)
[00:53:26] <PK> thebolt: and why do you need sub milimeter accuracy? I guess a cm would be more than enough.
[00:53:52] <CyaNox> PK: I have more important things to do atm ... so don't bother.
[00:53:57] <thebolt> PK: well, i was just using that as an example
[00:54:13] <thebolt> PK: and you don't need 12000 astronomical units anyhow
[00:54:17] <thebolt> so why not give it sub mm :)
[00:55:00] <sueastside> if we ever expand the world in space......
[00:55:02] <PK> why not go down to 32bit?
[00:55:03] <sueastside> :D
[00:55:16] <sueastside> *into
[00:55:55] <CyaNox> I'd go with 1024bit just to be sure ...
[00:56:14] <thebolt> PK: sure, 32 bits at 1mm you have 4200 km ;)
[00:56:18] <PK> 2^32 = 4294967296 => 4294967.296 meter => 4294.967 km if we go for mm... or if we go for cm... *10 :-) more than enough, no?
[00:56:44] <PK> CyaNox: sure, after all, it's your bandwidth we're wasting :)
[00:57:07] <PK> and walking is probably the very most used activity in the game :)
[00:57:07] iceeey_ has joined #peragro-dev
[00:57:13] <CyaNox> I'm better at wasting it then the pt server ...
[00:57:13] <PK> wb iceeey_
[00:57:23] iceeey has quit: Nick collision from services.
[00:57:31] iceeey_ changed nick to: iceeey
[00:57:40] ChanServ sets mode: +o iceeey
[01:00:18] <iceeey> i miss anything?
[01:00:26] <thebolt> nope
[01:00:58] <PK> depends on when you diconnected :)
[01:01:16] <iceeey> bout 10 min ago
[01:01:23] <PK> then yes :)
[01:01:44] <PK> 2^32 = 4294967296 => 4294967.296 meter => 4294.967 km if we go for mm... or if we go for cm... *10 :-) more than enough, no?
[01:02:14] JohnTitor has joined #peragro-dev
[01:02:15] ChanServ sets mode: +v JohnTitor
[01:02:20] <thebolt> oh well, i've been up since 6 this morning
[01:02:21] <thebolt> so i am feeling it is time to go to bed
[01:02:26] <iceeey> good idea :)
[01:02:34] <PK> good night thebolt
[01:02:46] thebolt changed nick to: thebolt|zzz
[01:02:49] <iceeey> sleep well
[01:03:28] <thebolt|zzz> wilco :)
[01:09:50] JohnTitor has joined #peragro-dev
[01:09:51] ChanServ sets mode: +v JohnTitor
[02:05:58] PK has quit: "Leaving"
[03:11:32] sueastside has quit: "Shit happens when you party naked."
[05:27:55] dingobloo has joined #peragro-dev
[07:13:57] dingobloo has quit: orwell.freenode.net irc.freenode.net
[07:13:57] caedes has quit: orwell.freenode.net irc.freenode.net
[07:14:03] dingobloo has joined #peragro-dev
[07:14:03] caedes has joined #peragro-dev
[07:14:13] iceeey has quit: Read error: 110 (Connection timed out)
[09:57:09] dingobloo has quit: "Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"
[10:32:16] dingobloo has joined #peragro-dev
[12:02:20] thebolt|zzz changed nick to: thebolt
[13:23:31] sueastside has joined #peragro-dev
[13:23:32] ChanServ sets mode: +o sueastside
[14:03:42] PK has joined #peragro-dev
[14:03:42] ChanServ sets mode: +o PK
[17:52:44] iceeey has joined #peragro-dev
[17:52:44] ChanServ sets mode: +o iceeey
[17:58:39] thebolt changed nick to: thebolt|away
[18:22:45] dingobloo has quit: Read error: 54 (Connection reset by peer)
[19:50:14] ChanServ sets mode: +v caedes
[22:09:32] thebolt|away changed nick to: thebolt
[22:27:58] iceeey has quit: Read error: 110 (Connection timed out)
[23:17:03] <CyaNox> ok the PTBox is almost ready to be used.
[23:17:11] <CyaNox> just one minor detail
[23:17:21] <CyaNox> the user
[23:20:50] <CyaNox> ok ... its setup
[23:20:57] <CyaNox> could someone please try?
[23:21:10] <CyaNox> user = peragro ... pass = xs2peragro
[23:21:34] <CyaNox> ssh access through port 10022
[23:21:58] <CyaNox> something like: ssh -p 10022 peragro@peragro.org
[23:22:00] <CyaNox> should work
[23:22:19] * CyaNox pokes sueastside, thebolt, PK and caedes.
[23:23:46] <caedes> CyaNox, hello server4
[23:23:52] <PK> CyaNox: works
[23:24:14] <CyaNox> great
[23:24:18] <CyaNox> then ... its back
[23:24:57] <CyaNox> its a basic install ... loads still needs to be installed
[23:25:34] <CyaNox> unfortunatly I won't be around much for that so I am giving the temporary root password to you.
[23:25:41] <CyaNox> its ... well guess it ...
[23:25:43] <CyaNox> :p
[23:27:49] * CyaNox pokes sueastside, thebolt, PK and caedes ... again ... :D
[23:28:21] <PK> same as before?
[23:29:14] <CyaNox> nah but it follows a similar scheme as the current peragro one ...
[23:30:02] <PK> xs2`whoami`
[23:30:27] <CyaNox> yeah but not root ... more like xs2`hostname -s`
[23:30:42] <CyaNox> although xs2`hostname` prolly is the same ... :p
[23:31:12] <PK> the server's hostname is root? :O
[23:31:48] <CyaNox> you already know the hostname ... so deriving the root password from that is easy.
[23:32:42] <CyaNox> and my "prolly is the same" was not directed to xs2`whoami` but to xs2`hostname -s`.
[23:33:03] <PK> ah, ok, misread thatone :)
[23:33:36] <CyaNox> and for those with lesser brain capacity ... the root password is xs2server4
[23:34:44] <sueastside> oh....why didnt you just say so...
[23:35:17] <CyaNox> owh and if one of you guys messes it up ... I know for sure I can take down PK, caedes and sueastside ... thebolt ... maybe ... just in case I'll take my axe with me (if it ever happens ... :p)
[23:36:27] <sueastside> it wasnt me!
[23:37:49] <PK> sueastside: watch less simpsons... and CyaNox: take down? I wouldn't be too certain about that... :-P
[23:38:11] <CyaNox> your like half my size ...
[23:38:18] <CyaNox> long hair ... easy
[23:39:48] <CyaNox> owh btw ... I really do have 20mbits down ... its just way slower due to my leeching ... :p
[23:39:48] <sueastside> CyaNox: youre big, he has a gun....... the odds are pretty clear....
[23:39:54] <PK> CyaNox: well, we swiss all got out personal, trusty assualt riffle (for the case some nederlandians attack)... so try your best with your punny axe :-)
[23:40:28] <CyaNox> PK: You won't have it with you if I come and get you ... moahahaha
[23:40:32] * PK wonders if sueastside can read his thoughts :O
[23:40:56] <CyaNox> anyway .. lets get around setting up the pt part of server4
[23:41:13] <PK> sure, right after thebolt wrote it :)
[23:42:00] <CyaNox> owh btw ... the mailinlists don't work yet ... (if you even noticed)
[23:43:22] <CyaNox> anyways I've done enough for today ... I'll be doing some thinking ...
[23:43:49] <PK> famous last words :)