Programming languages for web games

Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention   -  
Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention   -
Hello,

I would like to know which programming language to use to develop multiplayer web games that do not require the user to download an environment for it to work, like Java, Flash, etc. Just a web browser to run the game! I'm hesitating between HTML5/CSS3 + PHP/MySQL + JavaScript; I’ve heard that the combination of these programming languages allows for creating a multiplayer browser game without the player needing to download anything... Otherwise, is it possible to create multiplayer browser games with HTML5/CSS + C++ using WebGL?

4 answers

luckydu43 Posted messages 4497 Registration date   Status Member Last intervention   1 177
 
Good evening!

So.
Let's look together at the architecture of a WEB application!

In fact, you have the browser on your PC, and your friend’s browser playing with you, they are the CLIENTS.
On the other hand, you have the SERVER(S) (in plural, you'll understand) that will process the requests sent by the browsers (CLIENTS).

We are in a classic CLIENT/SERVER architecture, nothing new on the horizon.

Reminder

HTML5 is perfectly capable of creating buttons, displaying things on the screen... you could even do without Javascript, which is only there for client-side processing.
It’s primarily a layout of the page, but... enriched with functions.
However... to create a strong link between the client and the server, JS is more convenient.
Plus, at least if your friend is using Internet Explorer 11, it should still work well... not sure that IE11 is 100% HTML5 friendly...

CSS3 is used for styling. It only contains style sheets.

To summarize on the client side
CSS styles
HTML5 is the layout of your page
JS makes your page dynamic

SERVER SIDE:
PHP is there to perform processing. If you clicked on a certain button on your page, it will change certain things.
What you see on the screen is managed by JS.
For it to have a real impact, your server must also handle it. Hence PHP. And the lines of code that make it all work well
The database (MySQL) is used to store values.
What you do is in your session, only for you!
What the other person does is in their own session!
The best way to ensure security is to record values in the database for each action affecting the other’s session.
Even if it means doing some cleanup at the end of the session.

The database is on its server, a server... for databases
PHP is on its server, a server... for applications

So you have 2 servers for the price of one. Hence the plural.

C++? Perfect for a heavy client. For WEB... never seen it. I don’t even know if it’s done.
WebGL? A 3D drawing tool on the CLIENT side. Called by JS. All the more reason to follow the recommendations: it should be compatible with the HTML/CSS/JS/PHP stack

There you go

Have a good evening

Luc

Daily life can quickly get you addicted and make you lose in video games!
A people sacrificing its freedom for more security loses both.
1
jordane45 Posted messages 30426 Registration date   Status Moderator Last intervention   4 830
 
Good evening,

You forgot one possibility:
We keep the HTML/CSS ... but we replace PHP with Node.js.
Thus, both the client side AND the server side will be managed by JavaScript...
That's still one language less to learn ^^

--
Best regards,
Jordane
1
luckydu43 Posted messages 4497 Registration date   Status Member Last intervention   1 177
 
Yes, or Java EE as KX said
There are quite a few back-end languages, PHP is pretty good to have on hand: it's in demand right now in the dev world ;-) Not to mention the frameworks... of which NodeJS is part
I mainly code in Java EE, however, I prefer to "sell PHP" to him rather than my little shop considering the added value it can bring him ;-)
On such a heavy project, I wouldn't rely on the cost of learning ;-) He might find himself limited, where other languages could have unlocked it.
0
Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention   > luckydu43 Posted messages 4497 Registration date   Status Member Last intervention  
 
After my game remains simple, a character moves when you click on a tile in real time so that other players can see the character move, store items in an inventory, and be able to place them on the map and pick them up again, a registration/login system, and a chat. That's why I'm hesitating and wondering which language to learn because I've already seen similar games in ActionScript 3, but since Flash is doomed to disappear...

So if I do it in order, I need to learn this:

https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/5543061-ecrivez-du-javascript-pour-le-web?archived-source=1916641
https://openclassrooms.com/fr/courses/6390246-passez-au-full-stack-avec-node-js-express-et-mongodb?archived-source=1056721
0
Judge_DT Posted messages 27651 Registration date   Status Moderator Last intervention   10 013
 
Hi,

1st option.

C++, even with WebGL, unless you force the client to download something, I don't really see how it could integrate into the web and work... not to mention system compatibility, etc.

--
~ To know how to listen is to possess, besides one's own, the brains of others... Leonardo da Vinci said.
~ “The art of writing is above all to make oneself understood„ — Eugène Delacroix
0
Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention  
 
Thank you for your answers! So if I want to create a web multiplayer game, I should learn HTML5/CSS3, then PHP/MySQL, and finally JavaScript? I want to make a game where characters can move in a window via clicks and communicate with other characters in real-time. Is it difficult to code? I had thought about learning Flash or Java to make this kind of game, but since Google Chrome no longer integrates Java by default and many people are using Chrome, and Flash has announced that it will stop updates in 2022, I prefer to learn directly the programming languages I mentioned above. However, I wonder if it will be feasible to create this kind of game with these languages?
0
luckydu43 Posted messages 4497 Registration date   Status Member Last intervention   1 177
 
Yes, it's feasible.
In 2 months, including the language learning time? Impossible :-D
Make it a project, work on it... it's going to take you a year or 2, but other issues will quickly arise: website hosting, system security...
And I’m not even talking about, if you ever plan to make money from it, compliance with the GDPR :-D

But... you'll have time to absorb all that.

Just so you know, Java is still widely used... on the server side. And in IoT.
0
Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention   > luckydu43 Posted messages 4497 Registration date   Status Member Last intervention  
 
And if, for example, I learn a programming language like Java and create my game in Java as a thick client, would it take less time than learning 4 web programming languages? Considering I already have the graphics for the game?
0
KX Posted messages 19031 Status Moderator 3 020 > Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention  
 
Hello,

Java could be an alternative to PHP in the architecture described by luckydu43.

It is also possible to do heavy client applications in Java, but on the one hand, you will have the same drawbacks as C++/WebGL as explained by Judg_DT, and on the other hand, JavaFX styling is done in CSS, so in the end, you’ll definitely have to come to that...
0
Misanthropy69 Posted messages 5 Registration date   Status Member Last intervention   > KX Posted messages 19031 Status Moderator
 
Thank you for your response, and is ActionScript 3 still widely used, or is it a dead programming language?
0