![Hands-On Game Development with WebAssembly](https://wfqqreader-1252317822.image.myqcloud.com/cover/571/36698571/b_36698571.jpg)
Compiling gameloop.html
Now that we have written our code, we can go ahead and compile our game loop app. Before you run this command, I want to reiterate that you need to have downloaded the project from GitHub (https://github.com/PacktPublishing/Hands-On-Game-Development-with-WebAssembly) because you will need the PNG files located in the /Chapter06-game-loop/sprites folder in order to build this project.
Once you have your folders set up properly, compile the app with the following command:
emcc game_loop.c -o gameloop.html --preload-file sprites -s NO_EXIT_RUNTIME=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS=["png"] -s EXTRA_EXPORTED_RUNTIME_METHODS="['cwrap', 'ccall']" -s USE_SDL=2
Serve the directory where you compiled it with a web server, or build and run it with emrun, and it should look like this when loaded into a web browser:
![](https://epubservercos.yuewen.com/1EACDC/19470378408806806/epubprivate/OEBPS/Images/13918915-c0b6-448b-b3be-996e683d26a9.png?sign=1738884695-m8BKWudTPc2W7IrRbVrSBPoKYWkBENhk-0-218b33069ea44752d7b0e3844dbacfb2)
After the app has compiled, you should be able to move the spaceship around the canvas using the arrow keys. Now that we have a basic game loop, in the next section, we will be adding some game objects to our app, making it more of a game.