*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag | 00:21 | |
*** YukariYakumo <YukariYakumo!~Yukari@user/yukari> has quit IRC (Quit: Quit.) | 04:51 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 256 seconds) | 05:16 | |
tupone | bzfs -loadpython CustomZoneSample -world plugins/CustomZoneSample/CustomZoneSample.bzw | 07:35 |
---|---|---|
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer) | 09:28 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag | 12:16 | |
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag | 18:27 | |
BZNotify | bzflag: atupone synchronized pull request #306 "Rewrite some plugins in python" (https://github.com/BZFlag-Dev/bzflag/pull/306) | 20:45 |
Flash | stupid question: other than "because we can" what is the benefit of rewriting existing plugins in Python? | 20:48 |
*** Optic_Delusion <Optic_Delusion!~Optic_Del@pool-71-182-149-43.pitbpa.fios.verizon.net> has quit IRC (Remote host closed the connection) | 20:52 | |
*** Optic_Delusion <Optic_Delusion!~Optic_Del@pool-71-182-149-43.pitbpa.fios.verizon.net> has joined #bzflag | 20:59 | |
Agatha | stupid or not, I also have this question | 21:17 |
SpringTank | afaict, it's to make it so there is no need to recompile anything every time you change a plugin and to make it easier for those who don't know any C++ to make plugins. | 22:27 |
blast007 | so we can then maintain two plugin systems? | 22:37 |
*** OkinaMatara <OkinaMatara!~Yukari@user/yukari> has joined #bzflag | 23:11 | |
OkinaMatara | Reading from the logs, I do like the idea of using scripting languages to quite some extent... | 23:12 |
OkinaMatara | The only key points I'd make, are the following: | 23:13 |
OkinaMatara | * Scripting languages may make it much easier for new plug-in developers/bzflag members to try and create/work something out. | 23:13 |
OkinaMatara | (I can imagine it being helpful for Cods and a few other people who have used Python in some works.) | 23:16 |
blast007 | are we suffering from a lack of plugins? | 23:16 |
OkinaMatara | Players, specifically the lack of them is mainly the biggest issue at this point. | 23:18 |
OkinaMatara | So no, we don't really suffer from a lack of them. | 23:19 |
OkinaMatara | Perhaps in the case of more automation to some extent, but this seems more BZFS specific related, compare to the BZFS API related. | 23:20 |
OkinaMatara | * Not needing to recompile is another plus point, edit, retest and it's a simpler process. (Bash scripts could do this too.) | 23:21 |
blast007 | or just use an IDE where you can press the 'run' button and it'll build the plugin and run the server | 23:22 |
OkinaMatara | True. Still the question of improvements somewhat remains. | 23:26 |
OkinaMatara | It's easier to write plug-ins yes, certainly easier to write and create new modes yes, especially when the mode and map are tied together. | 23:27 |
blast007 | is it actually easier though? how do you debug a plugin written in Python? Currently with C++ plugins you can use your IDE's debugger. Have a syntax error in the Python version and your main feedback will be when you try to run it, and you won't be able to double click on the error output to take you to the line of code. | 23:28 |
OkinaMatara | Hmm, I'd normally think it would be easier to some extent, especially with plug-ins which are tied to a specific map. | 23:31 |
blast007 | in my opinion if the only benefits it provides are "it's a different language" and "you don't have to recompile when you change stuff", there's not enough of an improvement to warrent merging it | 23:31 |
OkinaMatara | In a generic case, debugging would be more tricky... | 23:31 |
blast007 | warrant* | 23:31 |
OkinaMatara | Although consistency in style and pretty much having a standard may make it easier to debug or at least notice some of the oddities. | 23:32 |
OkinaMatara | Since the current C++ ones are written in quite a few different ways, but that circles back to perhaps simply "updating" them to more consistency. | 23:33 |
OkinaMatara | And last I heard, anytime something becomes a measure, the measure ceases to be a good measure. | 23:34 |
OkinaMatara | hmm. | 23:34 |
OkinaMatara | Changing up the API to be better would maybe be one step forward. | 23:34 |
OkinaMatara | But that is basically changing the networking protocol and its host of gotchas. | 23:35 |
OkinaMatara | Hmm, it's like right now we have mostly efficient spaghetti, but we could change it to less efficient, more boilerplate like code, but it being far easier to read. | 23:38 |
OkinaMatara | read/maintain.* | 23:38 |
OkinaMatara | I'm probably going to sound inconsistent in this case. | 23:40 |
OkinaMatara | But it seems to come down to 3 points. | 23:40 |
OkinaMatara | * Is the advantage worth it? | 23:41 |
OkinaMatara | * Is it the right time to make the changes? | 23:41 |
OkinaMatara | * Is it going to make an impact? | 23:42 |
OkinaMatara | IMO, in ideal circumstances, 1 is yes in 70% of the cases. | 23:43 |
OkinaMatara | ATM though it seems like advantage is in optimistic circumstances a 50/50. | 23:45 |
OkinaMatara | With the changes though and it being the right time, it's sort of unknown, but depending on current community of plug-in authors on what kind of an impact it would make, thus being an almost deciding factor on if it was the right time. | 23:48 |
OkinaMatara | (I don't wish to seem like I'm speaking for everyone though.) | 23:51 |
blast007 | there was also the python plugin from 2.99.x. Had that been looked into as an option instead? https://github.com/BZFlag-Dev/bzflag/tree/2.99/plugins/python | 23:52 |
blast007 | though I'm not sure if you can load multiple instances of the same C++ plugin | 23:54 |
blast007 | (and if you are able to, I'm not sure if unloading works correctly) | 23:54 |
OkinaMatara | I can't say for all, but I believe there was some changes in Python which made it not a straightforward update. | 23:55 |
OkinaMatara | Or was that the 2.0.x plug-in? | 23:55 |
OkinaMatara | (I can't quite remember.) | 23:56 |
blast007 | the plugin was never in a release | 23:58 |
Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!