Compile C/C++ raylib game Into WebAssembly

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024

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

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

    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 ปีที่แล้ว +67

    Very nice tutorial! Thank you very much! 👍😄

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

    Never knew I needed this, great tutorial

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

    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  ปีที่แล้ว +1

      Thanks for sharing! Good to know.

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

      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 4 หลายเดือนก่อน

      @@bradmartin333 Thank you, I just spent a while trying to figure this out & this worked!

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

    That´s a great tutorial! Thx a lot!
    Now we need a raylib to android video just like this! 😀

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

      Challenge accepted!

    • @rishikumartiwari7473
      @rishikumartiwari7473 4 หลายเดือนก่อน

      @@programmingwithnick Hi Nick,
      Any update on raylib web assembly on Andriod?

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

    Another great tutorial. Thank you!

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

    Thank you very much for this great video! My game uses several libraries, so it looks like it will be that quest))

  • @kubiz198
    @kubiz198 6 หลายเดือนก่อน

    The tutorial was very easy to follow, thank you!

  • @distant6606
    @distant6606 7 วันที่ผ่านมา

    E re file pos katalabaineis ellina apo xiliometra mono apo profora 😄Xairetismata niko thnx for the tutorial 😉

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

    very nice
    subbed
    many thanks for sharing your knowledge

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

    Thank you very much for a new video. :)

  • @panos21sonic
    @panos21sonic 10 หลายเดือนก่อน +1

    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

  • @akevan3556
    @akevan3556 10 หลายเดือนก่อน +3

    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 9 หลายเดือนก่อน +1

      try mingw32-make

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

      @@AnimeshTripathy-t7y me still i have that problem...

    • @THEDuWolf
      @THEDuWolf 2 หลายเดือนก่อน

      @@AnimeshTripathy-t7y thanks man, that works

    • @wildlifeofgreece
      @wildlifeofgreece 2 หลายเดือนก่อน

      You have to add this to yout PATH enviroment variable: C:
      aylib\w64devkit\bin

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

    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  ปีที่แล้ว +2

      Tim, I have windows 11. In windows 10 you need to hold shift+right click

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

      @@programmingwithnick Oh, ha-ha, I cant check that now, I have done all the above😆

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

    You are a God!

  • @jasonmoon2650
    @jasonmoon2650 6 หลายเดือนก่อน +1

    How to solve error regarding 'make' command?
    make: command not found

    • @wildlifeofgreece
      @wildlifeofgreece 2 หลายเดือนก่อน

      You have to add this to yout PATH enviroment variable: C:
      aylib\w64devkit\bin

  • @FriedMonkey362
    @FriedMonkey362 2 หลายเดือนก่อน

    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

  • @LotsOfFunyoutubechannel
    @LotsOfFunyoutubechannel 4 หลายเดือนก่อน

    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?

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

    i use visual studio and vcpkg to link raylib to my project. is there any way i can do this?

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

    Thanks Ray, how on earth did you figure this out??

  • @federicosalvetti4286
    @federicosalvetti4286 6 หลายเดือนก่อน

    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 6 หลายเดือนก่อน

      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 4 หลายเดือนก่อน

      im having the same problem, it says "graphics does not exist" when compiling into wasm

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

    👍👍👍

  • @PrithviShrestha-f6g
    @PrithviShrestha-f6g 8 หลายเดือนก่อน

    when i did open with terminal and the install latest it did not worked and gave me errors

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

    Does the audio files still work for you guys after the game becomes a web app?

  • @aedanwan3620
    @aedanwan3620 2 หลายเดือนก่อน +1

    How would this work on Linux?

  • @frankstercodestuff
    @frankstercodestuff 10 หลายเดือนก่อน

    Is there a way to turn this into an exe or no?

  • @c.ashcraft9607
    @c.ashcraft9607 10 หลายเดือนก่อน

    Mine isnt Installing the python tool.

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

    is there any docker image that does this?
    great video btw

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

    This content is great!

  • @akshithabajjuri1163
    @akshithabajjuri1163 6 หลายเดือนก่อน

    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.

  • @sarthaknawaria
    @sarthaknawaria 6 หลายเดือนก่อน

    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 4 หลายเดือนก่อน

      I thinkt the path doesnot include the node.exe only upto \bin, same for python

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

    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 ปีที่แล้ว +4

      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!