#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2012-02-29

Timestamps are in GMT/BST.

00:01:31sam686oh i see, F32(Platform::getRealMilliseconds()) / 3500.0f on a extremely huge millisecond number
00:01:42sam686floating point loses accuracy on huge number
00:02:58raptorwith vc++ compiler
00:03:36sam686it only gets more jerky the higher the getRealMilliseconds() is
00:18:32WatusimotoHA!!!!!
00:19:48raptorfine fine
00:21:59BFLogBot - Commit bd7aff333d5a | Author: watusim...@bitfighter.org | Log: Trivial
00:22:01BFLogBot - Commit fac971fdc584 | Author: watusim...@bitfighter.org | Log: sqlite compiles, untested execution, havenàt even tested compile on mysql, will do so soon
00:22:40raptorwhat extended char?
00:24:19sam686 Quit (Read error: Connection reset by peer)
00:25:21sam686 has joined
00:25:21ChanServ sets mode +v sam686
00:26:28sam686master\database.cpp(365) : error C2664: 'TNL::Vector<T>::push_back' : cannot convert parameter 1 from 'const mysqlpp::String' to 'const TNL::StringTableEntry &'
00:26:28sam686with[ T=TNL::StringTableEntry ]
00:26:28sam686Reason: cannot convert from 'const mysqlpp::String' to 'const TNL::StringTableEntry'
00:26:28sam686No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
00:28:26sam686oh, easy fix: names.push_back(StringTableEntry(results[i][0]));
00:31:45sam686hopefully, my changes to code should make shield rotation a lot smoother all the time.
00:32:03BFLogBot - Commit 4b82f22d2882 | Author: sam8641 | Log: Fix inaccurate shield rotation, converting big numbers from getRealMilliseconds to F32 loses accuracy.
00:41:33raptornow to looks at that burst problem..
00:44:15raptor../master/database.cpp: In destructor ‘DbQuery::~DbQuery()’:
00:44:16raptor../master/database.cpp:481:14: warning: deleting ‘Query* {aka void*}’ is undefined [enabled by default]
00:49:52raptorquestion to anyone who want to raise their hand: the collisionPoint for a burst seems to be always 0, 510
00:49:55raptorwhy?
00:59:40raptorwait
00:59:42raptorhaha
00:59:48raptorit's the position of the core
01:04:13Watusimoto Quit (Ping timeout: 276 seconds)
01:10:20raptorburst hits the right panel now
01:10:27raptorbut only one...
01:12:07BFLogBot - Commit 75c14427f707 | Author: buckyballreaction | Log: Fix area-damage weapons not hurting the right Core panel
01:12:54raptorthat's because Core panels aren't gameobjects..
01:34:45raptor Quit (Ping timeout: 248 seconds)
01:58:26raptor has joined
01:58:27ChanServ sets mode +o raptor
02:06:24sam686 Quit (Ping timeout: 245 seconds)
02:07:30sam686 has joined
02:07:36ChanServ sets mode +v sam686
02:15:09sam686 Quit (Ping timeout: 245 seconds)
02:16:36sam686 has joined
02:16:36ChanServ sets mode +v sam686
02:32:32Little_Apple has joined
02:32:41Little_Applehellooo
02:32:50raptor good evening
02:33:05Little_AppleVAMPIRES
02:35:32Little_Applei like einstein.
02:37:35Little_Apple Quit (Quit: Page closed)
03:14:50sam686ok.... that sounded like a thunder storm outside, raining, with some snow on the ground, at 34 degrees F.
03:15:17raptorwow
03:15:40sam686i heard one thunder sound so far...
03:38:33raptorsam686: have you tried the boost module much?
03:38:38raptorif so, what do you think?
03:39:06sam686is there any changes to boost?
03:39:23raptorjust my addition of 'pulse'
03:39:30raptordouble tap to use it
03:39:44raptorit was a few weeks ago... but i never heard your opinion on it
03:41:42sam686the double tap boost seem to use up too much energy (when your energy is full)
03:41:49raptorthat is the point
03:42:10raptorit uses all available energy and gives to an impulse according to the energy you have left
03:42:28raptorso small amount of energy = small impulse
03:43:34sam686besides, i can often get jsut about the same boost type by using 2 burst and a little bit of shield
03:43:44raptoryep
03:43:54raptorit isn't supposed to give much advantage
03:44:03raptorjust an idea to try out
03:55:07raptorsam686: do you get a GL ERROR: 1282 when you enter the editor?
03:55:36raptoryou have t oopen a level with a Core in it..
03:55:48sam686i see GL ERROR 1282 and 1284 (2 numbers...)
03:56:02raptorinteresting - i only see 1282
03:57:06sam686i guess that is coming from oglconsole.c line 93
03:57:07LoneWolfy Quit (Remote host closed the connection)
03:57:27LoneWolfy has joined
03:57:45Wolfy has joined
03:58:11Wolfy is now known as Guest8852
03:59:15sam686or maybe, something is making an error, which makes glGetError return non zero
04:02:10Guest8852 Quit (Ping timeout: 246 seconds)
04:02:10LoneWolfy Quit (Ping timeout: 246 seconds)
04:06:33raptorwhy do we have 5 burst graphics modes?
04:06:40raptordoes anyone even use them?
04:07:19sam686not sure, i don't know as that option, i think, has been there for a long time, probably all the way back before 014
04:07:54raptorkaramazovapy? any input on why we have 5 burst graphics modes, and if anyone actually uses it?
04:24:10raptorsam686: is there a reason that ClientGame is a child of FXManager, instead of just making the FXManager have static member functions?
04:28:31raptori'm going to make it a static class
04:28:40raptorerr, i mean with static members
04:28:51raptorso we don't need ClientGame to call it
04:38:58sam6861. server game doesn't use FXManager 2. it is not very good for each ClientGame to share the same fx manager (if it happen to be in a same process) 3. static variables take up memory even if they are not used (dedicated serverGame)
04:39:41raptor1. is not a problem because we use ifdefs
04:40:09raptor2. Can there be more than one ClientGame?
04:40:13sam686it is possible to have a normal bitfighter build, using -dedicated
04:40:44sam6862. maybe in the future, but probably not, i guess...
04:42:01raptor3. is it because every static member is kept on the stack?
04:43:32sam686every static and global variables (including static int data1[200000] and "static Robot z") take up memory
04:44:04sam686they are immediately created at program startup, they are never freed (until program terminates)
04:45:09sam686several veriables, like "static Robot *a_pointer_variable" take up only 4 bytes of memory, but others like "int data[100000]" take up a lot of memory
04:45:28raptorinteresting
04:45:30raptorok
04:48:06sam686FXManager class contains U32 firstFreeIndex[SparkTypeCount]; and others, which may take up a lot of memory. try "printf("%i", sizeof(FXManager));" to find out the size.
04:49:31raptorwell - i want to be able to call the FXManager without using ClientGame
04:49:41raptorwhat would be a good way to do that?
04:49:52raptoruse a global pointer, like gFXManager?
04:50:00sam686gClientGame ?
04:50:26raptorthat's the thing - i don't want to include ClientGame.h just to use the FXManager
04:53:03sam686or, you can use a global FXManager *gFXManager = gClient
04:53:11sam686or, you can use a global FXManager *gFXManager = gClientGame
04:53:46raptorI coded the SoundSystem as all static... now I question how good that was...
04:53:52sam686or, have a game.h virtual function getFXManager()
04:55:02sam686that must be the best option in game.h: virtual FXManager *getFXManager() {return NULL}; ClientGame.h FXManager *getFXManager() {return this;}
04:55:48raptorSo I'd include game.h instead of CLientGame.h?
04:55:54sam686yes
04:56:07sam686after all, both server and client need game.h most of the time
04:56:28sam686all GameObjects have getGame()
04:56:41raptorok
04:58:07raptorshould I do something similar with SoundSystem? because I made everything static..
04:58:34sam686probably, i guess...
05:00:03sam686or, not sure about soundsystem, as normal build and running as -dedicated will anyway do sound when player joins
05:02:08zoomber_mbp has joined
05:02:17zoomber_mbphey raptor
05:02:30raptorgood evening
05:02:45zoomber_mbpso on the homepage right now, can you explain the timespans for booth colums?
05:03:01zoomber_mbplet me rephrase myself
05:03:14zoomber_mbpthe leaderbords, what are the timespans for the ones on the first colum
05:03:33zoomber_mbpwell shoot, thats not how I spell column
05:04:16raptorone week
05:04:23raptorsunday to sunday
05:04:36raptorthe 'current' lists mean since the last Sunday
05:04:50zoomber_mbpMost official wins:?
05:05:13sam686dumb question, will running a normal build of bitfighter and running with -dedicated play music files?
05:05:17raptorthe post explains what an 'official win' is
05:05:34raptorsam686: not sure...
05:06:31sam686it seems like it tries to play music (but nothing is in my music folder) even when using ./bitfighter -dedicated command (on non dedicated build)
05:06:33zoomber_mbpStill having trouble with it though, for the "week" _k has 6 game wins, but for Official wins, has MORE
05:07:07raptorok, let me see if i can clarify by renaming the table titles..
05:07:15zoomber_mbplet me rephrase that question raptor, do graphed square roots of x go in the NEGATIVE?
05:07:45raptorsure why not?
05:08:23sam686square root of 2 never go negative
05:08:48sam686or, at least not in C++ programming..
05:11:45zoomber_mbpyou tell em sam686
05:11:58raptor-4^2 is 16, right?
05:12:08raptorso sqrt(16) = +/- 4?
05:12:15raptor:)
05:12:23zoomber_mbpraptor: when dealing with functions..y
05:13:00zoomber_mbpit just pops up from the corner of the graph and slowly goes out towards infinity,Infinity
05:13:19zoomber_mbpyour logic isn't false though
05:13:36sam686yes, but C++ programming sqrt(9) don't return 2 numbers, does it? it only returns a positive number (or zero, or NAN, depending on input))
05:14:01raptorbut i'm not talking about c++...
05:14:08zoomber_mbpyes, and quite possibly i bet it can return negative numbers if it lets you add integers to the square root part right?
05:14:37zoomber_mbplike sqrt(4) - 2
05:14:41zoomber_mbpsorry
05:14:42raptorsure, any negative constant added to the function will drop the curve
05:14:45zoomber_mbpsqrt(x)-2
05:16:08zoomber_mbpit still won't pop up in your function graph
05:16:26zoomber_mbponly half the curve will show
05:16:34zoomber_mbpunless it's odd
05:16:47raptory = x ^(1/2)
05:16:47sam686what is a cube root of -9 ?
05:18:46zoomber_mbpmy guess is 2i something
05:19:13raptorsome -2.something
05:19:25zoomber_mbpoh yeah, your right
05:19:39zoomber_mbpi forgot that it's an odd cube root
05:20:06zoomber_mbpraptor: that function will graph a curve into the negative?
05:20:35raptornegative what
05:20:37raptorx or y?
05:20:44zoomber_mbpy = x ^(1/2)
05:20:46raptornegative x, yes
05:21:29sam686(-2.0800838230519041145...) ^ 3 = -9, right?
05:21:49sam686so, there is no such imagenary number of a cube root of a number
05:22:08raptorwait wait
05:22:32zoomber_mbpyeah yeah, but there would be if it was an even root
05:23:01zoomber_mbpand raptor, I was referring to the fact that you couldn't get negative y, not negative x
05:23:47zoomber_mbpas in, when you graph x*x, you get domains and ranges of anything, but square rooting an x will only give you a range of > 0, not the whole under-curve
05:23:53sam686cube root can return negative number
05:24:11raptorah yes
05:24:27raptori like this tool: http://www.quickmath.com/webMathematica3/quickmath/graphs/equations/basic.jsp#v1=y%3Dx^%281%2F2%29&v2=-16&v3=16&v4=-4&v5=4
05:25:33zoomber_mbpraptor, try using these 4 numbers on that site, for your window: x = -10, and x = 10, same for y
05:25:44zoomber_mbpthen put y=sqrt(x)
05:26:53zoomber_mbpnotice though, you can still plot negative square roots
05:26:58raptorweird, no result
05:27:11zoomber_mbpy=sqrt(x) should give you one curve
05:27:16zoomber_mbpmake sure your window is all 10s and -10s
05:27:22sam686sqrt(x) + sqrt(x+1) + sqrt(x+3) + sqrt(x / 2) + sqrt(x / 3) + sqrt(x / 4) + sqrt(x / 5) * sqrt(x / 6 + 2) / sqrt(x / 7 - 3) Good luck trying to draw hundreds of lines if sqrt returns 2 numbers..
05:27:30raptorsorry, i'm currently focused on something else at the moment...
05:28:16zoomber_mbpsam, it seems if that doesn't seem to want to load
05:28:19zoomber_mbpoh never mind, there it goes
05:29:36zoomber_mbpsam, that gives me the weirdest graph
05:36:57zoomber_mbp has left
06:01:28raptor Quit ()
08:00:36Watusimoto has joined
08:20:59sam686 Quit (Ping timeout: 245 seconds)
08:22:54Watusimoto Quit (Ping timeout: 252 seconds)
08:57:39watusimoto has joined
08:57:40ChanServ sets mode +o watusimoto
11:09:51watusimoto Quit (Remote host closed the connection)
13:27:16LordDVG has joined
14:05:47watusimoto has joined
14:05:47ChanServ sets mode +o watusimoto
14:23:08LordDVG Quit (Ping timeout: 240 seconds)
14:42:00LoneWolfy has joined
15:09:50raptor has joined
15:09:50ChanServ sets mode +o raptor
15:43:14raptorhello
15:45:06raptorwatusimoto: I have a c++ coding question for you. I asked sam686 what he thought last night, and now I'd like your opinion
15:45:14raptorFXManager is the parent of ClientGame
15:45:31raptorI thought to make it not so, and make it's members/methods static
15:46:08raptorthat way we don't have to always have to get the ClientGame to emit a spark
15:46:35raptorand we'd save on a few dynamic_casts and it'd be cleaner in the code
15:47:09raptorwould this be a good idea?
15:52:45raptorsome benefits:
15:53:27raptori mean, another benefit: we wouldn't have to include 'ClientGame.h' every time we'd want to create effects
15:53:41raptorsam686 gave 3 reasons against:
15:54:33raptor1. serverGame doesn't use FXManager (in the case of running bitfighter -dedicated)
15:54:52raptor2. Multiple ClientGames wouldn't have their own FXManager
15:55:27raptor3. static data requires more constant memory to the program
16:13:19watusimoto Quit (Ping timeout: 244 seconds)
17:23:49Watusimoto has joined
17:24:26raptorhi Watusimoto
18:26:16LordDVG has joined
18:46:15Watusimoto Quit (Ping timeout: 244 seconds)
20:52:31LordDVG Quit (Remote host closed the connection)
21:00:47karamazovapyhey raptor - double tap isn't a good implementation for a secondary boost feature
21:01:13karamazovapystrobing is one of the most effective ways to use that module
21:01:38raptorhi
21:01:40raptoryes
21:01:50raptori made sure strobing still works
21:01:54karamazovapyRABBLE RABBLE RABBLE
21:02:11raptorunless you strobe twice within 250 ms
21:02:28karamazovapyI think people tap about as fast as they can
21:03:03raptorfor strobing?
21:03:12karamazovapyyeah, to cover large distances
21:03:40raptormaybe there should be a small cost to prevent abuse
21:03:54raptorlike with sensor and cloak
21:04:05karamazovapyprevent what abuse?
21:05:35raptordoing some tests - tapping really fast covers no more distance than tapping at a slower rate - as long as the button down time equals button up
21:07:18karamazovapywant to race and put that theory to the test?
21:08:11raptoris there an acceleration advantage?
21:08:44karamazovapymy gut says faster tapping is faster, but that could be a fallacy
21:08:55raptorand yes, a race would prove me wrong.. good idea
21:09:05raptorhave a test map?
21:09:16koda has joined
21:22:53sam686 has joined
21:22:53ChanServ sets mode +v sam686
21:38:25karamazovapyhttp://youtu.be/MwOdD4WebIk
21:39:15karamazovapygot a bit lazy midway through
21:48:32sam686repeatedly tapping the boost button won't going to make you go faster or slower against a player who use all the boost at once if using the same amount of energy for boost.
21:48:53raptorsam686: that's what we were testing
21:49:07sam686at least i don't think it does...
21:49:08raptorturns out that it does give you an advantage
21:49:36raptori think it gives you initial acceleration without energy requirement
21:49:45karamazovapyat the very least, you can maintain a higher than average speed for a longer period of time
21:49:54sam686both player start with same amount of energy, and both end with same amount of energy, right?
21:50:13karamazovapythey don't necessarily end with the same amount
21:50:26raptorthe faster the tap, the more they end up with at the end
21:50:35raptori thought they should be the same like you
21:50:42raptorbut then i was proven wrong in our tests
21:50:53karamazovapyI think it actually has more to do with how short the activation period is
21:50:59sam686then thats why, if both players don't end the same amound of energy, then one player use more energy then the other, obviously the player using more energy for boost wins..
21:51:25karamazovapyalso not quite true
21:51:42raptoryeah, my assumptions were shattered
21:52:08raptorconservation of energy law doesn't quite apply here
21:52:15karamazovapythe initiation phase seems to burn less than the sustain phase
21:52:37karamazovapyso the shorter your sustain phase and the more initiations, the more efficient you run
21:52:53raptorexactly - thanks for putting that into better words
21:53:19karamazovapyto test, try strobing, but focus particularly on having boost activated for the shortest time possible, like you're touching a hot stove
21:53:31sam686or maybe, it is because of higher acceleration and higher deceleration when boost is on...
21:53:45karamazovapyeven without very rapid successive activations, your efficiency goes way way up
21:53:58sam686if the acceleration stays the same (only top speed changes) then it won't matter..
21:54:10raptorhehe
21:54:15raptorthat's what i said!
21:55:11karamazovapythere may still be some quirks, but I believe the quick taps are more effective
21:55:21karamazovapyeven though they shouldn't be, mathematically
21:55:24sam686oh, and i see another thing about boost tapping...
22:01:45sam686combined with higher acceleration when boost is on, i see what it means on the speed graph. http://sam686.maxhushahn.com/upload/boost_graph.gif
22:03:17sam686one drawback, of course, is it is possible to have a "turbo" button that repeatedly press a button for you, or a modified client can do the repeatedly turn turbo on / off for you..
22:03:50sam686as in, i have seen some game controller have a turbo button
23:14:43watusimoto has joined
23:14:43ChanServ sets mode +o watusimoto
23:29:18BFLogBot - Commit e203f25b1335 | Author: eyk...@crte-cey-15460.private.tudor.lu | Log: General cleanup and deduplication
23:29:27raptorhi watusimoto
23:29:59raptorcommitted from a different computer?
23:30:24watusimotohi
23:30:33watusimotoyeah, could you tell? :-)
23:30:41raptorare you awake enough for some discussion?
23:30:47raptor(different commit user...)
23:30:57watusimotobriefly, sure
23:31:14raptorreview:
23:31:16raptor[08:45] <raptor> watusimoto: I have a c++ coding question for you. I asked sam686 what he thought last night, and now I'd like your opinion
23:31:18raptor[08:45] <raptor> FXManager is the parent of ClientGame
23:31:19raptor[08:45] <raptor> I thought to make it not so, and make it's members/methods static
23:31:21raptor[08:46] <raptor> that way we don't have to always have to get the ClientGame to emit a spark
23:31:22raptor[08:46] <raptor> and we'd save on a few dynamic_casts and it'd be cleaner in the code
23:31:24raptor[08:47] <raptor> would this be a good idea?
23:31:25raptor[08:52] <raptor> some benefits:
23:31:27raptor[08:53] <raptor> i mean, another benefit: we wouldn't have to include 'ClientGame.h' every time we'd want to create effects
23:31:28raptor[08:53] <raptor> sam686 gave 3 reasons against:
23:31:30raptor[08:54] <raptor> 1. serverGame doesn't use FXManager (in the case of running bitfighter -dedicated)
23:31:31raptor[08:54] <raptor> 2. Multiple ClientGames wouldn't have their own FXManager
23:31:33raptor[08:55] <raptor> 3. static data requires more constant memory to the program
23:31:35raptor /end paste
23:31:48watusimotoright
23:32:21watusimotodid you see my reply?
23:32:29raptori saw no reply
23:32:39watusimotoin short, I agree with sam
23:32:41raptorother than:
23:32:42raptor[08:45] <raptor> watusimoto: I have a c++ coding question for you. I asked sam686 what he thought last night, and now I'd like your opinion
23:32:44raptor[08:45] <raptor> FXManager is the parent of ClientGame
23:32:45raptor[08:45] <raptor> I thought to make it not so, and make it's members/methods static
23:32:47raptor[08:46] <raptor> that way we don't have to always have to get the ClientGame to emit a spark
23:32:48raptor[08:46] <raptor> and we'd save on a few dynamic_casts and it'd be cleaner in the code
23:32:50raptor[08:47] <raptor> would this be a good idea?
23:32:51raptor[08:52] <raptor> some benefits:
23:32:53raptor[08:53] <raptor> i mean, another benefit: we wouldn't have to include 'ClientGame.h' every time we'd want to create effects
23:32:54raptor[08:53] <raptor> sam686 gave 3 reasons against:
23:32:56raptor[08:54] <raptor> 1. serverGame doesn't use FXManager (in the case of running bitfighter -dedicated)
23:32:57raptor[08:54] <raptor> 2. Multiple ClientGames wouldn't have their own FXManager
23:32:59raptor[08:55] <raptor> 3. static data requires more constant memory to the program
23:33:00raptoroops
23:33:02raptorargh
23:33:03raptorthis was the reply:
23:33:05raptor[09:13] <-- watusimoto has left this server (Ping timeout: 244 seconds).
23:33:23raptorok, agree with sam686
23:33:37raptorso.. should I make the SoundSystem class non-static, then?
23:35:00watusimotoI'm unconvinced by point 3
23:35:00watusimotobut 1 and 2 seem right
23:35:00watusimoto09:29:35 PM) watusimoto: not sure about 3
23:35:00watusimoto(09:29:49 PM) watusimoto: (sorry, looking at your c++ question)
23:35:00watusimoto(09:30:12 PM) watusimoto: 1 & 2 seem more compelling
23:35:00watusimoto(09:30:35 PM) watusimoto: this isn't a c++ question, but rather a general object design question
23:35:00watusimoto(09:30:40 PM) watusimoto: you'd have the same issue in java
23:35:01watusimoto(09:31:34 PM) watusimoto: now I will say that my recent spark implementation needs some major cleaning, and probably doesn't belong in gameObjectRenderer
23:35:01watusimoto(09:31:47 PM) watusimoto: so that's part of the recent ugliness at least
23:35:02watusimoto(09:31:57 PM) watusimoto: ok, off to dinner
23:35:02watusimotothat was the entirety of my earlier answer
23:35:03watusimotobut if I move the spark generation out of gameObjectRenderer, much of the recently added ugliness goes away
23:35:04watusimotoit is in the wrong place, and that;s the problem
23:35:04watusimotosparks are like little mini game objects, and should not be added during the render phase
23:35:06watusimotoI did so because I was rapidly trying different ideas to find something that was appealing
23:35:15watusimotoah
23:35:19watusimotommm
23:35:32watusimotono
23:35:32watusimotowell maybe
23:35:44watusimotosound is a little different in 2 ways
23:36:21watusimoto1: client and server both use sound
23:36:32watusimoto2: there is only one speaker on a computer, whereas there may be two independent game displays, each with their own sparks
23:37:10raptorok
23:37:51raptoryes, i think the spark stuff should move out of gameObjectRender (which is what initially made me want to make it static, to avoid the ClientGame.h include)
23:38:22raptoryeah, none of your response made it
23:38:29raptorthanks for repasting..
23:41:25watusimoto Quit (Ping timeout: 276 seconds)
23:44:27watusimoto has joined
23:44:27ChanServ sets mode +o watusimoto
23:44:35watusimotobad internet!
23:44:43raptorhi again
23:45:20watusimotoideally, at some point, all the crap in gameObjectRenederer would become part of clientGame or perhaps GameUserInterface
23:45:32watusimotorather than floating around in the global namespace
23:45:32raptorreally?
23:45:37raptorah yes
23:45:39watusimotoyeah, I think
23:45:42raptorthe global aspect of it...
23:45:49raptori was sondering about that, too
23:45:52raptorwindering
23:45:55raptor*wondering
23:45:55watusimotoI mean, we really have two progs rolled into one here: clientGame and serverGame
23:46:16watusimotoI think all rendering stuff should be gathered together into one place as much as posisble
23:46:18raptorone day we need to do a Great Divide
23:46:30watusimotowe have a bunch of things in UI:: like all the text
23:46:33raptoryes
23:46:47watusimotobut then a lot of other stuff is in gameObjectRenderer
23:46:52watusimotothat doesn't make much sense
23:47:18watusimotobut it isn;t causing any harm at the moment
23:47:34watusimotoso I'm inclined to fix it incrementally (read: later)
23:47:46raptorsounds good :)
23:47:57raptorok, still OK for one other question?
23:49:53sam686static or global variables like "static int data[1000000]" will sure use a ton of memory, all the time, though "static Object *pointer_to_object" only uses 4 or 8 bytes of memory all the time..
23:51:22watusimotosure
23:51:29raptorkaramazovapy brought up the fact that double-tap for boost pulse is bad because people like to 'strobe' the boost module
23:51:53watusimotosam -- only if object doesn't exist
23:52:05watusimotoraptor: yes, k is right
23:52:12watusimotobut we knew that
23:52:14raptori told him that the energy usage difference over a period of time at the same distace of strobing faster vs slower sshould be zero
23:52:16sam686|2 has joined
23:52:19raptorso we tested it
23:52:25raptorand determined that it is not zero
23:53:29watusimotoI'm not convinced it should be 0
23:53:32raptorstrobing super fast allows you to conserve more energy while going the same speed and covering the same distance
23:53:36sam686|2local variables in function only take up memory while in the function space (mostly the memory is located in stack location for faster speed reasons), and freed when function exits.
23:53:58raptori mean - it should be zero if the *on* time of the module is equivalent
23:54:10watusimotosam686: yes
23:54:21BFLogBot - Commit ce3f47ced039 | Author: eyk...@crte-cey-15460.private.tudor.lu | Log: Comments
23:54:35watusimotosam686 but they need to be recreated when needed, which can slow performance; you trade memory for performance
23:54:43raptorbut it's not - it seems that there is a low cost acceleration bonus to using boost which adds up the faster you use it
23:54:53watusimotoraptor: makes sense
23:55:12watusimotoraptor: or, I should say, I'm not surprised. the physics in the game isn't exactly rigorous
23:55:18raptorwhich doesn't seem right to me..
23:55:20raptoryeah
23:55:40raptorso, right now you have to double tap within 250ms to enable pulse
23:55:54sam686|2some local veriables like integers and floating points (F32, S32) is extremely fast as a local variables (compared to using "new int")
23:55:59sam686 Quit (Ping timeout: 245 seconds)
23:56:08watusimotoraptor: and k's afraid people will accidentally pulse
23:56:21raptoryes
23:56:35watusimotosam686|2: yes that is true. But I wonder where that value is "stored" while the variable it represents doesn't exist
23:56:39raptorbut i've never seen anyone strobe that fast - except for karamazovapy :)
23:56:42sam686|2 is now known as sam686
23:56:42ChanServ sets mode +v sam686
23:57:13raptorso the question - should I yank the pulse code?
23:57:22raptoror should we just leave it for at least one release?
23:57:27sam686local variables are stored in stack memory (where there is no cost of speed from creating a memory space for variable)
23:57:30watusimotoraptor: I don;t have any other ideas for how to super portion of a module without double clicking
23:57:37raptoror find another way to implement it?
23:57:55sam686sometimes, the compiler even optimized some variables to hold only on CPU registers (for even faster speed)
23:58:06watusimotosam686: just saying the value has to be stored womewhere while the fn is not in memory...
23:58:51sam686all local variables goes away when function exits, but global variables remains available
23:58:59watusimotoraptor: if we can find a better way to activate, we should do that, but I have no ideas; I think double click is a good way
23:59:16watusimotosam686: I assume you are talking about lines like this: static S32 var = 100;
23:59:57watusimotosam686: if we use instead S32 var = 100, all I'm saying is that that 100 has to live *somewhere* in the code

Index Search ←Prev date Next date→

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