Weak Rules #268
Replies: 4 comments 6 replies
-
C# includes all kind of stuff from the source in the compiled output, including method names, etc. So your suggestion would probably lead to unreadable submissions and method name shortening because it reduces the compiled size. C# even includes the path of the source file in the output so it would make a difference in which path you compile your program. |
Beta Was this translation helpful? Give feedback.
-
Another way I can put this is. the |
Beta Was this translation helpful? Give feedback.
-
@busterbeam I don't think extreme competitiveness is the agenda here. In my opinion the simple rules of this challenge and the existence of a framework to make everything work lowers the barrier to entry and sort of levels the playing field a bit for less experienced developers so anyone can compete and have an actual chance to win even if they don't know much about the inner workings of the language and compiler tricks. (This is a very interesting video about binary size optimization) It is also far more easier to chatch cheaters this way instead analyzing every single binary (which i believe would take a lot of time to perfect). |
Beta Was this translation helpful? Give feedback.
-
@wischi-chr and @mcthouacbb alright I have read into what I'm looking for. And maybe I will probably have to build it to demonstrate. I plan to use Mono.cecil to "analyze" the compiled (for release) MyBot.cs, compiled to DLL. I guess yes not "raw bytes". If this challenge was done in c for x86 some people may done the trick of 16bit opcodes or something. You say how "people will not understand", but people have also asked questions about tokenCounter even though Sebastian has provided a GUI and source code for it all. So my suggestion is is using the complete Mono.cecil to have better defined counting logic which would again be passed to the GUI as a count. Correct me if I'm wrong but the MyBot.cs still has to be compiled to be run, how can people "not know how to compile"🤦♂️. This is not C and Sebastian has suggested people use Visual Studio and built the frameworks. I'm suggesting you modify that already decent framework to have a better "token counting" framework that is harder to fool and will discourage poorly structured code. Thank you for repeating but I was and am fully aware the idea of the token counter not counting bytes but a method/variable name as 1 token instead of how many characters etc.. I don't like lecturing this out. But really do hope either the token counter becomes significantly stronger (almost like a compiler in its own right) or my suggestion is followed somewhat (doesn't have to use Mono.cecil) |
Beta Was this translation helpful? Give feedback.
-
#24 (comment)
I commented on a closed issue. but a summary is measuring it brain capacity through the weak analysis of formal programming language is not the best I think. It would probably better to just measure compiled binary size, but of course double check that that binary is not talking to the outside for help and/or lookup tables. If you not careful your just going to get code golfed submissions even if you say variable name length is fine.
If the compiled size is what your measuring people will most certainly just code normally.
Beta Was this translation helpful? Give feedback.
All reactions