C
C
crows2014-04-11 23:25:38
Browsers
crows, 2014-04-11 23:25:38

What technologies are available for developing browser-based online games?

What technologies are best used to develop browser-based online games like Travian and Gripolis?

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Alexey Pavlov, 2014-07-16
@lexxpavlov

As @Eugene22 rightly said , choosing a language is based on two factors - 1) existing experience in some language and 2) what you want to learn for the future. If the first point is bad, then it remains to choose a language and start learning it.
Browser games consist of three components:
1) the client part - there are practically no options here - javascript.
2) server part - there are many options. Of the main two options - php or Node.js (this is server-side javascript). Both options are worth considering, each has its own advantages and disadvantages. You can also consider Python and Ruby. Do not discount Java and .Net languages ​​(here c# and asp.net). Well, exotic - Erlang or Go (after all, I attributed go to exotic, because it is a developing language, but it is actively gaining points).
3) Database - for storing game data. Here, too, there is something to think about - take the usual familiar along and across the investigated MySQL, or think about more powerful databases like Postgres, or take the trendy MongoDb and its nosql brothers.
Choose what you need and go ahead. But my most important advice - do not take on something "like Travian and Gripolis" as the first project. Such projects are made for years by professional experienced programmers. Make something much simpler - like tanks, bombermen, helicopters, races - where there is only one main game mechanic. During the development of this project, you will gain invaluable experience, without which you will not even be able to assess the complexity of the projects that you mentioned in the question.
UPD. In your answer, you are asking to add arguments in favor of some server-side languages. I will add about them.
Let's look at php first. It's a fairly easy language to start scripting, and you can write something that works very quickly. But this is a language that, behind external simplicity, hides great flexibility and rather complex moments. Therefore, its professional use requires its deep knowledge, otherwise the resulting code will be 1) slow, 2) full of holes (errors and vulnerabilities) and 3) difficult to maintain (hard to add new features). But it's very easy to start using it.
Node.js. It is a server platform that has javascript as its programming language. It is in some tasks much faster than php, but in some it can be comparable in speed. Its advantage that the same language is used as for the client side is less learning. Its difficulty lies in the fact that it is rather complicated for a server language, it is more difficult to write good code than in php. Plus, its main paradigms - prototypal inheritance and asynchronous code - are quite difficult to understand. It may be good advice to learn to write not ordinary javascript, but its variation of CoffeeScript, but many will disagree, there is no consensus.
Python. This is a very powerful language that allows you to write programs not only for the web (actually, the game server), but it is used in a lot of places. It has a very simple syntax (different from many other c-like languages, by the way), but is very flexible and fast, and has the richest library of ready-made code (in principle, php and node.js also have this advantage). The disadvantage is that a much smaller number of programmers know it, and it may be more difficult to get advice on questions that have arisen (and there will be questions - and in any language). All in all, Python is a great choice to start learning about server programming.
rubycan give a very fast start and fast development. But even fewer programmers know it than Python. As for the execution speed, it seems to be slower than python (here I'm not sure, I don't want to cheat - I have no experience in ruby). Its syntax is quite peculiar. But if you master it well, you will never be left without a highly paid job.
Java and C# are very powerful general purpose languages ​​and will provide a very strong platform for any application, including a server. But they are complex, learning them and writing well in them is much more difficult than the previous languages ​​considered.
Go is a new emerging language, you might want to consider learning it. But there is still little ready-made code on it, few materials, a small community.
Erlangis a functional language with a very unusual architecture (in terms of all previous languages), and a very unusual syntax. It is difficult to study it, but it gives amazing results - in some tasks. I will not advise him.

E
Eugene Obrezkov, 2014-04-11
@ghaiklor

Brains :)

E
Eugene, 2014-04-13
@Eugene22

what technologies you know more, then you use - html5, webgl, php, flash, etc.

C
crows, 2014-04-13
@crows

Shopopalo. I was more interested in the following answer: PHP as the main server-side language, because... Node.js as the language for online actions of the players, because... Etc.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question