Compile C/C++ raylib game Into WebAssembly

  Рет қаралды 20,303

Programming With Nick

Programming With Nick

Күн бұрын

Пікірлер: 59
@programmingwithnick
@programmingwithnick Жыл бұрын
If you are having trouble with make add this to yout PATH enviroment variable: C: aylib\w64devkit\bin to PATH PS: I'm creating an OOP course! Sign up at programmingwithnick.com/course for early access and a 50% launch discount.
@raylibtech
@raylibtech Жыл бұрын
Very nice tutorial! Thank you very much! 👍😄
@programmingwithnick
@programmingwithnick Жыл бұрын
Thank you Ray, for your awesome library and tools.
@TahirPalali
@TahirPalali Жыл бұрын
Another great tutorial. Thank you!
@R2Sam
@R2Sam Жыл бұрын
Never knew I needed this, great tutorial
@abls-kn6kj
@abls-kn6kj 12 күн бұрын
What a nice video budd. I had some problems, because I use raylib in Visual Studio.
@kubiz198
@kubiz198 9 ай бұрын
The tutorial was very easy to follow, thank you!
@bradmartin333
@bradmartin333 Жыл бұрын
Thank you for making this! Great tutorial. Only snag for me was that I needed to add C: aylib\w64devkit\bin to PATH.
@programmingwithnick
@programmingwithnick Жыл бұрын
Thanks for sharing! Good to know.
@bradmartin333
@bradmartin333 Жыл бұрын
If anyone ends up running into loading resources, append this to the build command: `--preload-file {resource dir respective to cwd}@{resource dir as written in raylib program}` example: `--preload-file src/resources/@resources/` can also specify specific files instead of a directory
@TheIllusivePanda
@TheIllusivePanda 7 ай бұрын
@@bradmartin333 Thank you, I just spent a while trying to figure this out & this worked!
@bethleemCode
@bethleemCode Жыл бұрын
That´s a great tutorial! Thx a lot! Now we need a raylib to android video just like this! 😀
@programmingwithnick
@programmingwithnick Жыл бұрын
Challenge accepted!
@rishikumartiwari7473
@rishikumartiwari7473 6 ай бұрын
@@programmingwithnick Hi Nick, Any update on raylib web assembly on Andriod?
@perelmanych
@perelmanych Жыл бұрын
Thank you very much for this great video! My game uses several libraries, so it looks like it will be that quest))
@akevan3556
@akevan3556 Жыл бұрын
make : The term 'make' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + make -e PLATFORM=PLATFORM_WEB -B + ~~~~ + CategoryInfo : ObjectNotFound: (make:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
@AnimeshTripathy-t7y
@AnimeshTripathy-t7y Жыл бұрын
try mingw32-make
@samg5183
@samg5183 10 ай бұрын
@@AnimeshTripathy-t7y me still i have that problem...
@THEDuWolf
@THEDuWolf 5 ай бұрын
@@AnimeshTripathy-t7y thanks man, that works
@wildlifeofgreece
@wildlifeofgreece 4 ай бұрын
You have to add this to yout PATH enviroment variable: C: aylib\w64devkit\bin
@panos21sonic
@panos21sonic Жыл бұрын
This video troubled me quite a bit: When running the makefile to compile raylib, i got the error: Make:emcc: No such file or directory exists To resolve this, I went to where CC and AR are defined in the makefile, and replaced emcc and emar with the respective locations to the bat files
@manuelgarciagarcia2501
@manuelgarciagarcia2501 Жыл бұрын
Thank you very much for a new video. :)
@samdavepollard
@samdavepollard Жыл бұрын
very nice subbed many thanks for sharing your knowledge
@Tims_Projects
@Tims_Projects Жыл бұрын
Thankyou Nick. Another grate video. 👍 May I ask which version of windows you have? If it is Windows 11 (I don't have), then I believe "Windows Terminal" is installed by default now. I have Windows 10. If you have Windows 10, then "Windows Terminal" needs to be downloaded from Windows Store (free). To get it to appear in the Right-Click Menu, you have to alter the registry. There are scripts which you can download to alter the registry. (after installing "Windows Terminal") I thought I would mention it, just in case there are others with Windows 10, that don't know why they don't see it when they right-click. Your video prompted me to get around to installing it myself, ha-ha.
@programmingwithnick
@programmingwithnick Жыл бұрын
Tim, I have windows 11. In windows 10 you need to hold shift+right click
@Tims_Projects
@Tims_Projects Жыл бұрын
@@programmingwithnick Oh, ha-ha, I cant check that now, I have done all the above😆
@jasonmoon2650
@jasonmoon2650 9 ай бұрын
How to solve error regarding 'make' command? make: command not found
@wildlifeofgreece
@wildlifeofgreece 4 ай бұрын
You have to add this to yout PATH enviroment variable: C: aylib\w64devkit\bin
@PrithviShrestha-f6g
@PrithviShrestha-f6g 11 ай бұрын
when i did open with terminal and the install latest it did not worked and gave me errors
@j0of
@j0of Жыл бұрын
i use visual studio and vcpkg to link raylib to my project. is there any way i can do this?
@distant6606
@distant6606 2 ай бұрын
E re file pos katalabaineis ellina apo xiliometra mono apo profora 😄Xairetismata niko thnx for the tutorial 😉
@LotsOfFunyoutubechannel
@LotsOfFunyoutubechannel 6 ай бұрын
Hello, The game is working nicely but the game out of the two game sounds ony one of them is working, the other sound does not work. Why is it so?
@abiiranathan
@abiiranathan Жыл бұрын
You are a God!
@foofoo17
@foofoo17 Жыл бұрын
Does the audio files still work for you guys after the game becomes a web app?
@krzyszt0fus
@krzyszt0fus 10 ай бұрын
This content is great!
@FriedMonkey362
@FriedMonkey362 4 ай бұрын
hello, i used your tutorial and so i use visual studio and vcpkg to include raylib (#include ) this means the raylib source isnt really availiby and modifying the build in the vcpkg directory would mess up all of my projects how can i build my raylib game to web using visual studio and vcpkg? so i can just do smth like #include //#include and then in the visual studio terminal just call web-build.bat or some batch file which will call the emscipten compiler and do all that is there a way to achive this? if so i would greatly aprechiate if you were to make a tutorial on this, kind regards
@jakubhlavaty3414
@jakubhlavaty3414 27 күн бұрын
I was following your space invaders course. I tried to compile it to web, but I got this error: wasm-ld: error: C:\Users\----\AppData\Local\Temp\emscripten_temp_1b0xi9la\main_0.o: undefined symbol: Game::Game(). Do you know how could I fix it? Thank you
@hoangpham9613
@hoangpham9613 16 күн бұрын
Did you figure it out? I had the same error and been fixing its for days.
@jakubhlavaty3414
@jakubhlavaty3414 16 күн бұрын
@@hoangpham9613 I did. It was honestly pretty difficult to figure it out. This error message means, that the game.cpp file wasn't mentioned in the compile message. So for me the correct cmd was: emcc -o game-jam/game-jam.html src/player.cpp src/main.cpp src/laser.cpp src/game.cpp src/enemy_wave.cpp src/asteroid.cpp -Wall -std=c++14 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result -Os -I. -I C:/raylib/raylib/src -I C:/raylib/raylib/src/external -L. -L C:/raylib/raylib/src -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 --preload-file Graphics --preload-file Sounds --preload-file Font --shell-file C:/raylib/raylib/src/shell.html C:/raylib/raylib/src/web/libraylib.a -DPLATFORM_WEB -s 'EXPORTED_FUNCTIONS=["_free","_malloc","_main"]'-s EXPORTED_RUNTIME_METHODS=ccall -s FULL_ES2=1 I have the raylib source paths there, at the beginning I am typing the relative path of every .cpp file I am using. I recommend just throwing the message into chatGPT and it will explain it better than I ever could XD
@aedanwan3620
@aedanwan3620 5 ай бұрын
How would this work on Linux?
@shadowelite-sec
@shadowelite-sec 4 ай бұрын
Which distro ?
@ValveDevGames
@ValveDevGames 2 ай бұрын
@@shadowelite-sec ubuntu?
@c.ashcraft9607
@c.ashcraft9607 Жыл бұрын
Mine isnt Installing the python tool.
@frankstercodestuff
@frankstercodestuff Жыл бұрын
Is there a way to turn this into an exe or no?
@federicosalvetti4286
@federicosalvetti4286 9 ай бұрын
Hi Nick, this was incredibly useful. However, I am having troubles with the --preload-file command. I am including the correcth path of my resources, double checked inside the project and in the folders, but when playing the game in the localhost i get the error messages that it cannot upload the resources. Currently checking various sources, if you have any idea on the process to debug such things it would be greatly appreciated! Keep up the good work,, I'm learning so much from your videos!!
@federicosalvetti4286
@federicosalvetti4286 9 ай бұрын
I did the same with another project and it fails to load that as well, I also tried to embed with the specific command from the documentation but when in localhost 8000 won't load the resources files.
@titan8788
@titan8788 7 ай бұрын
im having the same problem, it says "graphics does not exist" when compiling into wasm
@foofoo17
@foofoo17 Жыл бұрын
Thanks Ray, how on earth did you figure this out??
@ihsankurniawan3591
@ihsankurniawan3591 Жыл бұрын
is there any docker image that does this? great video btw
@PurpleKnightmare
@PurpleKnightmare 2 ай бұрын
They switched from master to main, really messes things up.
@Kapendev
@Kapendev Жыл бұрын
👍👍👍
@akshithabajjuri1163
@akshithabajjuri1163 8 ай бұрын
I am getting this error when I ran the snake code emcc: error: '--shell-file': file not found: 'C:/raylib/raylib/src/shell.html' Someone please tell how can I solve this.
@TiTan-gr3pv
@TiTan-gr3pv 26 күн бұрын
check where exactly you installed the raylib files , since that error can occur if you extracted the zip in a different location than whats shown
@sarthaknawaria
@sarthaknawaria 9 ай бұрын
hi i am getting multiple erorrs at this command : ./emsdk activate latest --permanent . errors are Failed to read environment variable EMSDK: 'EMSDK' EMSDK = C:/emsdk Failed to read environment variable EMSDK_NODE: 'EMSDK_NODE' EMSDK_NODE = C:\emsdk ode\16.20.0_64bit\bin ode.exe Failed to read environment variable EMSDK_PYTHON: 'EMSDK_PYTHON' EMSDK_PYTHON = C:\emsdk\python\3.9.2-nuget_64bit\python.exe Failed to read environment variable JAVA_HOME: 'JAVA_HOME' any solution to these ?
@LotsOfFunyoutubechannel
@LotsOfFunyoutubechannel 6 ай бұрын
I thinkt the path doesnot include the node.exe only upto \bin, same for python
@akimpus
@akimpus Жыл бұрын
i get an error after entering the command: emcc -o snake_c.html main.c -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result -Os -I. -I D:/libs/raylib-4.5.0/src -I D:/libs/raylib-4.5.0/src/external -L. -L D:/libs/raylib-4.5.0/src -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 --shell-file D:/libs/raylib-4.5.0/src/shell.html D:/libs/raylib-4.5.0/src/web/libraylib.a -DPLATFORM_WEB -s 'EXPORTED_FUNCTIONS=["_free","_malloc","_main"]'-s EXPORTED_RUNTIME_METHODS=ccall error is: emcc: error: 'EXPORTED_FUNCTIONS=[_free,_malloc,_main]'-s: No such file or directory ("'EXPORTED_FUNCTIONS=[_free,_malloc,_main]'-s" was expected to be an input file, based on the commandline arguments provided) How to fix it? Can someone help please?
@akimpus
@akimpus Жыл бұрын
And so, it worked for me only with this command: emcc -o snake_c.html main.c -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result -Os -I. -I D:/libs/raylib-4.5.0/src -I D:/libs/raylib-4.5.0/src/external -L. -L D:/libs/raylib-4.5.0/src -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 -shell-file D:/libs/raylib-4.5.0/src/shell.html D:/libs/raylib-4.5.0/src/web/libraylib.a -DPLATFORM_WEB -s EXPORTED_RUNTIME_METHODS=ccall
@mfalk6263
@mfalk6263 Жыл бұрын
I had the same issue... Turning: 'EXPORTED_FUNCTIONS=["_free","_malloc","_main"]' into: EXPORTED_FUNCTIONS=["_free","_malloc","_main"] removing the ' on both sides made things work for me.
@luispieri640
@luispieri640 Жыл бұрын
Great video and tutorial! Thanks!
Conway's Game of Life tutorial in C++ & raylib - OOP
1:11:06
Programming With Nick
Рет қаралды 14 М.
CMake Tutorial EP 2 | Libraries and Subdirectories
17:29
Code, Tech, and Tutorials
Рет қаралды 118 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 14 МЛН
One day.. 🙌
00:33
Celine Dept
Рет қаралды 76 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,1 МЛН
How a Microcontroller starts
28:49
Artful Bytes
Рет қаралды 56 М.
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 349 М.
Where is Rust being used?
11:46
Let's Get Rusty
Рет қаралды 133 М.
Make C++ Apps & Games FOR THE WEB
15:30
The Cherno
Рет қаралды 58 М.
Is C BETTER than C++ for beginners? // Code Review
31:16
The Cherno
Рет қаралды 78 М.
Why Are Open Source Alternatives So Bad?
13:06
Eric Murphy
Рет қаралды 707 М.
RayLib 5 Released - The Easiest C/C++ Game Library Just Got Even Better
10:42
Every Programming Language Ever Explained in 15 Minutes
15:29
Flash Bytes
Рет қаралды 359 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 14 МЛН