DOS Cloud Gaming

A long time ago I started developing a JavaScript API for running DOS games in a browser. After so much effort, I am pleased to say that many sites with old toys have changed and are using my API. But, progress does not stand still and I started developing the next version of js-dos.



There are many goodies waiting for you:



  • Universal bundles (zip archives) that contain dosbox configuration. Now one line of code is enough to deploy the game on the site
  • Open bundle repository
  • Virtual buttons and joysticks for playing on mobile devices
  • The emulator backend is completely moved to the Worker
  • Independent, replaceable render. For example, you can render the game through Three.js
  • Support for multiple backends. Now it is only dosbox, but plans to support dosbox-x and much more.
  • web-rtc Janus backend for cloud play


Why do you need a cloud service for DOS games at all?



Technologies have made great strides forward, modern capacities are often enough to play almost all DOS games directly in the browser. However, the situation on mobile devices looks much worse. The power of many devices is still not enough to play popular games: DOOM, MK, Carmageddon. Some games (ex: C&C, Diablo) do not even work on PC. This is due to the fact that it is not yet possible to implement the recompiled emulator on WebAssembly.



It is in such situations that the cloud service should help. For example, a standard DHRY2 test run on a mobile device usually gives a score of about 20 points. Launched in the cloud - 240 points (enough to play any DOS game).







Testing



The service is now undergoing active testing, and you can try it in action. I really need test data from the CIS countries.



It's easy to help with testing. All you need to do is register, play DOOM on the link and describe your feelings. To start the game in the cloud service, you need to use the ">> Turbo" button.







I can tell you a lot of interesting things about the development of js-dos v7, I don't know what would be interesting to the community. I really look forward to feedback in the comments or Discord of the project.



Thank you.



All Articles