WasmBots - A WebAssembly-powered programming game

  Рет қаралды 14,252

Shane Liesegang, SJ

Shane Liesegang, SJ

Күн бұрын

Пікірлер
@olgierd245
@olgierd245 4 күн бұрын
Yet another channel that has a massive value. I'll be back here soon mate, keep up the good work!
@TannerNetterville
@TannerNetterville 8 күн бұрын
would love to see a screeps-like client-server game come out of this
@shaneliesegang
@shaneliesegang 8 күн бұрын
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 23 сағат бұрын
@@shaneliesegang I would totally host one.
@shaneliesegang
@shaneliesegang 21 сағат бұрын
@@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 18 сағат бұрын
@@shaneliesegang if it ever get's there let me know.
@aceaspadesblack7399
@aceaspadesblack7399 13 күн бұрын
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 күн бұрын
Tell your friends 😜
@Haagimus
@Haagimus 9 күн бұрын
3 day old comment and now he's 8.8k subs 🎉🙌🏻🤙🏻
@JanB1605
@JanB1605 9 күн бұрын
@@Haagimus Huh? What? You mean on KZbin? I see 676 subs and 9.1K view. Did you confuse views and subs?
@NedLudo
@NedLudo 11 күн бұрын
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 күн бұрын
​@@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 күн бұрын
@@NedLudo I was somehow unaware of this, despite being a Mac gaming enthusiast all through the 90s! Thanks for the pointer.
@yumbuboyumbubo8230
@yumbuboyumbubo8230 8 күн бұрын
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 күн бұрын
Is there a particular vision you had or area you might like to help? 👀
@frankdearr2772
@frankdearr2772 18 сағат бұрын
Great topic; thanks 👍
@NatWatGamer
@NatWatGamer 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.
@sodvm
@sodvm 10 күн бұрын
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.
@ben-brady
@ben-brady 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 күн бұрын
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. 😊
@beeplove7
@beeplove7 8 күн бұрын
this is crazy work dude. Excellent
@blazingangel623
@blazingangel623 11 күн бұрын
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 күн бұрын
Loved Stone Story! And you just inspired me to go back and revisit it. :)
@juniorbatistadev
@juniorbatistadev 13 күн бұрын
Wow! Great quality! Totally hooked for the series and subbed!
@shaneliesegang
@shaneliesegang 13 күн бұрын
Thank you!
@theendarkenedilluminatus4342
@theendarkenedilluminatus4342 6 күн бұрын
this is really cool. Nice breakdown of how to visualize the code. Thanks!
@jamesgphillips91
@jamesgphillips91 11 күн бұрын
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 күн бұрын
I love the art style in this.
@shaneliesegang
@shaneliesegang 11 күн бұрын
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. 😅
@gljames24
@gljames24 10 күн бұрын
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 күн бұрын
Great video, keep up the good work!
@Spyder638
@Spyder638 12 күн бұрын
I was here before your channel blows up. This is awesome. Cool project and well edited and presented video.
@IzUrBoiKK
@IzUrBoiKK 11 күн бұрын
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 күн бұрын
Wow. Subscribed and looking forward for cool updates!!!
@theodeleuu865
@theodeleuu865 9 күн бұрын
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 күн бұрын
You, my good sir (or possibly madam) have earned yourself a sub
@-TheBugLord
@-TheBugLord 13 күн бұрын
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 күн бұрын
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 күн бұрын
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 күн бұрын
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 күн бұрын
Curious to check this out! You're ticking all the boxes for me :D
@Serthys1
@Serthys1 5 күн бұрын
Very cool concept, subscribed. I'm currently playing artifactsmmo which is a similar concept so I'm definitely interested.
@grimoutlaw
@grimoutlaw 9 күн бұрын
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 күн бұрын
This is such an interesting concept! Great video too!
@aton7071
@aton7071 9 күн бұрын
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 👍
@jamesisadude9187
@jamesisadude9187 11 күн бұрын
Super cool game and would love to see it fleshed out in the future.
8 күн бұрын
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 күн бұрын
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 күн бұрын
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 күн бұрын
Genius! 😎🤖
@lukarikid9001
@lukarikid9001 12 күн бұрын
So each lil guy is his own language and they all interact between themselves synchronously? Neat
@shaneliesegang
@shaneliesegang 12 күн бұрын
That's exactly it!
@ITR
@ITR 12 күн бұрын
Cool, I need to try this out.
@__wailer__1952
@__wailer__1952 14 күн бұрын
Hey, really nice video! Also a cool concept, gotta check that out when I get a chance!
@Metruzanca
@Metruzanca 12 күн бұрын
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 күн бұрын
I would love to see an AssemblyScript bot that does something more interesting than the current statue! :D
@superradmaker
@superradmaker 11 күн бұрын
Subbed man! this looks like an interesting project and ill be following along. Take care
@raddish4440
@raddish4440 12 күн бұрын
Kinda like a dungeon crawling screeps, cool!
@justjapanese394
@justjapanese394 14 күн бұрын
Keep it up! I'm curious
@QYUb
@QYUb 11 күн бұрын
exited for more!
@PythonIsGod
@PythonIsGod 11 күн бұрын
You are my hero.
@itsJDarts
@itsJDarts 12 күн бұрын
You are goin gto bring WASM to the masses
@Joker22593
@Joker22593 12 күн бұрын
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 күн бұрын
Awesome video!
@annybodykila
@annybodykila 12 күн бұрын
Very interesting, I subbed to see more
@CyborusYT
@CyborusYT 12 күн бұрын
this is super cool!! i wish i'd come up with this haha
@evanjrowley
@evanjrowley 11 күн бұрын
Very cool
@ganymede242
@ganymede242 9 күн бұрын
Looks interesting. I got hooked on Screeps for a while, but hate JS.
@kukisj2752
@kukisj2752 10 күн бұрын
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 күн бұрын
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!
@shaneliesegang
@shaneliesegang 11 күн бұрын
Please let me know if you do!
@jefesusmuel8392
@jefesusmuel8392 9 күн бұрын
i wonder where this could go. it's such a novel and interesting concept.
@mazrine7
@mazrine7 12 күн бұрын
This is very interesting omg
@neoplumes
@neoplumes 12 күн бұрын
SO excited
@SamualN
@SamualN 13 күн бұрын
Wasm is so cool!
@laurencevanleuken5592
@laurencevanleuken5592 12 күн бұрын
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 күн бұрын
Great video, amazing bro
@lucio9601
@lucio9601 13 күн бұрын
I'll play with WASM in a future, after getting some jobs done
@T0XICxBAC0N
@T0XICxBAC0N 14 күн бұрын
very interesting video! this is one of those youtube videos that get a million views eventually : ]
@juniorbatistadev
@juniorbatistadev 13 күн бұрын
100%
@shaneliesegang
@shaneliesegang 13 күн бұрын
Just 999,432 to go 😂
@anon_y_mousse
@anon_y_mousse 12 күн бұрын
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 күн бұрын
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 күн бұрын
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 21 сағат бұрын
@@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 күн бұрын
"has a true name" oh god chara
@wrathofainz
@wrathofainz 9 күн бұрын
Neat.
@MommysGoodPuppy
@MommysGoodPuppy 11 күн бұрын
now just add multiplayer and itll become dozens of peoples hobby to compete or work together with their bots
@shaneliesegang
@shaneliesegang 11 күн бұрын
In the todo list! :D
@c3cris2
@c3cris2 12 күн бұрын
Ugh you got me interested in wasm. I’ve been avoiding it for some time.
@shaneliesegang
@shaneliesegang 12 күн бұрын
Be not afraid!
@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 күн бұрын
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 күн бұрын
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 күн бұрын
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 22 сағат бұрын
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 күн бұрын
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 күн бұрын
@@shaneliesegang Oh, that makes me happy. Looking forward to improvements.
@shaneliesegang
@shaneliesegang 13 күн бұрын
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? 😳
@shaneliesegang
@shaneliesegang 22 сағат бұрын
I don't even know what that is!
@cbhv4321
@cbhv4321 13 күн бұрын
This is so fucking coollll
@FolkerHQ
@FolkerHQ 9 күн бұрын
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 күн бұрын
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. 🙈
How I Won The GMTK Game Jam
25:09
JimmyGameDev
Рет қаралды 489 М.
Debugging An Undebuggable App
18:25
Bryce Bostwick
Рет қаралды 144 М.
#behindthescenes @CrissaJackson
0:11
Happy Kelli
Рет қаралды 27 МЛН
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
Starting My Dream Game In Unity... With Almost No Experience 💀
23:11
Making an SNES Game the Way Nintendo Intended
25:30
Inkbox
Рет қаралды 379 М.
How Many Words Do You Need To Beat Scribblenauts?
37:58
Big Garf
Рет қаралды 2 МЛН
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Рет қаралды 1,2 МЛН
10 FORBIDDEN Sorting Algorithms
9:41
Ardens
Рет қаралды 975 М.
I tried Ninja Build Tool and it changed me...
1:22:16
Tsoding Daily
Рет қаралды 34 М.
Can You Beat Minecraft if the Whole World is Water?
16:07
EnderSkull
Рет қаралды 469 М.