Javascript games on steam

Купить Pix Arts Productivity

HTML5 Javascript Game Engine provides a complete set of functions making writing games simple and rewarding !

It is a great tool to start with for learning game programming.

HTML5 Javascript Game Engine provides user a simple function library with everything you need to build top-class 2D games. Based on Pixi.js, the commercial-grade HTML5 Web GL Renderer, the best around for 2D Graphics, it takes the best of the accelerated graphics card of any device.

You have now possibility to import your own graphic ans sound assets and use them within the application

EXPORT PROJECT AS STANDARD HTML5 APPLICATION — PUBLISH EVERYWHERE

You can now export a build of your projects along their source files as standard HTML5 Applications that can be run in any browsers. You may then build the exported projects as ios/android applications with the free ADOBE PHONEGAP (TM) cloud service. You can also publish on all majors platforms (ios/android/mac oxs/ windows 10) as standolone applications using the open source CORDOVA framework. Built applications are all yours and you are free to publish them on any store with no restrictions. If you do, we would like to learn about it!

Читайте также:  Таблицы

HTML5 ENGINE IS SUPER FAST

HTML5 projects run at incredible speed thanks to the underlying WEB GL Rendering Engine that takes the best of any graphic coprocessor, especially once exported thanks to its tiny and highly optimized runtime engine.

Built in framework is a physic engine, PhysicsJS, that provides all behaviours and physical rules allowing to build real-like physical worlds for all sorts of games like, say, the well known nasty birds games .

TUTORIALS TO GET YOU STARTED

To help you understand the framework and let you start codind as fast as possible, HTML5 Javascript Game Engine includes a full set of tutorials covering the most important aspects of 2D game programming

HTML5 Javascript Game Engine includes many graphical/sound/physic functions all described with use case examples in an API Reference

LARGE ASSETS LIBRARY INCLUDED

So you can start coding games immediately, a vast assets library made of graphics/sprites, musics and sound fx is included and ready to use

CODING IS FUN ! GET STARTED NOW !

Источник

How to bring an HTML5 game to Steam

It is our short story on making Drawize available on Steam. We hope it will help other developers who might be trying to do the same with theirs HTML5 games

Drawize became quite popular in the five years of its existence; over 4 million people made more than 50 million drawings through our game. We are proud of that and decided to make something big to celebrate. We decided to put Drawize on Steam!

If you would like to give it a try, you can get it for $6.99 on Steam here

Why was it challenging?

Drawize is an HTML5 browser game, and in its five years of existence, it has grown massive. There are many features and quite a lot of code; rewriting it as a native application would require a lot of work, introducing new bugs, and requiring a lot more time to test and fix them all.

On the other hand, there is no official Steam support for HTML5 applications, and we wanted to have propper Steam integration, including Steam overlay, achievements, and matchmaking. We have found Greenworks library, a Node.js addon that brings Steamworks API to javascript. It is good, but quite old and with some caveats.

What libraries did we use?

We experimented with various versions and found this combination working fine, including Steam Overlay on most systems.

  • Electron v16.0.2
  • Greenworks v16.0.0-alpha.1 (Electron prebuilt node modules are available here: Greenworks prebuilt libs)
  • Steamworks 1.5

NOTE: we released only for Windows 64 bit systems as this covers more than 95% of all Steam players (Steam usage stats). We may consider releasing to more systems in the future, but we decided to focus on the most used one in the beginning since there are already challenges to make it work as smoothly as possible.

Game architecture

  • Create a new electron app.
  • Copy all the code to the project root.
  • Make main.js create new Browser Windows and load our root HTML file into it.

In reality, it was a little more complex than that; we had to correct some paths change how some files are loaded and how external windows like Facebook login or file downloads are handled. But all that was not anything to worry about.

Steam integration

We have seen some examples calling Greenworks code directly from the web app, but that is not working fine in a newer version of Electron. We used another approach; all Greenworks code lives in the main Node.js process, and all Steam integration is done there.

Since we need to call some of that code in response to frontend action, we used Electrons IPC to send messages back and forth between the web app and Node backend. For example, when the user wants to invite his friends into the game, we send a message to the Node app, which then invokes Steam’s Invite dialog.

Use —in-process-gpu flag for Chromium

After some experimenting, we found out using this flag will increase the number of players who will actually see the overlay.

Integration problems

Steam Overlay

The main issue is around Steam Overlay — it is part of the Steam interface rendered over the main game window, and it is the primary source of the app crashing randomly.

