WasmBots - A WebAssembly-powered programming game

Поделиться
HTML-код
  • Опубликовано: 30 янв 2025
  • ИгрыИгры

Комментарии • 130

  • @olgierd245
    @olgierd245 4 дня назад +2

    Yet another channel that has a massive value. I'll be back here soon mate, keep up the good work!

  • @TannerNetterville
    @TannerNetterville 8 дней назад +12

    would love to see a screeps-like client-server game come out of this

    • @shaneliesegang
      @shaneliesegang  8 дней назад +1

      Me too! Unfortunately I lack the funds to put up a server that could handle this kind of thing. :( Maybe if it gets traction I could do a Patreon or something.

    • @cullencanejo7731
      @cullencanejo7731 22 часа назад +1

      @@shaneliesegang I would totally host one.

    • @shaneliesegang
      @shaneliesegang  20 часов назад +1

      @@cullencanejo7731 Very generous! A lot needs to happen on the dev side before something like that is even possible... we'll see how far it progresses! :)

    • @cullencanejo7731
      @cullencanejo7731 17 часов назад

      @@shaneliesegang if it ever get's there let me know.

  • @aceaspadesblack7399
    @aceaspadesblack7399 13 дней назад +38

    Excellent work! I'm really surprised you only have 66 subscribers today, but I get a really good feeling that you're going to get a lot of subscribers if you keep making videos. keep it up!!

    • @shaneliesegang
      @shaneliesegang  13 дней назад +1

      Tell your friends 😜

    • @Haagimus
      @Haagimus 9 дней назад +2

      3 day old comment and now he's 8.8k subs 🎉🙌🏻🤙🏻

    • @JanB1605
      @JanB1605 9 дней назад

      @@Haagimus Huh? What? You mean on RUclips? I see 676 subs and 9.1K view. Did you confuse views and subs?

  • @NedLudo
    @NedLudo 11 дней назад +8

    Fascinating project! I am reminded of an old "bots" game I found on a school computer once, with some kind of scripting language I was far too young to understand, but just old enough to get that changing it made the bots do silly, erratic things. Excited to see something interesting done with WASM, far too often it ends up being "Write this program twice, once in Wasm, and then all over again in Javascript to extend the function calls the Wasm blob needs to access to the dom".

    • @shaneliesegang
      @shaneliesegang  11 дней назад

      Was it Crobots? 👀 shaneliesegang.com/projects/wasmbots/docs/history/#inspirations
      And yes, you kind of nailed my frustrations with some of how WebAssembly is used/taught.

    • @NedLudo
      @NedLudo 11 дней назад +2

      ​@@shaneliesegang It was not! Looking it up, it seems to have been "RoboWar". An interesting little game, I'm not sure which version, but it was a black and white mac game.

    • @shaneliesegang
      @shaneliesegang  11 дней назад +1

      @@NedLudo I was somehow unaware of this, despite being a Mac gaming enthusiast all through the 90s! Thanks for the pointer.

  • @frankdearr2772
    @frankdearr2772 17 часов назад +1

    Great topic; thanks 👍

  • @NatWatGamer
    @NatWatGamer 11 дней назад +11

    I am super interested in this! I would love to see some combat and such. This would also be a great testbed for neural networks

    • @shaneliesegang
      @shaneliesegang  10 дней назад

      "combat and such" is definitely in the cards! As for neural nets -- are you imagining something like machine learning or a smaller network? I think the WebAssembly limits might preclude the former. I was thinking at one point about giving the modules a way to make network requests but that seemed like a WHOLE can of worms so I punted it for now.

  • @beeplove7
    @beeplove7 8 дней назад +1

    this is crazy work dude. Excellent

  • @yumbuboyumbubo8230
    @yumbuboyumbubo8230 8 дней назад +3

    Nice, I had this idea many years ago, but never started work on it. It is pretty great that someone else is building my dream game. :D

    • @shaneliesegang
      @shaneliesegang  8 дней назад +1

      Is there a particular vision you had or area you might like to help? 👀

  • @ben-brady
    @ben-brady 13 дней назад +13

    This looks really promising, I could easily see this be used in University as a teaching tool. I'd be nice to have some sort of scroing to be able to host competitions with it. Hopefully you enjoy working on it

    • @shaneliesegang
      @shaneliesegang  12 дней назад +2

      Yeah, some sort of tournament function is definitely on the (likely distant) horizon. Mostly because I have fewer skills in persistence/server stuff. That’s the kind of thing I would welcome help with. 😊

  • @sodvm
    @sodvm 10 дней назад +3

    The internet through the lens of Google is so interesting. I searched "wasmbots" && "wasmbots game" (shoulda just went to the description but was watching it on my aTV) I got info on wombats and numbots. I hope more peeps find your cool project (what a unique game mechanic and what a wonderful way to baseline languages). Anyway not much else. My reason for the comment is to point out that, in the last ten years, the internet (even Google's own products) has become too complex for search to be effective using simple search queries. Ok ok ok off topic. Cool implementation, more cool concept. Very inspiring.

  • @juniorbatistadev
    @juniorbatistadev 13 дней назад +6

    Wow! Great quality!
    Totally hooked for the series and subbed!

  • @theendarkenedilluminatus4342
    @theendarkenedilluminatus4342 6 дней назад +1

    this is really cool. Nice breakdown of how to visualize the code. Thanks!

  • @jamesgphillips91
    @jamesgphillips91 11 дней назад +3

    Holy cow… I love you for your technical ability and for your nuanced understanding semiotics

    • @shaneliesegang
      @shaneliesegang  9 дней назад

      Thank you for being one of the few who enjoys a good semiotics gag. 😅

    • @jamesgphillips91
      @jamesgphillips91 9 дней назад

      @@shaneliesegangI have to ask. Are you a Jesuit?

    • @shaneliesegang
      @shaneliesegang  8 дней назад

      @@jamesgphillips91 Yup!

    • @jamesgphillips91
      @jamesgphillips91 8 дней назад

      @ that’s awesome. I’m a big fan of Michel De Certeau 😛

  • @crossscar-dev
    @crossscar-dev 11 дней назад +2

    I love the art style in this.

    • @shaneliesegang
      @shaneliesegang  11 дней назад +1

      Sadly, that's the thing I can *least* take credit for, but I do agree that the free assets I'm using look nice together. 😅

  • @blazingangel623
    @blazingangel623 11 дней назад +5

    A programmer, I am not. But this is so cool! Deep pull, but this reminds me of Stone Story; it’s a game on steam/mobile with it’s own scripting language built in as an intended game feature. ‘Gamifying’ learning has turned into such a cliche, but stuff like this can create actually engaging games that create an environment for learning (and in this case enabling that to be real world coding languages). Very cool!

    • @shaneliesegang
      @shaneliesegang  9 дней назад +1

      Loved Stone Story! And you just inspired me to go back and revisit it. :)

  • @gljames24
    @gljames24 10 дней назад +6

    Made my Spherical RGB Color Model visualizer in Bevy which is nice as you can compile to WASM. A Godot project I did also was easy enough to compile to WASM.

  • @danielcarroll8889
    @danielcarroll8889 10 дней назад +2

    Great video, keep up the good work!

  • @Spyder638
    @Spyder638 12 дней назад +2

    I was here before your channel blows up. This is awesome. Cool project and well edited and presented video.

  • @IzUrBoiKK
    @IzUrBoiKK 11 дней назад +4

    crazy crazy idea bro, super interesting. I hope this gets turned into something fully fledged soon, though take your time bro. good luck.
    As both a game designer and programmer myselves, I am really excited to how the game actually grows.

  • @jaehoc
    @jaehoc 10 дней назад +2

    Wow. Subscribed and looking forward for cool updates!!!

  • @theodeleuu865
    @theodeleuu865 9 дней назад +1

    Fantastic video! 🎉
    You present information in a clear and easy-to-understand manner, even for someone like me who does not know WebAssembly. I have recently started to look into WASM, so this was a really good video to pop up on my feed. Also, I have always had a fascination with bots and automated NPCs/entities and systems. Simulating life and such, like in God games or the private sector in Distant Worlds 2, is really interesting. I have subbed and liked, so I will definitely be watching future updates to your project/proof of concept.
    Cheers bro!

  • @nodrance
    @nodrance 9 дней назад +1

    You, my good sir (or possibly madam) have earned yourself a sub

  • @-TheBugLord
    @-TheBugLord 13 дней назад +3

    I have a feeling we're going to be seeing some pretty crazy WASM games on the browser in the future

  • @user-ez7ls2du9c
    @user-ez7ls2du9c 12 дней назад +7

    You gotta make some kind of leagues system, if the game grows people will start to make extremely strong bots which are unbeatable for new players, so putting people or bots in leagues/tiers would probably help as it would pit new bots against other new bots.
    I love this idea, a game for devs, good job!

    • @shaneliesegang
      @shaneliesegang  12 дней назад +2

      Thanks! If/when it gets that far or to that level of popularity I'll definitely want to have some kind of matchmaking system. But a lot of steps between here and there at the moment. :)

  • @ThePouetman
    @ThePouetman 9 дней назад +1

    This looks really cool and an interesting way to explore new languages! I'll keep an eye on it and maybe try it when I have more time.

  • @Lion4de
    @Lion4de 13 дней назад +3

    Curious to check this out! You're ticking all the boxes for me :D

  • @jamesisadude9187
    @jamesisadude9187 11 дней назад +1

    Super cool game and would love to see it fleshed out in the future.

  • @Serthys1
    @Serthys1 5 дней назад +1

    Very cool concept, subscribed. I'm currently playing artifactsmmo which is a similar concept so I'm definitely interested.

  • @grimoutlaw
    @grimoutlaw 9 дней назад +1

    This is really awesome and it made me wonder about language synergies between different languages and language models and what would happen if you gave them multiple agents in one character and I guess they would be able to get personality traits from them thinking back and forth between different agents for everything and then you can tweak them in so many ways

  • @akshaj7011
    @akshaj7011 12 дней назад +2

    This is such an interesting concept! Great video too!

  • @aton7071
    @aton7071 9 дней назад +2

    Super interesting work, one use case for this could be online programming competion where ypu set up a goal exemple capture the flag and you make play different script from user against 👍

  • @ITR
    @ITR 12 дней назад +2

    Cool, I need to try this out.

  •  8 дней назад +1

    Yey, I remember various coding games from very very long ago. One was c#, others was custom languages. Wish I remembered any names for these :)
    Anyway, what I do remember is that for online play it seems an optimum was often found very quickly.

    • @shaneliesegang
      @shaneliesegang  8 дней назад +1

      Check the comments; people have been reminiscing about a few!
      And yeah, I imagine there are definitely some optimal strategies, but that's when we mix up the map generation or invent a new game type or something. If people "solve" the game here, I'll consider it a win state for the project. :)

  • @jedoman2993
    @jedoman2993 11 дней назад +1

    This is looking very good. I hope you can continue with this project. I'm going to subscribe to know more about it.

  • @thesimplicitylifestyle
    @thesimplicitylifestyle 10 дней назад +2

    Genius! 😎🤖

  • @lukarikid9001
    @lukarikid9001 12 дней назад +4

    So each lil guy is his own language and they all interact between themselves synchronously? Neat

  • @__wailer__1952
    @__wailer__1952 14 дней назад +3

    Hey, really nice video! Also a cool concept, gotta check that out when I get a chance!

  • @Metruzanca
    @Metruzanca 11 дней назад +1

    This is awesome! I might try and make an assemblyscript bot as well as try my hand at implementing a way to get a Gleam bot working.

    • @shaneliesegang
      @shaneliesegang  11 дней назад +1

      I would love to see an AssemblyScript bot that does something more interesting than the current statue! :D

  • @superradmaker
    @superradmaker 11 дней назад +1

    Subbed man! this looks like an interesting project and ill be following along. Take care

  • @raddish4440
    @raddish4440 12 дней назад +1

    Kinda like a dungeon crawling screeps, cool!

  • @justjapanese394
    @justjapanese394 14 дней назад +2

    Keep it up! I'm curious

  • @QYUb
    @QYUb 11 дней назад +1

    exited for more!

  • @PythonIsGod
    @PythonIsGod 11 дней назад +1

    You are my hero.

  • @itsJDarts
    @itsJDarts 12 дней назад +1

    You are goin gto bring WASM to the masses

  • @Joker22593
    @Joker22593 12 дней назад +1

    Congratualtions on your ordination! Thank you for your service to the church. I hope to also be a Deacon one day. I first have to focus on raising my children for the next 25 years or so.

    • @shaneliesegang
      @shaneliesegang  11 дней назад

      Hope to see you in the sanctuary some day! :D

  • @chiefs2ndbase
    @chiefs2ndbase 11 дней назад +1

    Awesome video!

  • @annybodykila
    @annybodykila 12 дней назад +1

    Very interesting, I subbed to see more

  • @CyborusYT
    @CyborusYT 12 дней назад +1

    this is super cool!! i wish i'd come up with this haha

  • @evanjrowley
    @evanjrowley 11 дней назад +1

    Very cool

  • @ganymede242
    @ganymede242 9 дней назад +1

    Looks interesting. I got hooked on Screeps for a while, but hate JS.

  • @kukisj2752
    @kukisj2752 9 дней назад +1

    I used to write bots on tournaments on Codingame (maybe you heard of).
    Your project sounds interesting. Could be fun to have an rpg where you can program the hero.
    I see in the comments you had less than 100 subs before, now it is over 600. I join too, curious to see where you take the project.

  • @PigeonOvO
    @PigeonOvO 11 дней назад +1

    Amazing! I have been really into WASM, zig and onyx lately!
    I haven't seen onyx on there. It's primary compilation target is wasm!! So I will maybe try to get a bot working with onyx!

  • @mazrine7
    @mazrine7 12 дней назад +1

    This is very interesting omg

  • @jefesusmuel8392
    @jefesusmuel8392 9 дней назад +1

    i wonder where this could go. it's such a novel and interesting concept.

  • @neoplumes
    @neoplumes 12 дней назад +2

    SO excited

  • @SamualN
    @SamualN 13 дней назад +2

    Wasm is so cool!

  • @laurencevanleuken5592
    @laurencevanleuken5592 12 дней назад +1

    I think this is nicer than screeps.

    • @shaneliesegang
      @shaneliesegang  12 дней назад

      Screeps is definitely one of the inspirations! Love their concept.

  • @freedom_aint_free
    @freedom_aint_free 12 дней назад

    Amazing ! Dungeon crawlers are like a dime a dozen, so you should do different: turn it into a simulator using NN (Neural Nets) and evolutionary algorithm, and make it 's processing distributed and decentralized, so that each person's computer shares a bit of the computational burden, and if the player's system is willing to bear the brunt of being a full node (for instance, you could make the system solve physically realistic system of differential equations to make flames behave like real fire, or light scatter with realistic materials, etc.) it will get a few extra perks like changing the world's rule or having its own world and he will compete with other to see who can create the most interesting world

    • @shaneliesegang
      @shaneliesegang  11 дней назад

      That's definitely a cool idea! Very different from what I'm going for here, but would be interested to see someone build it. :)

  • @lucio9601
    @lucio9601 13 дней назад +1

    Great video, amazing bro

  • @lucio9601
    @lucio9601 13 дней назад +1

    I'll play with WASM in a future, after getting some jobs done

  • @T0XICxBAC0N
    @T0XICxBAC0N 13 дней назад +3

    very interesting video!
    this is one of those youtube videos that get a million views eventually : ]

  • @anon_y_mousse
    @anon_y_mousse 12 дней назад +1

    Sounds like a fun programming game. Can you compile it for desktop use with no browser? Might be interesting to give it a try with an esoteric language like BrainFuck and to see how slowly it'll run.

    • @shaneliesegang
      @shaneliesegang  12 дней назад +1

      I do command line testing with Deno but not consistently, so the scripts have some bitrot to them. github.com/sjml/wasmbots/tree/main/engine/src/deno-cli But the idea is definitely that it should run happily without a browser. (Still needs some kind of JavaScript+WebAssembly runtime, obviously.)

  • @devilminty_fresh
    @devilminty_fresh 6 дней назад +1

    Very awesome idea. I'll make sure to contribute a library for my functional programing language.
    Will you support wasmgc?

    • @shaneliesegang
      @shaneliesegang  6 дней назад

      To be determined! I don't know how much is entailed in doing so. I'd like to, just so it can support as many languages as possible, but it looks like it's still very new and there's not a lot of documentation on it yet. Let me know if there's something you need and I'll see what's possible!

    • @devilminty_fresh
      @devilminty_fresh 4 дня назад

      @@shaneliesegang I used to work on the AssemblyScript compiler and the as-pect testing framework. I think I might be able to offer some help.
      Are you on discord?

    • @shaneliesegang
      @shaneliesegang  20 часов назад

      @@devilminty_fresh I am, but I am also a discord n00b, and the last time I tried to tell someone my username it didn't work... 😅 I think it's sjmlsj?

  • @legend644
    @legend644 11 дней назад

    This looks awesome
    I've been slowly getting into enjoying programming games lately, I'll definitely check this out if I remember it
    I'm actually curious: Does Go in WebAssembly actually have multi-threaded capabilities, or at least, simulated as such?
    I've read a bit about how wasm works and I have no idea about thread stuff

    • @shaneliesegang
      @shaneliesegang  10 дней назад

      The Go stuff is actually using TinyGo, an alternative compiler that also works with embedded systems: tinygo.org
      It supports most of the parts of Go that people care about, including goroutines, so yes!

    • @legend644
      @legend644 10 дней назад

      @shaneliesegang awesome

  • @CyborusYT
    @CyborusYT 12 дней назад +1

    "has a true name" oh god chara

  • @wrathofainz
    @wrathofainz 9 дней назад +1

    Neat.

  • @MommysGoodPuppy
    @MommysGoodPuppy 11 дней назад +2

    now just add multiplayer and itll become dozens of peoples hobby to compete or work together with their bots

  • @c3cris2
    @c3cris2 12 дней назад +1

    Ugh you got me interested in wasm. I’ve been avoiding it for some time.

  • @danser_theplayer01
    @danser_theplayer01 11 дней назад

    I was thinking about wasm for browser based games, but then I thought, won't it be relatively similar to a purely javascript based game? I mean wasm can't directly render pixels or request animation frames, it has to go through a javascript layer anyway.

    • @shaneliesegang
      @shaneliesegang  11 дней назад

      Yeah, given the way the browser works there will always be a need to engage JS at some level. This is more about having fun making the modules than avoiding JavaScript or the DOM. I know not everyone thinks "programming with lower-level languages" as "fun" but I do! :D

  • @davidavidavidavidavi
    @davidavidavidavidavi 13 дней назад +2

    mana gem

  • @Wariowa345
    @Wariowa345 12 дней назад

    i love the idea, but most people will not want do it in low-level not including myself, try allowing others langs so more people plays it
    a question, do mages have storage?

    • @shaneliesegang
      @shaneliesegang  12 дней назад

      I don't allow or disallow any languages... if it can compile to WebAssembly, it can work! You're right, though, that there aren't a ton of higher level languages that output wasm mostly because until VERY recently (like the last month or so) it didn't have native garbage collection. AssemblyScript and Go can kind of _feel_ high level, though. Been meaning to check out MRuby to see if it could work, but also am basically at my limit with supporting the existing five languages.
      Not sure what you mean by "storage" -- whatever mechanism your programming language has for allocating and using memory should work fine, up to the WebAssembly limit of about ~4 gigabytes. I am *likely* to limit memory consumption at some point in the future, but it's not on the immediate horizon.

    • @Wariowa345
      @Wariowa345 12 дней назад

      ​@@shaneliesegang how do you upload the binary to the website? is there a cli tool fo that?

    • @shaneliesegang
      @shaneliesegang  12 дней назад

      @Wariowa345 There's some CLI tools for testing directly, but you just get text output. Planning to hook them up to visualization at some point, but that would be a lot of work for not much improvement over the website. All the magic is happening in the frontend, anyway, so there's no server logic at the moment and thus nothing to upload to. You can load any compiled WebAssembly module through the app interface (shaneliesegang.com/projects/wasmbots/app/) -- the pulldown menu just shows you the prebuilt options.

  • @benjaminspiegel2467
    @benjaminspiegel2467 13 дней назад +1

    Definitely interested in this, but only know Python :(

    • @shaneliesegang
      @shaneliesegang  13 дней назад

      Time to learn something new! Go or AssemblyScript might not be *too* hard of a slide over from Python. :D
      (En serio, I briefly looked at Pyodide to see if was feasible here, but didn't go too deep... my gut tells me it's made for a different kind of context, but I already had enough on my plate handling the languages that are there. But I would absolutely welcome more language functionality!)

  • @dreamleaf6784
    @dreamleaf6784 2 дня назад +1

    So what is this supposed to be? Like going forward. Is this a game or what? Do people just drop a bot in and see what they do?

    • @shaneliesegang
      @shaneliesegang  21 час назад +1

      To be determined! I think it my most complete aspiration it becomes some kind of multiplayer competition space where the bots compete. At the moment it's just a neat way to play with WebAssembly.

  • @Zakru
    @Zakru 13 дней назад

    I have mixed feelings, because I feel like this could've worked wonderfully as a multiplayer game. Each player could have their character(s?) controlled by their own AI, they could communicate with each other by some means and maybe even engage in PvP in addition to other activities.
    This is not criticism of course, since it's an entirely different concept. It's just that the introduction and my imagination got me kinda hyped up.

    • @shaneliesegang
      @shaneliesegang  13 дней назад +1

      Oh the PVP is coming! Don't you worry. What you're imagining is the aspiration. This is just the proof-of-concept.

    • @Zakru
      @Zakru 13 дней назад +1

      @@shaneliesegang Oh, that makes me happy. Looking forward to improvements.

    • @shaneliesegang
      @shaneliesegang  13 дней назад +1

      Me too! It’s a one-person operation here, so we’ll see how fast I move. 😅

    • @wekgdskfhisdkfjsuehufeqruy7185
      @wekgdskfhisdkfjsuehufeqruy7185 13 дней назад

      that being said, crowdsourcing litteral code could mean a risk of viruses!

  • @gabrielmaciel4844
    @gabrielmaciel4844 4 дня назад

    True name like shadow slave? 😳

  • @cbhv4321
    @cbhv4321 13 дней назад +1

    This is so fucking coollll

  • @FolkerHQ
    @FolkerHQ 9 дней назад +1

    at 3:56 if 4 is blocking the view, and you get 0 in the upper right, why you have a 4 at buttom right? should'n the view blocked as wll from another 4?

    • @shaneliesegang
      @shaneliesegang  9 дней назад +2

      Good spot! Its either an artifact of the field of view calculation OR a mistake I made when doing all the visual manipulations to the original memory grab. 🙈