Can THIS win Sebastian Lague's Chess challenge?

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 448

  • @legendgames128
    @legendgames128 ปีที่แล้ว +1941

    Lol, the challenge wanted to promote readable small chess bots, but you managed to make it infeasibly readable lmao.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +334

      Well, I focused on small ;) There's a more readable version of the code on my GitHub, but it's not the prettiest code ever written either

    • @legendgames128
      @legendgames128 ปีที่แล้ว +96

      @@gametechexplained Lol. Lmao. At least you have a translation for what that pawn of source code means out there somewhere.
      The important thing is that it works, such code is how Terraria runs. It ain't pretty, but it's practical.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f ปีที่แล้ว +75

      The challenge doesn’t promote readable code, it promotes readable names. There are plenty of other bs tricks to save tokens

    • @yanikb.1312
      @yanikb.1312 ปีที่แล้ว +19

      When you don't want fast or efficient code, but space-efficient xd
      I hope someone makes code so optimised that it could get mistaken for obfuscated code.

    • @saihajmann6622
      @saihajmann6622 ปีที่แล้ว +9

      You think I made readable code for the challenge? I barely remember what half of it does.

  • @pcoridan
    @pcoridan ปีที่แล้ว +624

    That code needs to be printed onto a shirt! Awesome looking

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +103

      I like the idea!

    • @alicewonder259
      @alicewonder259 ปีที่แล้ว +3

      Yessssssss

    • @loodinek
      @loodinek ปีที่แล้ว +15

      I would buy that shirt 😊

    • @HaphazardousSpace
      @HaphazardousSpace ปีที่แล้ว +1

      True...

    • @Caxaho
      @Caxaho ปีที่แล้ว

      @@gametechexplained You have 1 guaranteed purchase right here if you do!

  • @Luca_5425
    @Luca_5425 ปีที่แล้ว +564

    Really cool video! Well edited, nice commentary, overall a great piece of youtube content!! Commenting for the algorithm!

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +28

      Much appreciated!

    • @snk-js
      @snk-js ปีที่แล้ว +6

      yes, I hope more extremely experienced people start to make content

  • @imgajeed
    @imgajeed ปีที่แล้ว +262

    How did you do the animations at 6:20 with the 3D boards? They are really awesome!

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +142

      Those are made in Blender (Cycles Renderer). Most of the action happens in Blender's node-based procedural tool, Geometry Nodes (changing color, moving up and down, adding the text for both the score and the little a1, a2, etc.) Each of the boards has an invisible "empty" object, and whose Y-coordinate controls how much the board is in the "points" state (moved up/down, with color and text showing). So I only have to animate that single invisible object for the transition.

    • @imgajeed
      @imgajeed ปีที่แล้ว +15

      @@gametechexplained Damn, I think I should start learning Blender's Geometry Nodes XD. (Actually I wanted to do it but haven't found a good time since…)

    • @pumpkin7976
      @pumpkin7976 ปีที่แล้ว +5

      @@gametechexplained u should've done more with them, makes ur videos seem way more polished. I thought it was stock footage after u went back to a screen with a default font and badly drawn arrows.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +7

      ​@@pumpkin7976 yes, you're probably right. Making these takes me a lot of time, hopefully I'll be able to include more footage like this as I get better as this whole thing

    • @wazawoo
      @wazawoo ปีที่แล้ว +5

      @@gametechexplaineddon’t listen to this foul pumpkin who is very much not in the Halloween spirit. This whole video was excellent. Animations were next level though.

  • @noroy-afk
    @noroy-afk ปีที่แล้ว +159

    nice video man.
    good commentary / narrating, video length pretty nice and good little flow for the edit.
    keep this up, you will grow in no time
    👍

  • @OneOverPi
    @OneOverPi ปีที่แล้ว +185

    You should upload a video of your bot playing itself, stockfish, or other bots.
    Really cool video, can't wait to see how well your bot scores in the end! :)

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +24

      Thank you! I'll think about a video like that. I had it play stockfish and Sebastian's bot from his videos, and it lost pretty decisively to both. Can't wait either!

  • @Geosquare8128
    @Geosquare8128 ปีที่แล้ว +19

    funny to see how optimizing token count distorts code into the least readable garbage possible (respectfully) lmao, great video

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +5

      Thank you, I take that as a compliment

    • @heavyfeather2533
      @heavyfeather2533 ปีที่แล้ว +2

      Yooo, it's a pleasant surprise to see you here. I hope you're enjoying life!

    • @DarkPlaysThings
      @DarkPlaysThings 24 วันที่ผ่านมา

      You can have readable code and you can have short code. There isn't a big intersection between the two

  • @fdb-js5uh
    @fdb-js5uh ปีที่แล้ว +17

    In modern versions of C# you can remove explicit variable type in stackalloc by wrapping it in (), like var smth = (stackalloc Type[10]); will be of type Span instead of default Type* pointer type.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +2

      Nice! I did not know this! Always great to learn new things

  • @maxniederman9411
    @maxniederman9411 ปีที่แล้ว +63

    Nice video, will definitely look forward to future ones.

  • @JonasWindey
    @JonasWindey ปีที่แล้ว +19

    this is insane, how can you only have 17 subs???

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +6

      Thank you! I just started making videos this summer. This is only my third video ever. Really awesome to see people enjoy it. Honestly happy about every single view at this point

    • @snowfloofcathug
      @snowfloofcathug ปีที่แล้ว

      Good news!

  • @liutaurasgaidamavicius1379
    @liutaurasgaidamavicius1379 ปีที่แล้ว +45

    Great video! With this quality you will be able to go full-time in no-time 😈

  • @JottHa
    @JottHa ปีที่แล้ว +86

    As Luke from LMG just said on the WAN show, if you make a good video the algorithm will pick it up and show it to people. You made a fantastic video and it showed up for me!

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +10

      Thank you! I am a bit overwhelmed tbh, I expected much less viewers

  • @Dr-Zed
    @Dr-Zed ปีที่แล้ว +83

    I'm always so impressed by source code formatted to be ASCII art

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +13

      Thank you. You have probably seen that donut-shaped code, which was a huge inspiration

    • @yajusgakhar6969
      @yajusgakhar6969 ปีที่แล้ว +2

      @@gametechexplainedI was thinking that must be the reference/idea behind it 😂

    • @RoboticusMusic
      @RoboticusMusic ปีที่แล้ว +1

      Which language(s) are best suited (most flexible) for this style of ASCII art as code? @@gametechexplained

    • @EventsKiosk
      @EventsKiosk 7 หลายเดือนก่อน

      Is it ASCII if it’s just a silhouette?

  • @dot.4069
    @dot.4069 ปีที่แล้ว +2

    Amazing video, looking forwarding to seeing more videos from you!

  • @Gunbudder
    @Gunbudder ปีที่แล้ว +33

    if all your floats have similar magnitudes, its likely that scaled integers can get you much more accurate values. you can do a little analysis and see how many bits are "wasted" in your floats using some math or even just doing bitwise comparisons on the IEE 754 singles.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +3

      Yes, that is a good idea, too. Not sure about the network weights' range, but there are techniques to ensure weights stay reasonably small in absolute value (which I did not use for my network). They are halfs, by the way, not singles, so they only use 2 byte, compared to a 4 byte single. But yes, it is possible that scaled integers would have allowed me to go smaller / or better use the bits I have

  • @donaldklopper
    @donaldklopper ปีที่แล้ว +2

    Brilliant. Can't wait to hear from Sebastian.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      Same hear! I think it'll take a bit of time. Just running those matches must take forever, unless he gets a bunch of PCs from somewhere

  • @Meodoc
    @Meodoc ปีที่แล้ว +1

    Great video! Definitely will stay around for more awesome stuff!

  • @Eljay_Kay
    @Eljay_Kay ปีที่แล้ว +1

    Excellent video! Looking forward to seeing your bot in competition

  • @Greathelloboy
    @Greathelloboy ปีที่แล้ว +11

    i predict that this video will blow up
    its very well made

  • @robproductionsgames
    @robproductionsgames ปีที่แล้ว +8

    Nice work! I definitely struggled with this challenge and my bot used some… “unique” heuristics as opposed to your approach lol but I’m curious to see the results! Thanks for the explanations!

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      Looking forward to seeing how your bot performs!

  • @123gostly
    @123gostly ปีที่แล้ว +1

    Loved it! Thanks for sharing in this nice video format.

  • @Rkcuddles
    @Rkcuddles 11 หลายเดือนก่อน

    This was great! Thanks for taking the time to edit and share your experience. Fascinating challenge!

  • @eddielally2045
    @eddielally2045 ปีที่แล้ว +3

    great video, hope it gains you some recognition. The graphics were incredible

  • @Vanawy
    @Vanawy ปีที่แล้ว +2

    Awesome content! Good luck with competition :)

  • @minuskelvin3619
    @minuskelvin3619 ปีที่แล้ว +16

    I'm curious as to what the neural network architecture for your first attempt was? With your 4-weights-per-token packing strategy, that's an upper bound of 4096 weights, so it'd have to be pretty small. With that kind of constraint, a standard network architecture would have capped out around 5 hidden layer neurons, which wouldn't have been enough to be any good.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +7

      I use 40 features as input, and 3 hidden layers of 12 neurons each. In my experiments, I tried various sizes up to 8 hidden layers and 32 neurons each with 54 features as input, and the loss was not much lower than the 3x12 setup. I think the main issue is using features as input rather than the full chess board, because we already loose a lot of information there. However, using one 8 by 8 set of inputs per each of the 12 piece types the way many papers seem to do it would mean max out our tokens with a single layer network already.

    • @minuskelvin3619
      @minuskelvin3619 ปีที่แล้ว +1

      @@gametechexplained What were the 40 features?

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f ปีที่แล้ว

      Hey, it's the guy who chesses boys

  • @DjVortex-w
    @DjVortex-w ปีที่แล้ว +47

    Limiting the program to a number of source code "tokens" is perilous if you don't also limit the length of such a token. Ostensibly a string literal is one single token, so you could have a 10-megabyte string literal containing whatever you want, and as long as you can somehow use it to execute an algorithm you can do whatever you want.

    • @simonelungarella9000
      @simonelungarella9000 ปีที่แล้ว +6

      If you check the rules you'll see that this possibility has been denied by limiting namespaces and methods that are allowed to use

    • @DjVortex-w
      @DjVortex-w ปีที่แล้ว +1

      @@simonelungarella9000
      Do the rules limit the length of string literals?

    • @simonelungarella9000
      @simonelungarella9000 ปีที่แล้ว

      @@DjVortex-w I don't think so but you can read the following: "You may not store data inside the name of a variable/function/class etc (to be extracted with nameof(), GetType().ToString(), Environment.StackTrace and so on)".

    • @thesfreader3068
      @thesfreader3068 ปีที่แล้ว

      @@DjVortex-w yes

    • @user-zz6fk8bc8u
      @user-zz6fk8bc8u ปีที่แล้ว +3

      @@DjVortex-w no but in strings every character counts as a token, so no free lunch there.

  • @theforeskinsnatcher373
    @theforeskinsnatcher373 ปีที่แล้ว +1

    definitely keep us updated!

  • @ccoodduu
    @ccoodduu ปีที่แล้ว +1

    Interesting to see your thought process, great video!

  • @partlysunny7214
    @partlysunny7214 ปีที่แล้ว +2

    Hugely underrated channel! I love the way you explain your process quickly but simply. Keep it up!

  • @cleo__cleo9227
    @cleo__cleo9227 ปีที่แล้ว +2

    very cool video. good luck!

  • @BittermanAndy
    @BittermanAndy ปีที่แล้ว +3

    Excellent! While I never got around to completing (or even doing very much work on) my bot for the competition, I agreed that trying to make a "good bot" is a dead end... nobody's going to make anything that will beat Stockfish, so what's the point? But making something clever / creative / visually interesting / code that's shaped like a chess piece (!) is much more interesting. Well done, and good luck in the competition!

  • @TeamDman
    @TeamDman ปีที่แล้ว +1

    Damn nice video, I love the rendered shots

  • @theophilewallet7795
    @theophilewallet7795 ปีที่แล้ว +7

    Very good vidéo 👍, hope your channel grows, you already have one international subscriber (French). 😉

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      Thank you! Awesome to hear that people from around enjoyed my video! Hoping to see you around!

  • @shlaps9161
    @shlaps9161 ปีที่แล้ว +1

    subbed, amazing work!!!

  • @sanderclaes4560
    @sanderclaes4560 ปีที่แล้ว

    Really interesting video! I've been searching for content like this on youtube for a while .

  • @lluiscerda2027
    @lluiscerda2027 ปีที่แล้ว

    Amazing video! Nice work!

  • @harriehausenman8623
    @harriehausenman8623 ปีที่แล้ว +1

    Awesome stuff! 🤗

  • @hazzabro3226
    @hazzabro3226 ปีที่แล้ว +1

    Great video man!

  • @varus4827
    @varus4827 ปีที่แล้ว +1

    incredible video! amazing animations aswell

  • @squdioodellover2589
    @squdioodellover2589 ปีที่แล้ว +1

    Loved the piece weight visualisation :)

  • @312ingsscripts7
    @312ingsscripts7 ปีที่แล้ว +1

    im so glad i stumbled upon this channel

  • @antonsimkin
    @antonsimkin 11 หลายเดือนก่อน +1

    Great videos, subscribed

  • @cacaboss227
    @cacaboss227 ปีที่แล้ว +1

    I thoroughly enjoyed your video!

  • @lusiaa_
    @lusiaa_ ปีที่แล้ว

    Such a nicely made video, I'm so glad it got recommended to me. Subscribed!

  • @qoobes
    @qoobes ปีที่แล้ว +1

    Amazing, need more people like you on youtube! Keep it up! 😁

  • @FlyGamingChannel
    @FlyGamingChannel ปีที่แล้ว

    Great video. Subbed and looking forward to your next upload.

  • @yodazen6319
    @yodazen6319 ปีที่แล้ว +1

    Very entertaining !!

  • @octosaurinvasion
    @octosaurinvasion ปีที่แล้ว +1

    Nice work!!

  • @kvktus38
    @kvktus38 ปีที่แล้ว +1

    Amazing Video man keep up the good work 🎉

  • @petrblue
    @petrblue ปีที่แล้ว +2

    Great job!

  • @rainestorme4057
    @rainestorme4057 ปีที่แล้ว +1

    Nice video, doing all of the things for the algorithm for you

  • @dricimourad3544
    @dricimourad3544 ปีที่แล้ว +1

    Amazing video , keep going

  • @nebulaeedoto
    @nebulaeedoto ปีที่แล้ว +1

    wow, i'm impressed with video quality

  • @ch4rlie855
    @ch4rlie855 ปีที่แล้ว +1

    8:47 absolutely killed me bro. you earned a sub, great vid!

  • @Pantheos
    @Pantheos ปีที่แล้ว +3

    Really cool ideas, your bot is better than mine for sure :D Good luck!

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      Thank you, and good luck, too. Looking forward to seeing how our bots will do

  • @U_Geek
    @U_Geek ปีที่แล้ว +3

    Meanwhile I submitted Bob,a simple minded bot who only follows checks, captures and attacks and can run away if in danger. But you know what I had fun building Bob.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      That is the most important part! Looking forward to seeing how your bot does

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f ปีที่แล้ว

      I can definitely see this creating a completely hilarious game where Bob takes a bunch of pieces then starts running it's king to the other side of the board

  • @Bigzthegreat
    @Bigzthegreat ปีที่แล้ว +1

    TH-cam is suggesting smaller creators that are high quality, and i love it

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      Thank you! Honestly, I am a bit overwhelmed with how many people watch this! I had ~200 views for my entire channel prior to this

  • @pseudo_goose
    @pseudo_goose ปีที่แล้ว +1

    I dont know much about C#, but if it has "bytestring" literals, you could use those to compess any table into just one token (or even combine all tables into one long string). Trade-off is that element access is more complex, not 100% sure that it's worth it

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      I should've probably mentioned this, but string literals cost one token per character

    • @pseudo_goose
      @pseudo_goose ปีที่แล้ว

      @@gametechexplained Dang, Sebastian thought of everything.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f ปีที่แล้ว

      @@pseudo_goose Not really, there were a lot of people who submitted issues to github outlining these flaws in the initial challenge.

  • @justinshin6867
    @justinshin6867 ปีที่แล้ว

    Loved this video!

  • @TheOriginalJohnDoe
    @TheOriginalJohnDoe ปีที่แล้ว +3

    1:27 I am studying AI myself in university and I love the idea of using half-precision with hex into a combined result, that's one of those things you get taught when studying AI by asking the question: "how can we make this faster?", lovely idea!

  • @febejo404
    @febejo404 ปีที่แล้ว +6

    Great video!
    Did you format you code into an image by hand or is that an extension?

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +9

      I did it by hand. I used a small black and white picture as guidance. However, the footage in the video is actually not me hand-formatting, but it's a small script I wrote that does the changes more optimally and quickly, to generate a smoother video. The script got the hand-created final result as input and calculated the changes needed

    • @ersinbasaran
      @ersinbasaran ปีที่แล้ว

      @@gametechexplained that's even more impressive ❤

  • @lythd
    @lythd ปีที่แล้ว +1

    wow i absolutely love the aesthetic code in a pawn at the end! very good video! now im a bit nervous about my entry if u r just trying to be in the top half lmao

  • @mr_waffles_the_dog
    @mr_waffles_the_dog ปีที่แล้ว +1

    My thought is whether you can save more tokens by have the initializers expand out the compressed boards. The initializers would become a bit bigger, but you'd save tokens on access

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      I am not sure I fully understand... What do you mean by expanding out the compressed boards?

  • @trueberryless
    @trueberryless ปีที่แล้ว +3

    Dude, I'm so hyped how insane other people went with this challenge? I didn't have that much time and brain sells as you, so I hope my bot is top 0.001% of submissions... xD

  • @cyb3ristic
    @cyb3ristic ปีที่แล้ว +1

    great video man :)

  • @Pope_Protein
    @Pope_Protein ปีที่แล้ว

    Great video definitely earnt my subscription and all those to come

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      Thank you, and welcome on board

    • @Pope_Protein
      @Pope_Protein ปีที่แล้ว

      @@gametechexplained I'll definitely be watching in future, remember me before you become famous 🤣

  • @gotMylky
    @gotMylky ปีที่แล้ว +1

    Excellent work, earned a sub :)

  • @ReinkeDK
    @ReinkeDK ปีที่แล้ว

    Amazing work :)

  • @RRPLD_Ambassador
    @RRPLD_Ambassador ปีที่แล้ว +2

    Where can I read about training a chess neural network?

  • @Blackfire123creation
    @Blackfire123creation ปีที่แล้ว

    Very engaging Video! I'm curious to see how you bot does in the competition.

  • @thenotbaldguy4263
    @thenotbaldguy4263 ปีที่แล้ว +1

    actually underrated channel, the algo needs to know

  • @Aidiakapi
    @Aidiakapi ปีที่แล้ว +3

    If tokens are counted, why not just have one really big string literal containing all the data? It's one token, no matter how large it gets (unless it's an interpolated string).

    • @rutabega306
      @rutabega306 ปีที่แล้ว

      I wondered about this too, seems like one could serialize a massive NN this way

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +3

      It's a good idea, but a string literal actually counts as one token per character in this competition. I probably should have mentioned that

  • @maxfarouk3407
    @maxfarouk3407 ปีที่แล้ว +2

    Very cool man. When i saw sebastions video i got quite peaked. I havent followed that series though as i mostly followed his unity stuff and i feel more comfortable in python. Youre video is great and its really cool what more experienced programers are capable of. Its onspiring to know that im not so far from stuff lole this.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +2

      Great to hear! I did not know anything about Chess AI before watching his videos either. One thing I really love about his channel is that he can make you feel like you truly understand the all the basics of an entirely new thing in about 45 minutes

    • @maxfarouk3407
      @maxfarouk3407 11 หลายเดือนก่อน

      Agreed@@gametechexplained

  • @Julzaa
    @Julzaa ปีที่แล้ว +1

    You earned a subscriber!

  • @sabitastisch9228
    @sabitastisch9228 ปีที่แล้ว +2

    I absolutely love it! :D

  • @speedg
    @speedg ปีที่แล้ว +1

    cool video, nice throwback to the donut shaped donut code

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      Yes, that was definitely the main inspiration in terms of formatting

  • @vyldim3401
    @vyldim3401 ปีที่แล้ว +2

    I sooooo wanted to join this man why did I have to be busy and sick

  • @worldadmin9811
    @worldadmin9811 ปีที่แล้ว +1

    excellent work

  • @General12th
    @General12th ปีที่แล้ว

    This is amazing!

  • @shadowskullG
    @shadowskullG ปีที่แล้ว

    I liked this video, well made and good documentary. Hope you win!

  • @artemon121
    @artemon121 ปีที่แล้ว

    Awesome video!

  • @JirkaKlimes_
    @JirkaKlimes_ ปีที่แล้ว +2

    This video was awesome! Thanks. (+sub)

  • @Koutsie
    @Koutsie ปีที่แล้ว

    nice video, well edited too and about a interesting topic!
    subscribed!🎉

  • @wChris_
    @wChris_ ปีที่แล้ว +1

    this just goes to show, that writing small code is not the same as writing good code. (as in readable, understandable and clean)

  • @vigigamehacker123
    @vigigamehacker123 ปีที่แล้ว +1

    Would love to see a video focused solely on building that first neural network

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      I thought about how much detail to add about that bot. But tbh making videos takes a lot of time for me, so I could not really go into detail about both. I might make a video about a different neural network project in the future

  • @senorpizza
    @senorpizza ปีที่แล้ว

    For only 300 subs, the quality and amount of effort put in is amazing. Here before 1k 🎉

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      Thank you! Tbh it is still hard to believe it went past 1k now. I had 17 subs when posting this

  • @domasinkujur258
    @domasinkujur258 ปีที่แล้ว

    you know he is great at coding when his code indentation looks like the project thumbnail itself

  • @pegrat
    @pegrat ปีที่แล้ว +1

    this is AWESOME!

  • @moxiwolf
    @moxiwolf ปีที่แล้ว +1

    I'm going to quote my TA after showing her a code I made while on double the recommended daily does of NyQuil:
    "what have you done?"

  • @DreadKyller
    @DreadKyller ปีที่แล้ว

    One thing I don't see anyone saying is that you could have removed the static and readonly modifiers, not good practice but they are tokens and don't need to be static to make the code work.
    Also it may be a bit on the more iffy side but the tables could have been stored as strings that are then converted to bytes to possible save more as well, I don't know where the border of the spirit of the competition ends compared to the absolute limit of what can be done, because there are optimizations that likely wouldn't be within the spirit of the competition even if it's not against the rules of it, I don't know whether encoding data like that in a string would have crossed a line, unlike WarpRulez I'm not referring to encoding data and instructions in a string, just the table data, but still same debatability.

  • @norude
    @norude ปีที่แล้ว +1

    I really think that for you to leave the beeping in would be awesome.

  • @im-Anarchy
    @im-Anarchy ปีที่แล้ว +2

    how have you created the animations for this video, have you used unity too like sebation lague, and what editting software

    • @vibaj16
      @vibaj16 ปีที่แล้ว +1

      idk about other animations, but in another comment he mentioned that the 3D animation to show the weight distributions of piece values was made in Blender

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      The very simple ones are in Davinci Resolve. The rest are actually all made in blender, even the ones moving hexadecimal numbers around. I use a orthogonal camera and the "Background" shader + images on quads. There's probably better tools for this, but I don't have an Adobe license, and I already know Blender. So this worked for me

  • @triplebog
    @triplebog ปีที่แล้ว +1

    Fantastic video!! I wonder if anyone used any tricks from the demoscene community. Like I think it's not uncommon for them to store their entire script in a zipped format, and then to have a little piece of code that runs at the start to unpack the rest of the code and then run it.
    Obviously things are a bit different since they are optimizing for raw script size and you are optimizing for tokens. But that could potentially be an interesting avenue. (If it's even possible in c# I have no idea if it would be)

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      I think it would be possible. There's an interesting trade-off between efficient packing and code needed to unpack, but this would definitely be interesting to try

  • @sumongus
    @sumongus ปีที่แล้ว +2

    I was totally not expecting that reformat at 9:17, but it looks awesome nonetheless! (readability has left the chat)

  • @jakubjanicki9148
    @jakubjanicki9148 ปีที่แล้ว +1

    Hi! I am writing an ai chess engine of my own though not for this competition.
    However could you elaborate on what were the analysis steps you took to optimize the network?
    Could you point out some resources I could use to learn more about this?
    Thanks :)

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      That sounds exciting. With no limits to size, I definitely would recommend tackling the project very differently from what I did. Other than trying a ton of network architectures, I did a sensitivity analysis, which helps to find out which inputs are less important. This was mainly to remove inputs and reduce the size. I also plotted training data vs. network output, which can give a bit more information than just looking at loss. Regarding learning, I like David Silver's Reinforcement learning lecture. It's available for free, but it is already 8 years old, which is an eternity in AI. Still, the basics should be relevant today

  • @ConBomb
    @ConBomb ปีที่แล้ว +1

    Wow this was a great video. I also made a bot for the challenge but it was nowhere as good as yours.

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว

      Thank you, looking forward to seeing how your bot does!

  • @duckyyaboi3129
    @duckyyaboi3129 ปีที่แล้ว +2

    Just wanted to say the quality on this video was outstanding for how low views it has!

  • @jansustar4565
    @jansustar4565 ปีที่แล้ว

    Aren't strings a single token? So you could have all the weights in a string formated with CSV and a splitter method to move it to the array. This way, you could have a neural net of almost arbitrary size inside. At least I think so.

    • @tisajokt7676
      @tisajokt7676 ปีที่แล้ว

      Strings unfortunately were counted as a special case to avoid this: each character counted as its own token. Also, the rules forbid you from storing an arbitrary amount of data in identifier names and retrieving them.

  • @erroneum
    @erroneum ปีที่แล้ว

    I'm curious, could you fit a much larger network in if you made all of it's constant data just a single string, which was then processed on launch? I don't know exactly what C# considers a token, but I'd guess a string only counts as one, and that the library has some inbuilt feature for parsing JSON, XML, or some other structured markup.

  • @_fudgepop01
    @_fudgepop01 ปีที่แล้ว

    If you wanted to save an additional token per for-loop you could define i outside the loop as a global variable so long as you don’t have to type the “int” each time :3
    …though, for each potential layer of loops though it gets uglier…

    • @feritperliare2890
      @feritperliare2890 ปีที่แล้ว

      Go away foul wretch stop making it worst

    • @gametechexplained
      @gametechexplained  ปีที่แล้ว +1

      Yes, definitely! You can actually save some tokens by declaring all your ints in one single line for the entire function (or globally, but most of my code is in a recursive function, so I need a "copy" per invocation)

    • @_fudgepop01
      @_fudgepop01 ปีที่แล้ว

      @@gametechexplained that’s terrifying and I hate it (I love it, great work!)