We noticed overlay is not rendered on some systems, and it is a problem for us: if there is no overlay, some game functionalities look broken. The biggest problem was with the friend invites, the player clicks the invite button, and nothing happens.

After quite some time, we figured out how to force Overlay to show, add —ignore-gpu-blacklist to chromium launch command. However, later we found out some GUP-s were not blocked for no reason 🙁 Steam overlay renders on all systems with that flag on, but the game crashes randomly. So, it was time to ditch that option..

In the end, we have to accept the fact that Steam overlay will not render for all users. Our workaround for that was to reimplement some of the features of that overlay in our UI. We did that for friend invites; when the user clicks the invite button, we listen for an overlay-shown event, and if it is not fired in a reasonable time, we consider the overlay is broken. Then, we use other API functions to get the user’s friend list, show that list in our interface together with invite buttons, and invite users again through the Greenworks friends API.

Overlay rendering glitching

It is a known issue described in Greenworks docs — if you don’t repaint the screen constantly while the overlay is visible, it will not render correctly. So, we added two small HTML5 canvases in the top-left and bottom-right corner of the screen, and we repaint them with transparent color on each requestAnimationFrame. (this is CPU intensive, so we do that only when we expect overlay is visible)

Fetching player’s avatar

When fetching the avatar using Greenworks API, we always receive just an empty image. Our workaround was to call our backend and fetch the avatars using Steam Publisher Web API.

Conclusion

It was not easy to make it work, we had to invest a lot of time to make it playable, but as it is evident from the article, it is far from perfect. We hope better integration support for HTML5 games will emerge in the future, but we want to thank a lot Greenheart games for making the Greenworks library — without it, we would not be able to release the game on Steam.

We wish a lot of luck to other developers who might take an approach similar to ours. And, if you find a better solution, please do share your story 🙂

Источник

How To Upload JavaScript Games To Steam

So I’ve been making this game called The Necromancer and (quick note, I am still working on the game. Also, I know this sounds similar to this question, but my question is for the general process) I wanted to publish on the Steam Store. However, I don’t know what the process is, as in what you do to get your game posted on Steam. Also, how would I get a few files, and somehow put it in a virtual package that I can give to Steam. I just feel rather confused on the subject. Thank you for your time

\$\begingroup\$ If you are no studio, you have to pass trough greenlight. Don’t even waste your time to contact Valve. Read their site to know more about. \$\endgroup\$

\$\begingroup\$ fyi nothing is visible when I go to your game’s link. There’s a loading animation for a few seconds, and then a blank page. \$\endgroup\$

\$\begingroup\$ @jhocking Checking the code, it appears that that’s all that’s been published as of the moment. In fact, 3 seconds is the hard-coded timeout for the content to be loaded, presumably because the content to load isn’t large enough yet to test the loading script. \$\endgroup\$

2 Answers 2

Steam only deals with downloadable games, not browser games, so you’ll need to package your game using something like nw.js or Electron. Also you might want this library for integrating with Steamworks.

(note that the question you linked is about Java, not JavaScript, so the technical details are very different. if only I had a nickel for every person who thinks Java and JavaScript are in any way related. )

\$\begingroup\$ Thanks! And I know the difference, some people don’t and I didn’t want to get flagged since they thought it was the same thing \$\endgroup\$

\$\begingroup\$ Also, do you have any JavaScript packagers for Chrome OS? I have a windows laptop but just wondering. \$\endgroup\$

The current (2/21/2017), general process as described on the Greenlight FAQ:

Who should submit their games to Steam Greenlight? Is there another way to submit my game to Steam?

Steam Greenlight has replaced our previous submission process. Any developer or publisher who is new to Steam and interested in submitting their game to the platform should submit their game through Steam Greenlight.

However, Valve is planning on changing the Greenlight in the near future to Steam Direct:

A better path for digital distribution

The next step in these improvements is to establish a new direct sign-up system for developers to put their games on Steam. This new path, which we’re calling “Steam Direct,” is targeted for Spring 2017 and will replace Steam Greenlight. We will ask new developers to complete a set of digital paperwork, personal or company verification, and tax documents similar to the process of applying for a bank account. Once set up, developers will pay a recoupable application fee for each new title they wish to distribute, which is intended to decrease the noise in the submission pipeline.

As pointed out in by @jhocking’s answer, a JavaScript game has some additional technical complications that you’ll need to deal with.

Источник

Оцените статью