IRC log for #bzflag on 20130102

00:41.55*** join/#bzflag Marzipan (~Marzipan@sign-4d091a88.pool.mediaWays.net)
01:04.30Constitutionbizarrefish: okay, I didn't realize it only did it in CTF mode. We probably want to keep that behavior strictly to CTF mode in that case.
01:35.22bizarrefishConstitution: Cool. Would that likely be a client modification? (auto respawning without asking)
01:35.48JeffMif it has to be a client mod it would need to wait for the next breaking release
01:35.57JeffMotherwise you can't ensure all players have that behavor
01:37.07bizarrefishIndeed. He either was talking about the ability to respawn without asking, or forcing all players to respawn on the base, which I thought happened anyway in CTF. It's 1 in the morn - My disambiguation isn't all that grand :-)
01:37.30JeffMif it's not CTF there arn't any bases ether
01:37.50JeffMand we can respawn them with out asking, it's called "killing them" :)
01:37.53JeffMboom
01:38.12bizarrefishBut they have to then hit 'i'. I was under the impression that's what he was suggesting to get rid of
01:38.23bizarrefishactually.....after further thought, I believe he meant the second thing
01:38.26JeffMoh I don't think that's what he was talking about
01:38.32bizarrefishAfter a countdown, the player doesn't get put back on the base.
01:38.35JeffMthat's a much larger change and I don't think that's a good idea
01:38.38bizarrefishunderstands now :)
01:38.55JeffMwe should just flag the next spawn as being on the base
01:38.57bizarrefishYeah, sounded a bit wrong
01:39.15JeffMthen when the game blows them up, they will spawn at base
01:39.57bizarrefishSounds like a plan. I'll take a look at that in the next couple of days.
01:43.43bizarrefishIt's funny, I found something really quite intimidating about contributing to a project. Haven't done it before. Bzflag is a pretty good starting point. The code's good enough that you're probably not going to break something massive by doing something seemingly trivial, but bad enough to be...fun :D
01:44.19JeffMI don't think the code is that great personaly, but it's good you feel that way
01:44.33JeffMjust start with small changes and it makes it easer
01:45.08bizarrefishIt's far nicer than the VB6/C# mess where I work :). It's amazing how smart people can write appalling code.
01:45.29JeffMwell the VB6 limits what you can do
01:45.38JeffMyou can write some very nice code in C#
01:46.43bizarrefishThe limits force you to do Stupid Shit(TM). And yes, I agree, C# is promising. I can't see microsoft supporting it with any great enthusiasm in 5 years though. At least, not C#/.NET . Not since WinRT and all that confusion.
01:47.20JeffMnot all apps will work with metro so they will keep .net going
01:47.25JeffMa LOT of people are based on it now
01:47.30bizarrefishThe guys need to back up and make .NET better, imho. Not just shift their focus from buzzword to buzzword
01:47.52JeffMthe winRT and .net teams are not the same group
01:49.12bizarrefishI hope they will indeed keep .NET going. There's that itch in the back of my mind, though... The way they just threw all the poor VB6 devs to the lions with no migration tools whatsoever.
01:49.37JeffMVB was so poorly writen that there wasn't much to do
01:49.57JeffMand the .net stuff is better defined, using standards and stuff
01:50.32JeffMfrom what I understand moving from VB6 to VB.net is dooable it's just not automatic
01:51.10JeffMhas to do that for one of our components at work since we told him no VB6 runtimes anymore
01:51.15bizarrefishVB is atrocious in some respects. One of my first tasks in my latest job was to set up a build server(dev team was growing from just 3-4 people)
01:51.32bizarrefishAbsolute nightmare getting VB6.exe to behave with respect to COM
01:51.37JeffMFinalBuilderPro
01:52.23JeffMalso don't forget there is an open source implmentation of .net
01:52.52bizarrefishThe VB6 to VB.NET probably works quite well for some simple apps. From what i've seen, the crazy things people do in VB6 make a rewrite-by-hand more efficient/preferable.
01:53.10JeffMthat is true
01:53.48bizarrefishThe object model is completely different. A lot of crap is no longer allowed. Not just syntactically, conceptually. I tried writing a VB6 yacc grammar a while back. Didn't get very far before admitting my sanity was more important :P
01:54.23JeffMit was never intended for that kindat stuff
01:54.38bizarrefishAnd yeah, I completely support .NET. I just home MS keep pushing with the standardization.
01:54.38JeffMlike bzflag and internet play :)
01:54.44bizarrefish*hope
01:54.58bizarrefishHaha, It wasn't meant for internets?
01:55.02JeffMoh god no
01:55.05JeffMit's a lan game
01:55.06bizarrefishOh, you mean as opposed to LAN
01:55.08bizarrefishriight
01:55.14JeffMthats why it's so easy to cheat
01:55.16bizarrefishHence the bug about enormous message sizes
01:55.23bizarrefishoh, and that.
01:55.35JeffMthe client does all the game logic and every client trusts every other client
01:55.37JeffMthe server does nothing
01:55.51JeffMit allso assumes that packets take no time to send
01:56.00bizarrefishIt's slowly doing more as far as I can tell
01:56.08JeffMvery slowly
01:56.12JeffMall it does now is flags and spawns
01:56.20JeffMit dosn't know where tanks are, it dosn't have shots
01:56.37JeffMit can't authenticate any action a player makes
01:56.43JeffMothe then flag grabs now
01:56.45JeffMand caps
01:56.59JeffMwe only did those because they were easy
01:57.06bizarrefishShame about 2.99. Wasn't that moving shots to server side?
01:57.11JeffMnopr
01:57.20JeffMeveryone thought it was, it wasn't
01:57.31bizarrefishGood to know everyone thought it was, too
01:57.48bizarrefishI do notice some stuff about a...CollisionManager
01:57.53bizarrefishand octrees and such
01:58.00JeffMthat's been there forever
01:58.02bizarrefish(in bzfs)
01:58.04JeffMfor a decade or so
01:58.08JeffMsure it has it for spawns
01:58.16bizarrefishAhh, right.
01:58.31JeffMit has the world now, but the shot logic is tied to the client
01:58.40JeffMbreaking it out was not a trivial task
01:58.53JeffMI tried it once, and a full summer of code was spent on it
01:59.19JeffMI think the next thing would be GM updates on the server
01:59.30JeffMthose should be doable in the current protocol
02:00.06bizarrefishAny particular reason GM? (apart from the point about protocol)
02:00.26JeffMbecause it is small and modular
02:00.27bizarrefishDoing laser collisions server side shouldn't be too hard.
02:00.27JeffMand has no rico
02:00.32JeffMthey bounce
02:00.45bizarrefishAh, right.
02:00.54JeffMrico means you have to get the shot pos to be correct on the server and match every client
02:01.13JeffMoff by a small degree and clients won't match the server
02:01.24JeffMGM sends constant updates so the deviation would be small
02:02.02JeffMthats what became hard, to get shots right you need to get the short origins right, and to get the origins right, you have to have the tanks right
02:02.52JeffMthe simplest way to get the origins right is to have the server force all clients to use the same origin, even the shooter and that needs some bigger changes
02:03.12JeffMthe client ignores the server for many of the things it localy generates
02:03.40bizarrefishSo at the moment, the shooter decides if the other player gets hit?
02:03.48JeffMno
02:03.53JeffMthe shooter adds a shot
02:04.04JeffMother players add that shot where they think the shooter is
02:04.18JeffMif they detect that they hit the shooter's bullet they say "I died"
02:04.50JeffMone common cheat is to send an update that your postion is inside or near to another player, then send the shot, then send an update that say you are back were you started
02:05.13JeffMthe remote player would see a shot appear inside of them, they'd blow up, but when they look they see the shooter far away
02:05.38JeffMthats why we can't trust the client with postions
02:05.52JeffMwe need to change over to just accepting input like "drive forward", or "turn left"
02:06.08JeffMthen timestamp it all and make sure that it all makes sense
02:06.16JeffMand send back updated postions
02:06.45JeffMthen the client is a dumb terminal with a small amount of movement predition to make it not jump
02:07.16bizarrefishThat's quite a jump indeed. In fact, you're gonna need a WG flag...
02:07.27JeffMit's how most modern games do it
02:08.05JeffMonce the server has all the input from each player in a timestream it can recreate postions as it needs to check and see who hit who
02:09.05bizarrefishAre shots currently timestamped? I noticed you said the victim works from where it 'thinks' the player is. If there is a when, where, and in-what-direction, why would there be any difference in opinion?
02:09.17JeffMnope
02:09.26JeffMit just assumes that there was 0 lag from when it was sent
02:09.28bizarrefishAh...damn.
02:09.33JeffMso everyone has a different state
02:09.39bizarrefishSurprising effective, somehow
02:09.42JeffMthats why you have to lead your shots by expected lag
02:09.44JeffMit isn't
02:09.56JeffMjust the tanks and shots move so slow it often looks like it works
02:09.57blast007it just gets lucky sometimes :P
02:10.02JeffMyeah
02:10.12bizarrefishI suppose it's never really possible to hit a tank moving quickly..
02:10.19JeffMit is hard
02:10.48bizarrefishThere's a concept of game time already, would there be an issue adding timestamps to the shots?
02:11.21JeffMwe actualy want to add timestamps to the player updates and make shots just be "I shot"
02:11.26JeffMthen you send an update with the shot
02:11.36JeffMbecause a shot can't come from anywhere else other then your tank
02:12.04JeffMand it may be more then just timestamps and doing predition, that can cause people to jump on screen if they change direction quickly
02:12.33JeffMthat and the input storing method are the two lag compensation methods that need to be evaluated
02:12.50JeffM2.99 has some lag compensation by using timestamps
02:12.52blast007the hard part is keeping it biased towards players with lower lag.  You don't want a laggy client to have an advantage simply because their lag is higher, and thus their shots all of a sudden 'appear' half a second ahead of where they were when they shot.
02:13.04blast007which could happen with lag comp'd shots
02:13.09JeffMyeah
02:13.18JeffMyou have to banlce it and see what works for the gameplay
02:13.27JeffMand it's a lot of work to change it over
02:14.01blast007many popular multiplayer games start to break down once you start going too far past 100ms latency
02:14.59JeffMyeah they also move a lot faster then bz
02:15.01blast007and in those cases, the laggy users generally suffer (inability to move, enemies move in busts of speed, etc)
02:15.35JeffMthere is a relationship to how fast a player can move across a screen compared with how fast they can change direction and latency
02:15.58JeffMalso compared to the size of the avatar, etc..
02:16.43JeffMit's all solveable in bzflag's case it's just not easy to do in little bits and peices.
02:16.52JeffMand our development has always been little bits and peices
02:19.15bizarrefishFor bugs and such, it seems to work ok. I see bugs getting fixed and such. Is there a particular go-to-guy for big architectural changes that can't easily be done in bits-and-pieces?
02:19.55bizarrefishis saying "and such" too often. it's 02:19. Should probably get a-snoozin' before long./
02:22.13JeffMthere isn't
02:22.22JeffMthe maintainer has ignored the project for a while
02:22.47JeffMwe have kept a list of feature desins on the wiki in the roadmap
02:22.55JeffMsome of them are modular
02:23.16JeffMwonders if he can get Tim to sell bzflag ;)
02:23.58*** join/#bzflag jeffmOSX (~jeffm@cpe-76-167-236-199.socal.res.rr.com)
02:24.13bizarrefishI can't see an android port being too difficult. Could have a non-free version of that.
02:24.27bizarrefishConverting to GL ES would be a pig.
02:24.56JeffMit would not play the same, from a game design standpoint you'd want to change how it worked
02:25.25bizarrefishAs in UI?
02:25.26JeffMthe touchscreen would not be as efficent an input device since your hand would be covering a lot of the screen
02:25.34JeffMyeah and I'd take some of the flags out
02:25.48JeffMbassicly make a game inspired by bzflag for mobile
02:25.50blast007BZFlag Pocket Edition
02:25.51bizarrefishI'd use accelerometer for steering (tilt)
02:25.52JeffMyeah
02:26.06bizarrefishDroidFlag?
02:26.09JeffMsure but then you need to tap for fire and jump and that gets hard
02:26.14Notify03BZFlag:bullet_catcher * 22581 (trunk/bzflag/MSVC/bzflag.rc trunk/bzflag/Xcode/BZFlag-Info.plist and 4 others): Update copyright notices to 2013 in oddball files.
02:26.15JeffMmost tilters don't fire too
02:26.25JeffMtilters tend to use 2 hands
02:26.36JeffMBulletCatcher, why didn't the script get those?
02:27.03BulletCatcherThey didn't have strings that match what the script looks for.
02:27.10blast007voice commands.  Yell 'fire' to shoot!
02:27.23JeffMbetter with kenect!
02:27.39JeffMbizarrefish, bassicly it would not be fair to have mobile players compete against PC players
02:27.46JeffMthe fun would be diminished
02:27.47BulletCatcherSome of them will be caught next time, but there are a couple of files that say 2003-2013 instead of 1993-2013.
02:27.58JeffM2003 why?
02:28.05bizarrefishI agree on that point(about mobile vs PC players)
02:28.14BulletCatcherI didn't look at the history.
02:28.27JeffMyeah so then we'd be maintaining 2 seperate games
02:28.36JeffMand we are having trouble maintaining one already
02:28.56JeffMthats why we arn't really interested in ports right now
02:28.57BulletCatcherSee tools/TextTool-W32/TextTool.rc for example.
02:28.58bizarrefishIt's still a very fun game, visually. Some new frontend stuff would have to be written to make it an experience worth having, certainly.
02:29.30blast007bizarrefish: it'd be pretty much a full rewrite to get any usable version of the game for mobile
02:29.39JeffMsomeone was doing an android port, I wish them the best of luck but I'd not want the project taking on that codebase
02:30.04JeffMBulletCatcher, probably just when I made it, I think we can backdate them all to 93 and be ok
02:30.24blast007we probably have too much inefficient code that would run like garbage on an ARM chip
02:30.43JeffMthe arm chips are pretty good these days
02:30.52JeffMit's the java that we'd probably run poorly under
02:30.57blast007kinda..
02:30.58bizarrefishThe arm chips aren't bad
02:31.15BulletCatcherAlso, the files in misc/stats say they are copyrighted by both Tucker McLean and Tim Riker.
02:31.21blast007they generally have faster GPU cores than CPU cores
02:31.22bizarrefishAndroid NDK would help out in that regard, wouldn't it?
02:32.04bizarrefish(the java regard)
02:32.09jeffmOSXBulletCatcher, the tucker should be removed
02:32.30jeffmOSXbizarrefish, does it make java suck less?
02:32.40blast007NDK lets you use C/C++
02:32.47bizarrefishjeffmOSX: It makes java irrelevant tot he application
02:32.48blast007for parts of the app, at least
02:33.14blast007"Notably, using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity."
02:33.55blast007so not really all that useful
02:34.03*** join/#bzflag JeffM (~jeffm@unaffiliated/jeffm2501)
02:34.03*** mode/#bzflag [+v JeffM] by ChanServ
02:34.28JeffMif someone wants to make it, more power to them
02:34.45JeffMI don't think we should waste time on it IMHO
02:34.57blast007or at least not waste time on it right now
02:35.03blast007there are far more pressing issues
02:35.26bizarrefishI don't know much about dalvik from a performance standpoint(or any other standpoint). I'd be more confident about the performance if we were talking about hotspot. It's pretty good.
02:36.16bizarrefishIndeed, more pressing issues. Not least my bed time. Gotta go, chaps :)
02:36.25JeffMhave fun
02:38.05*** join/#bzflag Pimpinella (~frank@gondolin.pimpi.org)
03:44.38*** join/#bzflag JeffM (~JeffM@cpe-76-167-236-199.socal.res.rr.com)
03:44.39*** join/#bzflag JeffM (~JeffM@unaffiliated/jeffm2501)
03:44.39*** mode/#bzflag [+v JeffM] by ChanServ
05:14.19*** join/#bzflag mdskpr_ (~mdskpr@pool-108-25-132-135.atclnj.east.verizon.net)
06:41.52*** join/#bzflag Gnurdux (~gnurdux@pool-70-108-34-27.res.east.verizon.net)
07:54.15*** join/#bzflag jcp (~quassel@vps1.opengroove.org)
07:54.15*** join/#bzflag jcp (~quassel@bzflag/contributor/javawizard2539)
09:49.49*** join/#bzflag bizarrefish (~lee@host-89-240-248-78.as13285.net)
10:01.30*** join/#bzflag allejo (~allejo@unaffiliated/allejo)
10:18.10bizarrefishIs it just me, or is shooting broken in bzflag trunk?
10:18.22bizarrefishI get a segfault when I try to fire
10:39.34jcpbizarrefish: Sound unavilable?
10:39.53jcp(Because I was having a segfault earlier that I fixed by starting my pulseaudio back up, might be related)
10:40.29jcpheads to bed
10:41.30bizarrefishYeah, something going wrong with audio allocation
10:41.45bizarrefishSeems wrong
10:41.51bizarrefishShouldn't bomb out just because of that
10:55.08bizarrefishSubmitted patch. A check was a bit wrong.
11:09.24blast007bizarrefish: is your client being built with SDL support?
12:22.59alezakosWhy doesn't the /flag give command trigger a flag grabbed event?
13:21.41blast007alezakos: because the code is inconsistent?  ;)
13:41.16blast007src/bzfs/commands.cxx does it's own code for telling the player to grab a flag
13:42.13blast007it doesn't use the grabFlag function from bzfs.cxx, since it presently can't (as grabFlag does some checks, such as distance to the flag)
13:43.38blast007it probably also doesn't trigger a flag drop event if the player already has a flag
13:47.03blast007(nor does it probably do that for /flag take)
14:21.51*** join/#bzflag swigg_ (~swigg@nsc69.38.101-238.newsouth.net)
15:28.56*** join/#bzflag swigg (~swigg@bzflag/player/Swigg)
15:53.10*** join/#bzflag spldart (~spldart2@c-98-199-190-28.hsd1.tx.comcast.net)
15:53.10*** join/#bzflag spldart (~spldart2@bzflag/contributor/spldart)
15:53.10*** mode/#bzflag [+v spldart] by ChanServ
16:08.20*** join/#bzflag DarkCalf (~DarkCalf@173.231.40.98)
16:34.37*** join/#bzflag Gnurdux (~gnurdux@129-2-129-147.wireless.umd.edu)
16:47.33*** join/#bzflag JeffM (~JeffM@unaffiliated/jeffm2501)
16:47.33*** mode/#bzflag [+v JeffM] by ChanServ
17:10.13*** join/#bzflag mdskpr (~mdskpr@pool-108-25-132-135.atclnj.east.verizon.net)
18:29.01*** join/#bzflag swigg_ (~swigg@nsc69.38.101-238.newsouth.net)
18:52.12*** join/#bzflag McYukon (~McYukon@69.162.80.34)
19:11.59alezakosShouldn't be players disallowed from sending messages containing spaces only?
19:13.25alezakosto send*
19:29.21blast007alezakos: why?
19:31.28blast007<PROTECTED>
19:32.44blast007we've already copied a bunch of stuff from IRC, so why not whitespace only messages as well? ;)
19:33.05alezakosOk then
19:33.24alezakosEven though my client doesn't allow me to send such messages (only on /me commands)
19:33.37blast007is there a specific reason why you're wondering about this?
19:33.58alezakosGood question
19:35.05blast007and perhaps I'm misunderstanding your question.. thought you were asking if players should be disallowed from sending whitespace only messages.  But then you just said you can't send such messages when doing normal messages, but only when using /me.
19:35.34alezakosI meant my IRC client
19:35.42blast007oh
19:36.27blast007so in bzflag you can send whitespace only messages regardless of how you do it?
19:36.58alezakosYes, even with /me or /msg
20:57.47*** join/#bzflag Fira (artix@unaffiliated/fira)
21:26.53*** join/#bzflag bizarrefish (~lee@host-89-240-248-78.as13285.net)
21:34.20Notify03BZFlag:blast007 * 22582 (trunk/bzflag/man/bzfs.6.in trunk/bzflag/package/win32/README.win32.html and 4 others): Get rid forum and wiki links still pointing to my.bzflag.org
22:02.35alezakosShould I submit a patch for the issue with the flags mentioned above?
22:13.56blast007sure
22:15.00blast007JeffM: and just in case you didn't check the file itself, he did add a license to the header of the file
22:15.12JeffMahh ok
22:15.17blast007I think the first map he posted he had it in there initially, but probably just forgot for this one
22:15.22JeffMcus I looked at the file before I posted the first time
22:15.31JeffMit did not in his first post
22:15.55blast007I mean, this is his second map release
22:16.36blast007the first map he released had the license from the beginning
22:16.37JeffMahh
22:30.28alezakosI'll submit the patch tomorrow - a few bugs have to be solved :)
22:31.09alezakosThere were pieces of the same code on many different places, so I changed the dropFlag() function and made checking for the flag position optional
22:57.26*** join/#bzflag Guest508 (4e33e116@gateway/web/freenode/ip.78.51.225.22)
22:57.41Guest508hi all
22:58.07*** part/#bzflag Guest508 (4e33e116@gateway/web/freenode/ip.78.51.225.22)
22:58.58blast007bye
23:09.07*** join/#bzflag Delusional (~delusiona@unaffiliated/delusional)
23:55.37*** join/#bzflag dcat (~dcat@c-98-244-106-246.hsd1.va.comcast.net)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.