Game development with Electron


#1

Hi! I have some background in static web development and VBA programming, but thanks to Electron’s gentle learning curve I quickly found myself in early development of a desktop strategy game. I’m using ThreeJS for 3D graphics (crazy what can be done in a browser nowdays!) and tested Dexie as a database, in case arrays/JSON are not enough. My goal in the distant future would be to sell an indie game.

My questions are following:

  • Since Electron apps can be published as executable/installer, is there in theory anything to prevent publishing in Steam?

  • Would the game propably work at Windows, Mac and Linux as it is? (not taking installers into account)

  • Is there anything I should take into consideration early in the development? (I suppose at least licenses of all components/libraries should allow commercial use)

I already have a small company of my own so using commercial components for the project isn’t a problem. I’m in the process of learning Blender, so I can create and import whatever 3D objects I need with ThreeJS. I have also found ways to outsource professional voice acting and music with very acceptable costs, so I can focus on the game itself.

Any insights, tips and warnings are most appreciated, thanks!

Attached early screenshot of a solar system view, just to create ambience :slight_smile:


#2

I don’t know about what requirements over and above “having an installer” Steam has. But if that’s all they require then … sure?

That depends on a lot of factors. While Electron does a lot to make cross-platform development easier, there are some things that you just can’t get around: file systems being different, symlinks not existing in the same way on Windows, text file line endings, keyboard handling differences on non-US English keyboards, etc. So this question is impossible to answer fully without testing it.

  1. If cross-platform is a goal, figure out a way to run it on a representative of all three OS, preferably not using a VM
  2. Do you want to offer translations into other languages? You should build in a system to do that up front
  3. Accessibility - at a bare minimum, games should consider color blindness (don’t use color only to differentiate between game pieces … see below) and the deaf (don’t use audio only as a feedback mechanism) as part of their design
  4. Multiplayer - Is this going to be single-player? Local-only multiplayer? Network multiplayer? (If considering network multiplayer, it is useful to be familiar with Raph Koster’s Laws of Online World Game Design.)

A good example of not using only color to differentiate things in the game, many “match three” games use play piece shape or markings as well as color to differentiate between play pieces:

I hope that helps!


#3

Excellent points, thank you!

Luckily the majority of Steam players (95%) uses Windows, so focusing on that platform is an easy choice.

Though I have done some commercial work with accessibility in mind, I have to admit it’s something I completely forgot in this project. Something as simple as friendly and hostile planets (green and red) becomes a challenge, since deuteranopia alone is very common at around 6% of population.

I agree language support should be taken into consideration a bit earlier than I originally thought. Perhaps audio can stay english, if subtitles and UI are translatable. At quick glance, LocalePlanet seems to be something I need to look into.

The problem with translations is that I need to trust someone else on what something says. After english (45%), most common languages in Steam are russian (16%) and simplified chinese (8%), and of those I’m only fluent in english. Cyrillic and chinese characters are of course cause for some extra pain :slight_smile:

When it comes to multiplayer, I bookmarked your great link of Online world game design, but my game will most likely be turn-based single player only. I simply do not yet have enough skills to construct a secure online system. Multiplayer would also require much more upkeep in terms of effort and money, too much for a one man project.


#4

Hello @Merre. Would love to hear how work is progressing on your game.

I can report that I had no bug reports or compatibility problems from my game via Steam. Its only very small, about 14K installs so far.