#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-05-30

Timestamps are in GMT/BST.

00:17:56bobdaduck Quit (Remote host closed the connection)
00:41:49koda Quit (Quit: koda)
01:17:49koda has joined
03:19:52Flynnn has joined
03:44:00Watusimoto has joined
04:09:46Watusimoto_ has joined
04:12:36Watusimoto Quit (Ping timeout: 276 seconds)
04:18:02Flynnn Quit (Quit: This computer has gone to sleep)
05:08:16koda Quit (Read error: Connection reset by peer)
05:19:06Watusimoto_ Quit (Ping timeout: 256 seconds)
07:15:37koda has joined
08:10:29raptor has joined
08:10:29ChanServ sets mode +o raptor
08:27:18bobdaduck has joined
09:07:57watusimoto has joined
09:07:57ChanServ sets mode +o watusimoto
09:08:08watusimotohello
09:12:56bobdaduckhello
09:40:29raptorhello
10:12:15raptor Quit ()
10:20:16koda Quit (Ping timeout: 256 seconds)
10:56:52raptor has joined
10:56:52ChanServ sets mode +o raptor
10:57:29watusimoto Quit (Quit: Leaving.)
12:20:34Flynnn has joined
12:21:52Flynnn Quit (Client Quit)
12:23:28bobdaduck:( there's no room in the shop for slipzones
12:50:04raptorheh - random catfight posts
12:53:39bobdaduckI dunno. Until I think of something to do with them xD
12:53:51bobdaduckjust gonna dump them there
13:08:39bobdaduck Quit (Remote host closed the connection)
14:13:44Watusimoto has joined
14:24:17bobdaduck has joined
14:37:37bobdaduckokay so
14:37:43bobdaduckplayerInfo:setName()
14:40:23bobdaduckalso I know how to fix circles.
14:45:16bobdaduckWatusimoto, raptor, hows this:
14:45:39bobdaduckWe take circles, and we make them *only* circle spawners
14:45:57bobdaduckand then make it so the spawn timer doesn't go off until the current circle dies
14:46:07bobdaduckand then we give circles team affiliations.
14:46:21bobdaduckAnd then we do the same thing with mines.
14:46:40WatusimotoI kind of get the circle idea... but not the mine one
14:47:16bobdaduckTurn the level editor mines into a mine spawner.
14:47:33bobdaduckAnd if the mine is dead then after ten seconds or whatever spawn another one.
14:47:42Watusimotoshould mine spawners be points or zones?
14:47:47bobdaduckpoints
14:47:59Watusimotoif they were zones, the mines would be less predictable
14:48:21Watusimotobut basically the idea is to make mines work like negative health packs
14:48:29bobdaduckZones are confusing, we would have to figure out a new graphic, and there might be weird things like mines spawning at the very edge of a zone ending up in a wall or something
14:48:39bobdaduckuh... Yeah!
14:48:39bobdaduckxD
14:48:50bobdaduckAnd then we turn the mine spawner and circle spawners
14:48:59bobdaduckinto engineerable/repairables.
14:49:29Watusimotowell, the zone would be invisible
14:49:42bobdaduckAnd that would be confusing
14:49:52Watusimotothat's the idea :-)
14:50:05WatusimotoI think the idea of regenerating mines is fundamentally good
14:50:21Watusimotobut I think they should be unpredictable somehow
14:50:41bobdaduckI don't like unpredictabilty
14:50:53bobdaduckif I wanted that I would just cover levels in asteroid spawners with random times
14:51:31bobdaduckI assume that a dislike of unpredictablility is exactly why we're giving asteroid spawners a graphic in 019
14:52:51bobdaduckWith the original circle concept of an enemy that tries to touch you and kill you: I think this would make a great engineered item.
14:53:05bobdaducklike build an enemy spawner for your team
14:58:57Watusimotoso circles are attracted to enemies and damage them when they hit?
15:00:00bobdaduckyeah
15:00:17Watusimotoit's an interesting idea
15:00:23Watusimotoit could work
15:00:35bobdaduckAlso I've been gunning for a new repairable/engineerable item for a while now (suns)
15:00:38Watusimotoalmost like an attracted mine of some sort
15:00:56Watusimotowell, maybe not like that
15:01:27bobdaduckI was thinking more like
15:01:30bobdaducka base sentinel
15:01:35Watusimotoyes
15:01:58Watusimotowell, it certainly wouldn't be worse than what we have :-)
15:02:21Watusimotowhat would happen when it hit a ship? do some damage and then...
15:02:25Watusimotodo some more damage?
15:02:50bobdaduckI dunno
15:02:55bobdaduckI think your original idea was instakill
15:03:01Watusimotoretreat a bit then attack again?
15:03:05Watusimotoinstakill?
15:03:08Watusimotoexplode?
15:03:09bobdaduckAnd since they can be destroyed in one shot instakill isn't that bad an idea
15:03:12bobdaducklike asteroids.
15:03:48Watusimotothat might work
15:04:07Watusimotokaen: are you around?
15:25:48raptorhowdy folks
15:26:07bobdaduckhowdy
16:05:26bobdaduck Quit (Remote host closed the connection)
16:34:53kaenjust got back Watusimoto
16:52:07raptorWatusimoto: what are your specific suggestions for ROBOT menu improvements again?
17:13:40raptor Quit ()
17:37:40Little_Apple has joined
17:50:22Little_Apple Quit (Quit: Page closed)
19:04:49Watusimoto Quit (Ping timeout: 252 seconds)
19:26:40sam686 has joined
19:26:40ChanServ sets mode +v sam686
20:01:35Little_Apple has joined
20:21:00SolumnMushroom has joined
20:22:43SolumnMushroomI'm installing Fedora 8
20:22:53SolumnMushroomPPC
20:24:05Nothing_MuchFedora 8?
20:24:11Nothing_MuchThat's pretty ancient, is it not?
20:24:22Nothing_MuchUnless you mean 18?
20:28:29SolumnMushroomNo, I mean 8. I'm working with an iBook G4 here
20:33:11Nothing_MuchOhh, why Fedora though?
20:34:15Nothing_MuchDebian has much better support for PPC as well as many other architectures
20:38:12Little_Apple Quit (Quit: Page closed)
20:41:51SolumnMushroomThat was my original idea for my iBook
20:47:46Nothing_MuchWhat happened, SolumnMushroom?
20:48:14SolumnMushroomThe installer I tried froze midinstallation
20:48:27SolumnMushroomIt was Fedora 14, I think
20:49:07Nothing_MuchOh, I thought you meant Debian. Why not use that one when it has more updated packages and supports PPC fully?
21:06:47fordcars has joined
21:08:06SolumnMushroomI'm concerned that the newer installs will freeze my computer again
21:09:51Nothing_MuchDebian is relatively lightweight
21:10:01Nothing_MuchI think they switched to XFCE as the default desktop
21:28:20Nothing_Muchnope, still gnome, but you can configure it to use a lightweight DE
21:33:23raptor has joined
21:33:23ChanServ sets mode +o raptor
21:35:15kaenraptor, can we add some sort of auto crash reporter thing?
21:35:35raptornow that's an interesting idea...
21:35:38kaenlike, add a signal handler to dump the stack trace when we crash
21:35:45kaenthen upload it when we find dumps at startup
21:35:52raptorosx and windows 7 provide automatic stack traces
21:36:20raptorhowever - I've only ever seen one game do what you want on Linux, and that was naev
21:36:20kaenI mean some mechanism to automatically send reports about it
21:36:31kaeninteresting
21:36:53raptoroh, naev just spit out a relevant trace somewhere, then restarted itself where it left off..
21:36:55kaenI was reading this and got all inspired: http://www.joelonsoftware.com/articles/fog0000000014.html
21:37:04kaenoh
21:37:17raptoryou mean to actually post reports somewhere
21:37:22kaenyeah
21:38:05fordcarsI just thought of a way to find all objects in levelgen mhahahahahhaha
21:38:10kaenwould help find crashes and stuff that people are too lazy/unknowledgeable to report
21:38:15kaenfordcars, do tell!
21:38:41Nothing_MuchHow do you find bugs in bf?
21:38:50Nothing_MuchLike, I'm unsure where the dumps are
21:38:53fordcarswell I just thought of that but, find object by id, when object is found, get info bla bla bla, change it's id to 2, repeat
21:38:55raptorso two problems: catch the crash (appropriately on each platform), and send the crash..
21:39:31raptor(still reading that post)
21:39:35kaensend the crash is easy. we could set up a stupid little php script or something and use that handy httprequest :)
21:40:04raptorbut you have to send the crash *after* the crash..
21:40:12kaenno you don't
21:40:16kaenjust dump it to a file in the handler
21:40:22kaenthen send it on normal startup
21:40:32raptoroh so wait until they restart the game?
21:40:34SolumnMushroomI just took a shower
21:40:37kaenyeah
21:40:42raptorsounds good
21:40:50raptorback to reading..
21:41:10Nothing_MuchWhere are the crash files located?
21:41:15kaenI think his main point in using that system is to measure how economic it is to fix bugs
21:41:18raptorNothing_Much: non-existent
21:41:22kaenNothing_Much, there are none :/
21:41:28raptorwe are discussing options to code it now
21:41:29Nothing_MuchOh dear
21:41:35Nothing_MuchWell that's good!
21:41:38raptorkaen: yes, but we're hobbyists!
21:41:54kaenyes, but time is an economized resource :)
21:42:00raptoroh yeah, huh..
21:42:27kaenplus like I mentioned it'll help us find bugs from users that don't idle in IRC
21:42:35raptorheh
21:42:53SolumnMushroomHey BFLogBot, how are you?
21:43:00raptorafter each release I create a 'Bugs in 018a' like forum thread
21:43:06kaenthat's true
21:43:10raptorbut we should think bigger!
21:43:13raptorok
21:43:29raptorso basically the article was ok, but we need to figure out how he did step #1
21:43:38raptori.e. 'catch the bugs'
21:43:51raptorand do it cross-platform
21:43:54raptoralso
21:44:08raptorwe'd probably have to do release builds with debuginfo built it
21:44:10raptor*in
21:44:53kaenon linux at least we can use addr2line
21:45:01kaenI imagine there's something similar for the other platforms
21:45:18kaen(addr2line translates memory offsets to lines of code)
21:45:27kaen(without symbols)
21:45:44raptori've heard of that... is it accurate with compiler optimizations?
21:45:55kaenno
21:45:58kaen:|
21:46:00raptorheh
21:46:03kaenforgot about that
21:46:12kaenuhh
21:47:14raptorhmm... would it be more accurate with debuginfo compiled in?
21:47:42kaenyes, it's perfectly accurate with debug info
21:48:16raptori wonder how optimizations plus debuginfo affect performance
21:48:55kaenah that's right
21:49:16kaentheres' a way to have just a local copy of the debug info and use that against release build offsets with addr2line
21:49:31kaenbut that seems like a bunch of hassle
21:49:45raptoryeah, we'd want it seamless..
21:49:48kaenespecially to do it with all three platforms :/
21:50:47kaenhttps://code.google.com/p/google-breakpad/wiki/ClientDesign
21:51:06kaengoogle's cross-platform crash handler
21:51:09raptorooooo
21:51:28raptor"A Linux implementation has been written and is currently under review."
21:51:48kaen:|
21:52:36kaenaccording to the quickstart guide it uses the symbol-file-against-release-builds method as well
21:53:24kaenwow this suddenly sounds like a lot of trouble
21:56:53raptoryou've probably seen this: http://stackoverflow.com/questions/77005/how-to-generate-a-stacktrace-when-my-gcc-c-app-crashes
21:57:28raptorwe could install handlers for specific signals
21:57:51raptorcreate a CrashReporter class or something and specify a method to be the handler
21:59:42raptorthere are several informative responses in there
22:02:06kaenand here's the window's solution it seems: http://msdn.microsoft.com/en-us/library/bb204633(VS.85).aspx
22:02:24raptoris signal.h standard on windows, too?
22:02:53kaenseems that way: http://msdn.microsoft.com/en-us/library/xdkz3x12(v=vs.80).aspx
22:03:22raptoroooo good...
22:04:30kaenbacktrace() depends on debug symbols...
22:04:46kaenand is apparently is a gcc-only thing, so what about osx (and clang?)
22:05:02raptoryeah... i think we'd want to use signal, then use a handler with lots o' ifdefs
22:05:37kaenoh, clang supports execinfo (and backtrace())
22:05:40raptorwell.. osx already catches application traces
22:05:44raptorit does?
22:05:46raptorwell good
22:05:52kaengroovy
22:05:57kaenso one ifdef :)
22:06:08kaenand a signal handler. that doesn't sound so bad
22:06:40raptori wonder... could the signal handler spawn a thread right there and send the report?
22:06:47kaenI'm certain it could
22:07:23fordcarscan levelgen change the ID of an object?
22:08:26raptorfordcars: i'm afraid not, those don't change
22:08:33fordcarsarhghghgh ok
22:08:39fordcarsI'll figure something out
22:09:40raptori know this is crazy... but depending on how large your level is, you could call one big for loop at the start that loops through like -1000 to 1000
22:09:52raptorand sees if there's an object with that id
22:10:05kaenah, that's a good idea!
22:10:07raptorif so, grabs its type and stores it for later reference
22:10:29raptorthere's always a maniacal way to do things...
22:11:00fordcarshow would you get the object, detect it?
22:11:20kaenlevelgen:getObjectById() I believe
22:11:31fordcarsit only gets one item
22:11:39kaenyeah... that's the maniacal part
22:11:53fordcarswouldn't it just always get the same object?
22:12:03kaenyou call it on each number from -1000 to 1000
22:12:06kaenand see what sticks
22:12:14kaenand you eventually build a list of all objects
22:12:26fordcarswith diffent ids
22:12:49kaenmaybe I missed something...
22:13:03kaenyou're looking for a set of objects which share the same ID?
22:13:08kaenyou shouldn't do that.
22:13:17fordcarsor if they don't have an id
22:13:31kaenif they don't have an assigned one they get a negative one by default
22:13:42fordcarsis it unique?
22:13:44kaenwhich is unique afaik
22:13:51fordcarsoOOoooohh nice
22:13:53kaenit's auto-decremented I'm sure
22:14:11raptorids are unique
22:14:26raptorguaranteed, no matter how much bobdaduck complains
22:14:36fordcarshaha
22:14:53raptoryes, non-assigned ones start from 0 and decrement into the negatives
22:16:23SolumnMushroom Quit (Read error: Connection reset by peer)
22:22:36raptorfordcars: a working example of your object finder: http://pastie.org/pastes/7987199/text
22:24:16fordcarshehe I nearly have the same code "-"
22:24:21fordcarsthanks :P
22:27:24raptorback in a bit..
22:33:06fordcarslater guys gtg
22:37:22fordcars Quit (Ping timeout: 250 seconds)
23:29:31raptorkaen: still up?
23:33:47raptorI'm curious if you've worked on the signal stuff at all yet..

Index Search ←Prev date Next date→

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