Browser games are games that use a browser-based interface, do not require installation and run on computers of varying capacities.
Browser games are very popular and many users prefer them. Even though browser games do not offer the stunning graphics of games on PCs or consoles. These games are addictive in their performance and accessibility to the user.
It should be noted that they also come in large amounts, but the gameplay for the gamer gives small “doses”, so that they quickly do not get bored. The monetization in them is just as good, but the creation process is both faster and easier than that of full-fledged computer games.
Browser game types
Browser games are also divided into different types. The classification can be made according to different criteria, but we will look at the key one: the number of users in the game. According to this criterion, there are single-player, multiplayer and mass-multiplayer browser games. We will describe each of them in a little more detail.
Single-player browser games
A distinctive feature of these games is their simplicity and their ability to be quickly mastered. Most games of this type are casual games that have bright but simple graphics and a limited amount of text.
Previously, most of these games were developed using Adobe Flash, but newer, more modern technologies from the HTML5 group have recently emerged.
Multiplayer browser games
These browser games include all sorts of board games like chess and card games. The main feature is the ability to play multiple players at once: two or more. Communication between users is made through the game server. In addition, the game may or may not require all players involved in the game to be present at the same time to start the game.
Massively multiplayer browser games
Games of this type are characterised by hundreds or even hundreds of thousands of players who can interact with each other within the game. As a rule, the interface of these games is designed with minimal interactivity, which is provided by means of JavaScript. Such games often consist of HTML pages with text and pictures.
Previously, massively multiplayer browser games used Flash, but a number of disadvantages (slow loading, the installation requirements of additional plug-ins, overlapping the standard browser features, etc.) have redirected the developers of this type of games on the new game engine Unity 3D. This has not only increased the download speed, but also the quality of the games. Today you can see more and more browser games designed for a large flow of users on this engine. Prime examples of such games are three-dimensional PlaneWars and Battlestar Galactica Online.
The most numerous genre of games in this class are role-playing games, as well as strategy and economic games. In addition, this category of games includes virtual pet sites.
Programming languages used
Browser games have three components:
- The client-side – there are virtually no options here – JavaScript. It is used to store character and variable data, and to process images using Canvas technology.
- The server part – there are a lot of options. The most common and easy to use are php or Node.js (that’s server-side JavaScript). Both are worth considering, each has its own advantages and disadvantages.
- Database – for storing game data. Here, too, there is something to think about – take the usual familiar up and down explored MySQL, or think about more powerful databases such as Postgres, or take the fancy MongoDb and his nosql-brothers.
When creating a game a developer faces the question of which server language to choose. Let’s focus on each of the existing options.
- php. A relatively simple language that will allow you to quickly write a working script for a future game. It can be described as very flexible, although it does have its tricky points. It requires a deep knowledge of this programming language in order to minimise slow performance, code holes and difficulties in support. But it is very easy to get started.
- Node.js. It is a server-side platform with JavaScript as the programming language. It is much faster in some tasks than php, but can be comparable in speed. Its advantage is that it uses the same language as the client side – less learning. Its difficulty is that for a server-side language it’s quite complex, it’s harder to write good code than in php. Plus, its basic paradigms – prototype inheritance and asynchronous code – are quite difficult to understand. Learning to write CoffeeScript rather than regular javascript might be good advice, but many would disagree, there is no consensus here.
- Python. It’s a very powerful language which allows you to write programs not only for the web, but for many other things as well. With an extremely simple syntax (unlike many c-like languages), python is very flexible and fast, and has a very rich library of ready-made code. The disadvantage is that far fewer programmers are proficient with it, and it can be harder to get advice on questions that arise (and there will be questions – and in any language).
- Ruby can give a very quick start and fast development. But even fewer programmers know it than Python. Its syntax is rather peculiar. But if you get a good grasp of it, a high-paying job is assured.
- Java and C# are two extremely strong general-purpose languages and will help to create a very strong platform for any application, including a server. But they are complex, compared to the languages discussed above.
- Go is a new emerging language and could be considered for learning. But it has little ready-made code, few materials and a small community.
- Erlang is a functional language with a very unusual architecture (from the point of view of all the previous languages), and a very unusual syntax. It is difficult to learn, but it gives amazing results – in some tasks.
Not so long ago, Flash games were very popular. To implement this technology used the ActionScript language. Currently, it is outdated. Many sites have abandoned support for this technology. Therefore, there is no need to learn the mentioned language, because it has completely lost its relevance.
Taking stock
You don’t need to go overboard in learning languages. Start with one, and once you have learned it, move on to the next. The more you learn, the easier the other languages will be due to experience and general learning principles.