#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-11-18

Timestamps are in GMT/BST.

00:27:20Flynnn has joined
00:27:29Flynnn Quit (Client Quit)
00:58:22kumul has joined
01:45:18raptorheh - I just came across teh SAM_ONLY define again...
01:47:08SolumnMushroom has joined
01:47:26SolumnMushroomHello all!
01:48:04raptorhi
01:49:58SolumnMushroomI noticed 2 bugs when I tried to play BF just now. Latest stable, downloaded straight from the site
01:51:23SolumnMushroomWell, one bug was fixed from running via Terminal
01:51:44raptorok, what are they? they may have been fixed already...
01:51:53SolumnMushroomOh yeah, I'm actively on Ubuntu 12.04.3
01:52:32SolumnMushroomThe first bug was a server connection bug, and the second one is a control bug
01:53:09SolumnMushroomUntil I tried running the game from a command line, it wouldn't connect to the master server
01:54:03SolumnMushroomThe second, and more annoying bug is that when I try to move or fire, it only works randomly
01:54:05raptortry running it normally, but waiting for a minute (like 60 seconds)
01:54:18raptor30 seconds it should time out, then 30 seconds later it'll connect
01:54:33SolumnMushroomWell, the first bug is gone
01:55:02SolumnMushroomControl bug still there
01:55:21raptorhow can i duplicate?
01:55:32SolumnMushroomAbout every 8 clicks fires one shot
01:55:41SolumnMushroomI'm not sure
01:55:57SolumnMushroomFor all I know, it could just be my computer
01:56:14raptori need to know more about your connection
01:56:25raptorare you hosting your own game? or joining a server?
01:56:29raptoron 018a?
01:56:33raptorwhat OS?
01:56:55sam686check your in-game FPS (F6 while in-game)
01:57:07SolumnMushroomHosting, and on 018a. Ubuntu 12.04.3 LTS with all the latest updates
01:58:22SolumnMushroomI'm getting 50-60 FPS when joining a server, yet the bug persists
01:58:34SolumnMushroomI'll try a reinstall
01:58:36sam686does the problem happen even when hosting?
01:58:48SolumnMushroomYes
01:59:45raptori've seen that bug before, but could never reliably duplicate - I always thought it was because of hosting locally
01:59:51raptormaybe it's dropped UDP connections?
02:00:55sam686you shouldn't have a problem when hosting, or when your ping is stable (near constant 100 or less ms), ir may be your keyboard/mouse or a problem with OS/SDL?
02:01:25sam686oh one more test, does adding bots (/addbot) does other robots fire just fine?
02:02:32SolumnMushroomI attempted a reinstalation
02:06:46raptoroh rats - we may have lost our chance
02:07:18raptorif you have a bug running right then, and we're here, it's usually really helpful to try the things we ask before nuking it (re-install) :)
02:10:22SolumnMushroomDoesn't matter! This bug is a cockroach!
02:10:33raptorwhat does that mean? survives?
02:10:37raptoris it still there?
02:10:56SolumnMushroomYup. Still there even after reinstall
02:10:59raptoroh good
02:11:01raptorok
02:11:05raptornow do the things sam686 asked
02:11:14raptorif you're willing to help track it down
02:11:34SolumnMushroomTime to host some bots!
02:11:34sam686host (or join sam test) and type /addbot does other bots fire just fine?
02:12:36SolumnMushroomNot seeing the bot at all...
02:12:59sam686press TAB and make sure bot actually joined
02:13:03raptorad some to your team
02:13:05raptor*add
02:13:17SolumnMushroomIt's a BM
02:13:19sam686you may type /addbots 5 as well
02:13:31sam686or find a bot
02:13:55raptorhe can't move - the server puts him back in his place, i think
02:14:18SolumnMushroomThe scoreboard is also affected by the bug
02:14:57sam686must be keyboard/mouse input lag, possibly bitfighter/sdl handling of it being the problem
02:16:18SolumnMushroomI gotta go. I'll be on later. Bye!
02:16:19sam686so you say you can't move while hosting, but bots move just fine? Also are you getting typing lag?
02:16:25SolumnMushroom Quit (Quit: Leaving)
02:16:26sam686later if you have to go
02:16:46raptorsam686: i've seen it when joining a server, too
02:17:09raptorlike i'll be on sky_lark's server with 3 other players, the level changes, then none of us can move
02:17:16raptorbut we can still chat
02:17:37sam686SolumnMushroom left...
02:24:33sam686yes sometimes I lag a little while in a server as in I can't move that well while lagging, though I rarely lag because of my connection is mostly good I guess..
02:26:07sam686or could it be a silly problem with mouse touchpad being disabled while pressing a keyboard button?
02:26:17raptorit's not lag - we all had ~100 ping
02:26:32raptorevery time we moved, the server would readjust our location back
02:26:38raptorwe could move client-side
02:27:22raptoralmost like RPC worked, but not pack/unpack
02:27:23sam686if thats so? it might also be server incorrectly idling like if there is no players (or all players idling)
02:27:32raptoroh interesting
02:27:50raptorthat may be - it always only happened at the start of a level
02:28:10sam686but then again it shouldn't happen while hosting... maybe until you go idling.
02:30:25sam686if it only happens at start of level, it might be your ship died, but client haven't received "your ship died" yet, as server buzy transmitting all other lineItem and other stuff.
02:31:34sam686for me the delayed ship destroyed usually only happens when there is 100 bots all shooting..
02:39:06raptorthis happened a few times on simple levels like Capture01
03:16:04raptori just realized that an old song that my dad sung to my siblings and me as little kids (and consequently I do to mine) has a possible reference to the pleiades in it
03:16:11raptorthis one: https://en.wikipedia.org/wiki/Green_grow_the_rushes,_O
03:32:22Nothing_Much_ has joined
03:53:01Platskies has joined
04:07:49Flynnn has joined
04:17:38kumool has joined
04:20:09kumul Quit (Ping timeout: 246 seconds)
04:30:28kumool Quit (Quit: Leaving)
04:40:56sam686 has left #bitfighter
04:42:20HylianSavior Quit (Quit: Leaving)
04:54:23HylianSavior has joined
04:54:29HylianSavior Quit (Read error: Connection reset by peer)
05:07:20raptorgood ngiht!
05:07:24BFLogBot Commit: cf75ca5d41d6 | Author: buckyballreaction | Message: Add in a new level file parameter: LevelFormat. This will let us handle major level file changes, like the recent change to saving real spacial coordinates. It was a little tricky handling all the legacy files with or without GridSize. I hope this is understandable..
05:07:30raptor Quit ()
05:10:54HylianSavior has joined
05:38:52Platskies Quit (Quit: Platskies)
05:42:00Platskies has joined
08:10:37Invisible has joined
08:19:36watusimoto has joined
08:19:37ChanServ sets mode +o
08:37:42Platskies Quit (Read error: Connection reset by peer)
08:40:11Platskies has joined
09:20:49Darrel has joined
10:09:02HylianSavior Quit (Read error: Connection reset by peer)
10:10:13Invisible Quit (Ping timeout: 248 seconds)
10:14:47koda has joined
10:45:29Platskies Quit (Quit: Platskies)
10:47:31Platskies has joined
10:51:31binaryking has joined
10:53:45binaryking has left #bitfighter
10:54:03Nothing_Much_ Quit (Remote host closed the connection)
12:13:16LordDVG has joined
12:13:19LordDVG Quit (Changing host)
12:13:19LordDVG has joined
12:21:31Platskies Quit (Quit: Leaving)
12:24:17Platskies has joined
12:24:34Platskies Quit (Client Quit)
12:29:37Flynnn Quit (Quit: This computer has gone to sleep)
13:40:34Darrel Quit (Remote host closed the connection)
13:41:29kumul has joined
14:00:24Invisible has joined
14:12:29sam686 has joined
14:12:29ChanServ sets mode +v
14:25:31LordDVG Quit (Remote host closed the connection)
14:51:20Nothing_Much Quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
14:51:45Nothing_Much has joined
15:06:42Darrel has joined
15:10:27Invisible Quit (Ping timeout: 272 seconds)
15:25:54Invisible has joined
15:27:52LordDVG has joined
15:34:57LordDVG Quit (Remote host closed the connection)
15:40:36Izaron has joined
15:52:28BFLogBot Commit: ac3be270d9c3 | Author: kaen | Message: add scrolling in editor plugin list
15:52:34kaenmorning all
15:57:08destroyerimo has joined
16:05:56kaensam686: I removed Worm because it was hidden, crashy, and kind of lame even after it was fixed, so that made it dead code in my opinion. If you think it truly improves the game, then just re-push it.
16:06:30kaenI'm happy to discuss the motivations behind my changes, but I'd prefer if you didn't villainize me on the forums.
16:06:36kaenwe're a dev *team*
16:06:40sam686maybe levelgen can control the Worm?
16:13:06Invisible Quit (Ping timeout: 246 seconds)
16:13:10sam686and, maybe if we return Worm, it probably should be in a separate Worm.cpp file, makes it easier t not include it in a build if not n needed/or not useful
16:14:09sam686maybe it looks like a dead code, but that while I was gone..
16:17:37sam686Oh maybe I could simulate Worm with ugly forcefields in levelgen, I can try that first.
16:24:21watusimotogentlemen
16:24:23watusimotomorning
16:25:06watusimotomay I suggest the following for worm, since it was my idea to include it, my poor implementation that sam improved, and since I gave consent for kaen to remove it
16:25:24sam686ok
16:25:38watusimotolet's get the 019 release out the door, then we can figure out what worm should be and how it should work
16:25:43sam686if Work returns, it should be in a separate Worm.cpp .h
16:25:51watusimotoand whether it is something we want in the game
16:25:56watusimotoyes, I agree
16:26:05watusimotoall our classes should be separate files
16:26:11watusimotomostly
16:26:17sam686after all Worm was in a MoveObject and my changes makes it no longer a moveObject
16:27:01watusimotosam686: in all fairness to kaen, we thought you had moved on to another project, and worm had no further defenders
16:27:24watusimotoand it got somewhat caught up in the anti-circle mania
16:27:51sam686Hint, a cheap way to disable object from server is to just do "return false;" in processArgument.
16:27:53watusimotoI still like the idea of what worm was supposed to be; essentially an evil unguided missle like thing running around causing mayhem
16:28:47watusimotoI take full responsibilty for being the one that ultimately gave the ok for removing it
16:28:47sam686i kindof like it too, maybe levelgen can control Worm as well?
16:28:59watusimotothat might be good
16:29:23watusimotobut I think we would all feel better if we got 019 out the door; we have the gci students showing up soon
16:29:35watusimoto(or perhaps now? Izaron are you from gci?)
16:29:48IzaronYes)
16:29:58watusimotogreat!
16:30:03watusimotowelcome!
16:30:10IzaronThanks!
16:30:17watusimotowe really are freindly!
16:30:46IzaronYeah, friendship is magic!
16:31:14kaenhello and welcome :)
16:31:28Izaronhello kaen :)
16:32:06watusimotoare you lurking around some of the candidate projects to see what you might want to work on?
16:38:41IzaronYes
16:45:33Darrel Quit (Read error: Connection reset by peer)
16:48:36Darrel has joined
17:01:16raptor has joined
17:01:16ChanServ sets mode +o
17:01:22raptorgood day!
17:02:00raptornew peoples!
17:02:07raptorDarrel: are you doing GCI this year?
17:05:04Darrelyep
17:06:24raptorwatusimoto, sam686, kaen - I think if we ever want to experiment with a new object, we should guarantee it is commented out in the code before a release
17:07:29raptorthat is, until we're ready to official test it on the community... :)
17:08:40raptorin fact - i will add that to the release checklist
17:12:08raptoralso watusimoto -
17:12:22raptorArc gave me hg access, and I cleaned up the tasks a little bit
17:12:29sam686my testObject.cpp should obviously check for most problems with pack/unpack (and some of processArguments) for all obkects
17:13:10sam686One cheap way of disabling "Worm" on 018a is "return false;" always on processArguments
17:16:02raptorthat is cheap
17:16:05raptorsmart idea
17:18:41raptorI agree with watusimoto, though, to not add anything back before 019
17:20:54koda Quit (Quit: Leaving)
17:51:48Watusimoto_ has joined
17:55:26watusimotoraptor: quick question before I head out
17:55:47watusimotoyou fixed the "OK>" bot menu issue with about the most trivial fix imaginable
17:55:55watusimotomy question is "is that really all it took"?
17:56:45BFLogBot Commit: 819f735eaec5 | Author: sam8641 | Message: Make GhostConnection version system work. Now TNL_IMPLEMENT_NETOBJECT_VERSION works as expected.
17:58:30raptoryes that was all it took
17:58:38raptorit was already saving everything with onEscape
17:58:39sam686maybe it could have "Number of bots to add: 5" and "OK"?
17:58:49watusimotoI actually did that, then backed it out and added the case because I swas sure it was more complex!
17:59:16raptorno... i think I added the 'OK' late one night.. you know, when you think some things are important but really aren't
17:59:40sam686it can also have "Bot difficulty:" or "bot file: s_bot"
18:00:09sam686but then, that means the client have to get the list of bots server have..
18:00:32watusimotook, gotta run. will be back in a couple of hours
18:00:33raptors_bot does need some algorithm improvements, I think - I merged in some of fordcars changes recently, but I think somethign broke with HTF and flags
18:00:36raptorbye!
18:00:40watusimotoenforced work fun!
18:00:45raptorwoo!
18:00:57watusimotothe beatings will continue until morale improves!
18:01:04raptorah... one of those
18:01:09watusimotonot quite
18:01:09raptorlovely
18:01:17watusimotobut it's been a rough day
18:01:27watusimotolater!
18:01:32raptorlater!
18:02:16raptorsam686: I'm worried about your TNL changes again...
18:02:43sam686its mostly a copy from EventConnection versioning system for readConnect/write
18:02:49raptorOK
18:02:57raptordoes GhostConnection need a virtual destructor?
18:03:16sam686don't know,
18:03:25sam686maybe it doesn't matter if parent have virtual?
18:03:27raptornormally any class with virutal methods should have it
18:03:59raptoroh... it already had virtual methods..
18:04:02raptorinteresting
18:05:40watusimoto Quit (Ping timeout: 246 seconds)
18:05:57sam686I noticed tnlEventConnection.h don't have virtual on readConnectRequest and 3 other similar one, maybe having it on NetConnection was good enough i guess..
18:07:00raptorhmmm
18:07:04raptorok
18:10:04sam686My work on versioning system might come useful in the future, maybe on 019a..
18:12:57raptorI think it's good work
18:13:12raptorI just like to be careful... and I don't completely understand everything in TNL
18:14:26Flynnn has joined
18:15:56Flynnn Quit (Client Quit)
18:17:54BFLogBot Commit: 5b3af0767138 | Author: sam8641 | Message: Barrier is not ghostable as there is no Barrier::packUpdate
18:24:33HylianSavior has joined
18:25:12Flynnn has joined
18:26:13Nothing_Much Quit (Ping timeout: 248 seconds)
18:30:12Flynnn Quit (Quit: This computer has gone to sleep)
18:31:05raptorkaen: did you say you were fully signed up as a mentor in the GCI app?
18:32:07kaenheyyyy
18:32:15kaenhes outside atm
18:32:18raptorspikey?
18:32:32raptorok
18:36:30kaengrrr
18:36:32kaenI'm back
18:36:37kaenyes, I'm registered as a mentor
18:37:43kaenalthough I haven't been approved as aone
18:39:25Izaron has left #bitfighter
18:40:49raptorkaen: ok, i'll bug Arc
18:41:38raptor changes topic to 'Welcome GCI students! Feel free to ask anything! | Bitfighter 018a released! | http://www.bitfighter.org/downloads | Join us in the forums! at http://bitfighter.org/forums/ | Channel logs http://bitfighter.org/irclogs/'
18:42:09raptorkaen: what is your username in the google-melange system ?
18:42:16Flynnn has joined
18:43:07db96 has joined
18:43:07LordDVG has joined
18:43:15kaenLOGGED-IN AS
18:43:15kaenbkconrad@gmail.com
18:43:31kaenoops
18:43:34raptorsorry, the 'public name' under 'my profile'
18:43:44kaenoh
18:43:47kaenBryan Conrad :)
18:43:51raptorokey doke
18:49:59raptorhi db96, are you from GCI?
18:50:48db96yes
18:50:56db96hello!
18:51:04raptorwelcome!
18:51:53raptorfeel free to ask us anything you want, we usually idle here all day
18:52:37db96Ofcourse I will!
18:56:20db96 has left #bitfighter
18:58:10Flynnn Quit (Quit: This computer has gone to sleep)
19:01:41grypoB has joined
19:11:54raptorhi grypoB, I assigned you the task
19:12:04Flynnn has joined
19:19:56Flynnn Quit (Quit: This computer has gone to sleep)
19:23:23destroyerimo Quit (Quit: Leaving)
19:24:29Skybax has joined
19:32:25fordcars_xp has joined
19:32:31fordcars_xpHi
19:33:09fordcars_xpkaen, how do I revert my clone again? I only modified some c++ files
19:33:11fordcars_xp:)
19:33:36raptorhg revert -a
19:33:46fordcars_xpok thanks :P
19:41:13Watusimoto_ Quit (Ping timeout: 246 seconds)
19:45:27fordcars_xp Quit (Quit: Page closed)
19:50:10raptorI'm beginning to think some of our tasks are quite difficult for GCI...
19:55:25kaenI have to agree :/
19:55:37kaencan we amend our list of tasks?
19:55:41raptorstill trying to get you on as a mentor...
19:55:50raptoryes, actually
19:55:53kaenok
19:57:12raptorwe change large amounts at once, too. Arc set it up so that all we have to do is edit this one file and commit to hg: http://hg.copyleftgames.org/gci/file/8f4306fa1b8b/templates/tasks/bitfighter.xml
19:57:33raptorso if you have ideas/changes, feel free to make them, then send me the file or diff
19:57:46raptorat least until we can make you a mentor...
19:59:16kaenBITFIGHTER: ADD IPV6 SUPPORT TO TNL LAYER
20:00:03kaenwhen I was 13-17 I couldn't even configure my router
20:01:25kaenthe plugin one looks ok -- but the others seem really ambitious
20:01:51raptoryeah... most are probably worthy of GSoC instead
20:04:49kaenI think splitting all of the classes into separate cpp/h files would be a good one
20:05:16Johnaydu has joined
20:05:22JohnayduHey guys
20:05:26kaenhello
20:05:31Johnayduomg I wrote my name wrong - anyways
20:05:33raptorAlthough, I bet some could be split up - like the 'test writing' one
20:05:47kaenyes, I like the testing one as well
20:05:55raptorinto several smaller test writing ideas
20:06:05kaenand splitting seems like a really good strategy in general
20:06:05raptorhi Johnaydu
20:06:12JohnayduIt's Johnaudi
20:06:19Johnaydulol sorry for the name
20:06:22Johnaydubut anywAys
20:06:25kaenno problem :)
20:06:31JohnayduI've claimed a task on Bitfighter (GCI)
20:06:50Johnaydu'BitFighter Test Writing
20:07:02raptorjust assigned
20:07:36raptorJohnaydu: great!
20:07:47Johnaydusorry I claimed another task from you before, but then I realized I needed linux
20:07:48raptorif you want to change your name, do: /nick Johnaudi
20:07:55Johnaydu is now known as Johnaudi
20:07:58Johnaudioh thank you
20:08:13Johnaudianyways, what do you guys want me to test write?
20:08:27JohnaudiI didn't quite understand where the source code is located
20:08:35raptorwe will probably have several, but there is an example of one in the task description
20:08:35Johnaudiexcuse me raptor, are you a coder/developer?
20:09:04raptorJohnaudi: yes, kaen, watusimoto, and I (raptor) are mentors/developers. sam686 is also a developer
20:10:20JohnaudiOkay so basically, you guys want 'test ideas'? or some plain code?
20:10:27Flynnn has joined
20:10:32kaenso, we have a unit testing framework
20:10:35Johnaudiit's my first time in GCI so - sorry for the lack of knowledge
20:10:58kaenand the task involves writing more unit tests -- pieces of code we run as a test suite to make sure we don't break the main code base
20:11:14Johnaudioh okay let me look that up
20:12:26Johnaudi"Figure out how to get a MasterServer object to communicate with a ClientGame and a ServerGame object. All these objects can be created, and ClientGames can talk to ServerGames, but very little work has been done to get the Master to talk to anything else. May be able to implement functionality similar to the Client/Server Local Connection code that exists and works."
20:12:30Johnaudithis is very passive
20:12:43Johnaudidoesn't really 'explain' what needed
20:12:59raptorI would say first-thing-first: do you have a development environment set-up and teh code checked out?
20:13:18Johnaudino idea where the source code is
20:13:24raptoroh... oops
20:13:28raptorthat's our fault
20:13:32kaendocumentation bug!
20:13:38raptorheh
20:13:41Johnaudihaha no biggie
20:13:48raptorhttp://code.google.com/p/bitfighter/source/checkout
20:14:01raptorwhat dev environment are you thinking of using?
20:14:14raptorthis task involves c++
20:14:21JohnaudiVS
20:14:27kaenperfect :)
20:14:27raptorwhat version?
20:14:33Johnaudi"10
20:14:38raptoroh good
20:14:43kaendouble perfect
20:14:46Johnaudiolder versions not supported?
20:14:58raptorit's just known that 2010 works
20:15:02raptor:)
20:15:19JohnaudiI'm not a pro coder though so - yeah sorry but I'll do my best
20:15:23raptorkaen: are you editing that XML at all? I'm about to add source code instructions to each task...
20:15:32kaenI'm not
20:15:33JohnaudiI work with other languages and the only common one is C++ with GCI
20:16:33Johnaudiokay what's the directory of the folder you want me to check out? @raptor
20:16:47Johnaudihow to send a 'message' directly to someone? like having Johnaudi: hi?
20:16:48raptorthe whole thing :)
20:16:53Johnaudilol alright
20:16:55raptoryou did
20:17:12raptorif you mention someone's name in IRC, our clients highlight and message us
20:17:33Johnaudioh okay didn't know that
20:17:34Johnaudithanks
20:19:14Johnaudiso it says 'figure out how this object communicates with this object'
20:20:06Johnaudican you guys explain in english what do you want me to do?
20:20:27Johnaudilike create a MasterServer object and communicate to client or what?
20:20:41grypoBHi, I'm currently working on the GCI task to associate music with a level, and I would like to know where in the code a .level file is loaded.
20:20:43raptoryes, once you get set-up you'll see we are a network game with 3 major parts: master, server, client
20:20:56raptorhi grypoB
20:21:02raptorare you checked out?
20:21:42grypoBi have a clone of the repo on my computer if is is what you mean
20:22:09raptorexcellent
20:22:29raptorlet get you the location
20:22:34raptor*let me
20:22:59Flynnn Quit (Quit: This computer has gone to sleep)
20:23:01Johnaudimaster is where the whole data is saved
20:23:09Johnaudiserver is the communication sequence
20:23:13Johnaudiclient is the user's sequence?
20:23:34Johnaudisorry in normal MMORPGs I don't realize a masterserver in there
20:23:39Johnaudiunless the server is a sub-server
20:23:45raptorgrypoB: in zap/game.cpp line 668 is where the process flow starts
20:23:52raptorJohnaudi: sort of
20:23:56grypoBthanks
20:24:05raptor'server' is the game server
20:24:13raptor'client' is the user of the game
20:24:23Johnaudimaster is what? :x
20:24:58raptor'master' is the central data hub that handles authentication of all the users, and other things like statistics tracking
20:25:11sam686master only does server list, game reports, and logins, there is only one master running for the most part.
20:25:15raptorso both 'server' and 'client' connect to master
20:25:54Johnaudiokay
20:26:01Johnaudiunderstoof
20:26:04Johnaudistood*
20:26:21kaenraptor: I just updated the linux and windows build instructions. Can you put a link to bitfighter.org/wiki/index.php/Building_Bitfighter on the Get Involved page?
20:26:54raptoryes, excellent! I was just thinking of doing that
20:30:50LordDVG Quit (Remote host closed the connection)
20:31:15raptorok done
20:31:20Johnaudiah this stuff is hard - especially the framework you guys are using
20:31:23raptorlet's see how fast it shows up
20:31:26LordDVG has joined
20:31:34Johnaudibut I'll try my best understading them before my time runs up
20:31:40LordDVG Quit (Remote host closed the connection)
20:31:48Johnaudiif my time runs up may I take the task again?
20:32:04raptorJohnaudi: no worries - we're planning on adding more tests, so if you get used to it, you'll be able to do those, too
20:32:23Johnaudiokay great!
20:32:36Johnaudiyou guys are from CopyLeft games right?
20:32:41raptorJohnaudi: if you've made some good progress on the task before time is up, then we are very willing to extend any task
20:32:58raptorJohnaudi: yes, they are our parent organization
20:33:01Johnaudioh that's great new!
20:33:05Johnaudinews*
20:33:19JohnaudiI've got all day tomorrow hope to make you guys proud
20:33:30Johnaudibut now I'm getting annoyed with that Checkout thing
20:33:31raptorgreat!
20:34:37kaentakes forever because you get every change ever made to every file
20:34:46raptorfeel free to ask any questions
20:35:36Johnaudieven stupid questions?? :p
20:36:14JohnaudiHow can I clone the checkout and start working on them on vs?
20:36:18kaenespecially stupid questions -- We want to make the build instructions as complete as possible :)
20:36:21Johnaudiit's all using terminal
20:36:26Johnaudihaha
20:36:32raptorexcellent question - go here http://bitfighter.org/wiki/index.php/Building_Bitfighter
20:36:46kaenI don't think there are GUI instructions on that page, raptor
20:36:48kaenfor HG checkout
20:37:01raptorohhh...
20:37:20raptoruhh... I think sam686 and watusimoto know the GUI stuff... sam686, are you using tortoiseHG?
20:37:40kaenthe terminal stuff isn't too bad, Johnaudi
20:37:55Johnaudioh I know but I'm on Windows
20:38:03kaenI think it's four commands or so
20:38:17kaenyou can use the command prompt on windows
20:38:28kaenwin+R and type 'cmd' without quotes
20:38:55sam686I ues turtoiseHG yes
20:39:34kaenoh, then sam686 can probably give you instructions on how to check out with a GUI, Johnaudi
20:40:03JohnaudiI've installed Mercurial
20:40:05Johnaudiis that any help?
20:40:16kaenyep!
20:40:19kaenit's step one
20:40:41Johnaudiokay then?
20:40:58kaendid you manage to open a terminal?
20:41:04Johnaudicmd? yeah
20:41:05kaena command prompt, I mean
20:41:06sam686if you have just mercurial, its a command line only, on windows run "cmd" and try a command: hg
20:41:07kaenok
20:41:25Johnaudinot recognized
20:42:11raptormaybe the gui might be better: http://tortoisehg.bitbucket.org/
20:42:38sam686my command line works for me, and I have turtoiseHG, and turtoiseHG also have nice grapical system, just right click and choose "Clone"
20:42:39Johnaudiah thanks guys for helping me out =D
20:43:03Johnaudidownloading tortoisehg now
20:43:07Johnaudi30kb/s I'm a beast
20:44:39Johnaudiokay it's almost done
20:45:59Johnaudidone
20:46:00Johnaudiand now?
20:47:52kaenopen tortoise
20:47:52raptori think once tortoisehg is installed, you start it up and click 'clone'. then you provide our clone URL
20:48:17Johnaudicloning...
20:48:24kaencool!
20:48:32kaennow you need to install CMake
20:48:38Johnaudion win?
20:48:59kaenyep
20:49:15Johnaudik downloading
20:49:21kaenjust to generate the VS project files, then you use VS to do the actual build
20:49:49Johnaudiokay let's say I got there - what do you want me to exactly build/fix/code?
20:50:24kaenthe tasks specifically mentioned a MasterServer test
20:50:31kaenso you'll be adding to the files in bitfighter_test
20:50:43Johnaudiwhat will the test suppose to do?
20:50:51Johnaudicheck if the masterserver is running?
20:51:16kaenit's supposed to get a MasterServer object to connect to a ClientGame and a ServerGame object
20:51:39raptorwe really need watusimoto to clarify this one, I think..
20:52:22Johnaudifrom what I understand you guys want me to 'connect' the masterserver to the clientgame and servergame
20:52:24Johnaudiis that correct?
20:52:40kaenthat's correct
20:52:47kaensorry, I was reviewing the code already in place
20:53:07kaenif you look at bitfighter_test/main_test.cpp line 132
20:53:12Johnaudiso what's the point of that?
20:53:51kaenit let's write more test code that ensures client/master/gameserver interaction works properly
20:54:22kaenthese unit tests let us automatically test whether new changes break existing code
20:54:51kaenrather than needing to open up a client, launch a server, launch a test master, and manually check that they can all still connect to each other
20:54:55kaenin this case.
20:54:56raptorit is very easy to add bad, hard-to-find bugs to a network game - having proper test objects like this let's us know when we break things
20:55:58kaenright, rather than manually checking for every possible thing we could have broken, we can just build and run the 'test' executable and all of it will be checked automatically by the computer in seconds
20:56:15kaenso this task is really a very important one
20:56:24kaenanyway, as I was saying
20:56:56kaenmain_test already has a little test that creates a MasterServer and a ClientGame, but it doesn't actually make the two of them connect
20:57:09Johnaudiah
20:57:10Johnaudiokay
20:57:17Johnaudinow I understand
20:57:21kaenso this task involves writing code in that case to connect those two, and then the same for a ServerGame
20:57:38kaenok, hopefully there's some clarity in that wall of text :)
20:57:41Johnaudiso I have to add those couple lines of code involving the connection of these client and servers
20:57:48kaenexactly
20:58:31kaenand once you get the hang of it, there's tons of existing code that doesn't have testing yet, so we'll probably add more testing tasks to the GCI list
20:58:46Johnaudiokay this is gonna be a long night
20:59:07Johnaudiso does the code of the connection exist elsewhere or do I have to create it from scratch?
21:01:25kaenI'm trying to find it right now
21:01:47kaenit exists, most or all of your work will be within main_test itself, all of the components should be in place already
21:04:37grypoBHi, I would like to know where in the code the song of a level is chosen ?
21:05:26kaengrypoB: I'll find that for you in just a moment
21:05:35grypoBthanks
21:05:39kaenJohnaudi: to make a client/server connect to the master:
21:05:47Johnaudiyes?
21:06:20kaen1. make the master listen (don't know the exact API call)
21:06:29kaen2. set the master's correct host/port on the client/server
21:06:30Johnaudiokay
21:06:40Johnaudialright
21:06:45Johnaudiand?
21:06:53raptorgrypoB: the songs are handled in SoundSystem.cpp
21:06:56kaen3. call game->setReadyToConnectToMaster(true)
21:07:17Johnaudiall this after the line 132 right?
21:07:20JohnaudiI mean
21:07:21kaen4. call game->idle() and possibly master->idle as needed until the connection completes
21:07:23Johnaudiin between that
21:07:24grypoBraptor : thanks
21:07:29kaencorrect, Johnaudi
21:07:53Johnaudiokay this will take time of searching but I'll try
21:07:54raptorgrypoB: but we don't have any way to tie them to levels yet, that is part of the task
21:08:03Johnaudithink I can do it in less than an hour?
21:08:27raptorgrypoB: right now the music sub-system just loops through all tasks, client-side only, and doesn't care if a level is started/stopped
21:08:53kaenhmm, I'm not sure that I could do it in an hour
21:09:51JohnaudiI'll try anyways
21:10:28Johnaudiokay so that gui loaded the content but how can I run it using vs?
21:11:00grypoBraptor : i'll work on that, but it seems more complicated than i thought
21:11:00kaenyou have to generate the project files with cmake first
21:11:32raptorgrypoB: yes, this is not a simple task, but doable
21:12:05kaenopen the cmake gui, choose the bifighter folder you checked out, then choose bitfighter/build as the build directory, then click generate
21:12:20Johnaudiokay
21:12:31kaenthen open the bitfighter.sln file that will be created in the bitfighter/build directory
21:13:09kaenand then you can build "bitfighter" for the normal game or "test" for the test suite
21:13:37raptorI gotta get back to work for a bit - i'll be around sporadically
21:14:28Johnaudilet's say I fininish and save, in the GCI website should I upload the main_test.cpp? or the whole thing?
21:14:54kaenprobably just a patch against the latest revision
21:20:41JohnaudiGameConnection conn; conn.setObjectMovedThisGame(true);
21:20:47Johnaudiuhm? ^?
21:21:00JohnaudiGameConn for which object is this
21:21:04Johnaudiclient?
21:21:36kaenGameConnection is a connection from the client to the game server
21:23:27Johnaudiand what we're looking for is gamemaster to server and client right?
21:24:06kaenclient to master and server to master, yes
21:32:01Johnaudiokay I think I can do it but it will be more of a copy and paste job
21:32:05Johnaudiwill that be okay?
21:32:15kaenfine with me :)
21:32:33Johnaudibecasue all the information is already there so what I have to do is copy and paste
21:32:49Johnaudi+ it's too hard to learn a whole new framework in less than 48 hrs
21:33:34Johnaudibut anyways I have to go
21:33:41JohnaudiI'll work on it tomorrow as of I ahve time
21:33:53Johnaudithanks a bunch for helping me out through this task guys
21:33:58Johnaudigreatly appriciated
21:34:02Johnaudisee ya
21:34:04kaenmy pleasure :)
21:34:07kaensee ya
21:34:18Johnaudi Quit (Quit: Page closed)
21:34:53Watusimoto has joined
21:38:58Invisible has joined
21:51:51Watusimoto5 tasks claimed!!!
21:51:58raptorhi
21:52:02raptor2 unclaimed
21:52:25grypoBIs their a way to get a file with a specific name (not just an extension) into a Vector<string> ?
21:52:48raptorgrypoB: yes, we have a method for it specifically for levels, let me find it
21:53:54raptoractually, Watusimoto, do you know where that is - I'm currently unfamiliar with the new LevelSource code
21:54:00raptor?
21:54:24grypoBit would be for music files
21:54:45WatusimotoI don't think I understand the question
21:54:53kaengrypoB: do you mean the filename?
21:55:14raptorohh... we just load everything we find in the 'music' sub-directory and make sure it matches an 'approved' extension
21:55:30grypoByes
21:56:52grypoBI can build a new function to do the job if necessary
21:59:51grypoBand I have another question, can the SondSystem access the GameType class of the game being played ?
22:00:21grypoB*the level being played
22:03:55grypoBnever mind my second question, I'll pass the information after the level is loaded.
22:03:55raptorgrypoB: let me take a quick look
22:04:02raptorok
22:04:13raptorgrypoB: do you mind answering a candid question?
22:04:20grypoB?
22:05:19raptorAs mentors, we think we may have made most of our tasks rather hard (or long or complex) for GCI. As a student, what did you expect the difficulty or duration of tasks to be?
22:05:29kaengrypoB: FolderManager::checkName(const string &filename, const Vector<string> &folders, const char *extensions[])
22:05:44kaenis the best I could find
22:06:04grypoBthanks
22:06:18kaenoh, wait, it's static in config.cpp
22:07:00grypoBi'll find another way
22:08:51grypoBraptor : i expected the duration of the task would be from 2 to 4 hours, without including the learning time (to understand where everything is) which would be 2 hours.
22:09:20raptorok, that's fair
22:09:35raptorthank you
22:09:43grypoByour welcome
22:10:15grypoB*you are
22:11:23kaengrypoB: feel free to write your own if you can't find a function to use
22:12:06grypoBok
22:12:31WatusimotogrypoB: in other words, you expect to be able to finish a task, from beginning to end, in a day
22:14:28grypoBwatusimoto : a full day yes, but I do have to go to school, so the "day" of work would be stretched on 3
22:15:18grypoBwhich is why 72 hours is good, 84 would be perfect
22:16:05Watusimotoah yes, school
22:17:06grypoBspeaking of it, it's getting late, so i'll work on the task more tomorrow.
22:17:30kaennight!
22:17:52grypoBnight all
22:17:57kaenWatusimoto: I fear the master connection test is not as simple as it would seem
22:17:58kaenhttp://pastie.org/8490981
22:18:08Watusimotonight!
22:18:12kaensegfaults inside of connectLocal
22:19:30WatusimotoI think I tried something like this and concluded that we need a different connectLocal for connecting to the master
22:19:56Watusimotoraptor: did grypoB say where he was from?
22:20:26sam686it need to connect to master not as a GameConnection, but as a MasterServerConnection
22:20:38Watusimotoyes
22:20:41Watusimotothat sounds right
22:20:57kaenI presume that's what getConnectionToMaster() returns :P
22:21:03raptorIP says switzerland
22:21:23raptorand Johnaudi's is from lebanon
22:21:48kaenfurther, connectLocal is a TNL call
22:21:55raptorbut they haven't said (and I haven't asked yet)
22:22:05grypoB Quit (Ping timeout: 250 seconds)
22:22:15kaenand finally, (and this is the scary part) the NULL comes from a failed Object::create call
22:22:28kaentrying to create the remote MasterConnection by name
22:22:54sam686based on the pastie, it may be that getConnectionToMaster() returns NULL if not connected not initalized.
22:23:35kaenwoops, that's it :P
22:24:50kaenok, so it looks like we'd have to go with my original suggestion: making the master host then connecting to it in the client's idle loop
22:25:12kaenor, write a new connectLocal as wat said
22:27:36sam686you need mConnectionToMaster = new MasterServerConnection(ClientGame); for client game..
22:27:50kaensure, writing it is easy enough for you or I
22:28:06kaenbut I mean for a high school kid who's never seen the bitfighter code base or used TNL?
22:28:15raptorI think I hate melange
22:29:25sam686no clientGame.setConnectionToMaster? Thats when I wind up doing #define protected public to access mConnectionToMaster
22:36:16sam686another problem: 2 class with the same name "MasterServerConnection" with different functions in it. Master/MasterServerConnection.h and zap/masterConnection.h
22:38:08Watusimototwo sides of the same thing
22:39:43sam686it might be a problem if trying to test master and client in the same test .cpp
22:39:45Invisible Quit (Ping timeout: 272 seconds)
22:41:24kaenI think it will definitely be a problem
22:44:18kaenTNL will create a copy of the first MasterServer class it find in the NetClassRep linked list when it does Object::create
22:44:46kaenso it could hit either one, depending on static initialization order.
22:46:04kaenall of that assumes both classes are actually declared and implemented seperately, which I doubt that they are because TNL will do TNL::NetClassRepInstance<className> className::dynClassRep(#className, 0, TNL::NetClassTypeNone, 0)
22:46:06kaenfor each one
22:47:56sam686its mostly a problem when TNL receive a "MasterServerConnection", which one to create? It likely chooses the same one as you "new" it from? maybe.
22:48:43kaenno, it walks NetClassRep::mClassLinkList until it hits one with the same class name
22:49:14kaenwhich is static, so as I said it will create the first class in that list where the class name is "MasterServerConnection"
22:50:25kaenso, it might work properly, but if it does it's incredibly fragile and only by luck
22:54:10sam686i see, just found it now, at netInterface.cpp is where it finds a string of connection, so it looks like it transfers a string "MasterServerConnection" while connecting
22:54:29sam686netInterface.cpp (line 816)
22:55:00kaenso it would probably work if you just name it MasterConnectionClient and MasterConnectionServer :)
22:55:17kaenmaybe local and remote
22:56:22kaenactually, that wouldn't work at all now that I think about it. derp.
22:57:11sam686netInterface.cpp line 718 it transmit the name line 816 is the receiving side
23:06:01sam686TNL_IMPLEMENT_NETCONNECTION(MasterServerConnection, NetClassGroupMaster, false); (client)
23:06:04sam686TNL_IMPLEMENT_NETCONNECTION(MasterServerConnection, NetClassGroupMaster, true); (master)
23:06:27sam686false vs true? maybe that will prevent having 2 of them in the list? Have to check that..
23:06:41amgine123 has joined
23:06:48amgine123sup
23:08:04sam686ji
23:08:06sam686hi
23:09:21sam686netConnection.cpp line 47 mCanRemoteCreate is the true/false thingy on TNL_IMPLEMENT_NETCONNECTION so it will NOT create the client side of MasterServerConnection
23:10:37thread_ has joined
23:11:12Nothing_Much has joined
23:11:44Nothing_Much Quit (Remote host closed the connection)
23:15:47amgine123is kaen here
23:16:46Nothing_Much has joined
23:21:05Nothing_Much has left #bitfighter
23:21:07Nothing_Much has joined
23:23:48amgine123anything new being worked on
23:46:15thread_bitfighter now solves world hunger
23:48:48amgine123really? i thought it already did that XD
23:49:42raptori'm awake!
23:55:01amgine123raptor can i steal a Jpg of the Bf ship one of the logo
23:56:02raptorsure - but it's open source, so i doubt it could be considered stealing
23:56:41amgine123ship and logo seperate no background XD

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.