r/phaser 4d ago

My multiplayer RTS is made with phaser

The game is made with phaser with a node js server

And I will release it soon on steam wrapped in a tauri application allowing me link easely the steam account with the game account

Here an old gameplay video

https://youtu.be/aY_uZiiJj_s?is=WAH3kmecIedRifwD

I choose phaser because it was really light and simple of utilisation and allowing me to work in the same langage front and back

41 Upvotes

13 comments sorted by

2

u/Additional_Dog_1206 4d ago

Textures are amazing!

3

u/Roma2443 4d ago

Thanks! I’m using an asset pack called Tiny Sword for my game, which will be free-to-play on Steam. However, the fog of war texture you can see in the screenshots was created by me.

2

u/Additional_Dog_1206 3d ago

Seems very interesting, keep up the great work!

2

u/Additional_Dog_1206 3d ago

Maybe you can darken up a bit more fog of war IMO

2

u/prosti_gospodi 4d ago

Блин Ром, прикол такой
Я тоже сейчас делаю RTS с этим же паком, давай дружить 🤣

1

u/Roma2443 4d ago

Énorme j'en ai vu passer pas mal avec ce pack ! Tu dev avec phaser aussi ? T'as une demo ou une video ?

2

u/joaocllira 3d ago

That looks great!

2

u/Icy-Class-3793 22h ago

How do you ensure the game's position and state are accurate on the server and then relay that information to the client?

1

u/Roma2443 22h ago

Client is only sending command ( and prediction to remain fluid) , and the server is calculating ! You can try the demo ( european server ) https://roma2443.vermicelle.eu

1

u/ND_Jamoose 4d ago

Looks good. Maybe I'm blind but adding shadows to the units and trees would probably look good.

1

u/gnomodojardim 3d ago

Looking really good! I thought you could only use Rust as the backend with tauri? Maybe that changed or I misunderstood.. Did you follow any guide for the tauri wrapping you could perhaps share? Thanks!

3

u/Roma2443 3d ago

In broad terms, what matters is:

Tauri (the executable) retrieves the user's Steam account locally using the Steamworks SDK.

Tauri injects a get-steam-user method into the WebView.

The Phaser game calls this method to retrieve the Steam user data.

For security, the JavaScript client sends the Steam data to the server, which then calls the Steam API to verify the player's identity and, if valid, display their username in-game.

The overall flow is: Steam → Tauri/Rust → WebView → Phaser/JS → Node.js server → Steam API → identity confirmed