Is it possible ?

Post here your questions about SFS2X. Here we discuss all server-side matters. For client API questions see the dedicated forums.

Moderators: Lapo, Bax

User avatar
faisal007
Posts: 37
Joined: 27 Sep 2016, 09:01

Is it possible ?

Postby faisal007 » 03 Feb 2017, 08:17

Hello,

Is is possible to develop a battle camp type game for mobile devices using unity and smartfoxserver for multiplayer part ?

After reading their case studies, they have used Event Machine, Engine yard and Ruby to develop giant MMORPG. And here is what they did:

PennyPop operates two inter-dependent application clusters for the role-playing game. The first is a standard Ruby on Rails application that acts as an API and data transaction layer. The second cluster is what PennyPop calls their “Virtual World” - a large collection of virtual machines running their EventMachine-powered application, written in Ruby, to which clients (players’ mobile devices) make a persistent TCP connection.


Can you guys help us out in making a game like that and provide suggestions and techniques for which technology should we use as client and server will be off-course smartfox with deployment on AWS.

Also what does using two clusters means ?

Any Ideas, suggestions and case studies will be grateful.

Thanks.
User avatar
Lapo
Site Admin
Posts: 23027
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Is it possible ?

Postby Lapo » 03 Feb 2017, 09:22

faisal007 wrote:Hello,

Is is possible to develop a battle camp type game for mobile devices using unity and smartfoxserver for multiplayer part ?

Sure, you can make the battle camp as big as you want with the MMOApi. The server and client API will keep track of the player and only generate events for their AoI (area of interest).
http://docs2x.smartfoxserver.com/AdvancedTopics/mmo-rooms

After reading their case studies, they have used Event Machine, Engine yard and Ruby to develop giant MMORPG. And here is what they did:

PennyPop operates two inter-dependent application clusters for the role-playing game. The first is a standard Ruby on Rails application that acts as an API and data transaction layer. The second cluster is what PennyPop calls their “Virtual World” - a large collection of virtual machines running their EventMachine-powered application, written in Ruby, to which clients (players’ mobile devices) make a persistent TCP connection.


With all due respect, Ruby is orders of magnitude slower than Java and the idea looks overly complicated.
SFS2X is designed for multiplayer games with a high performance java socket engine and API. You can literally handle tens of 1000s of players without any cluster and overly complicated server architectures. Just one server.

Can you guys help us out in making a game like that and provide suggestions and techniques for which technology should we use as client and server will be off-course smartfox with deployment on AWS.

I'd suggest to start at the link I've shown and taking a look at the MMO-based examples to understand the basics. From there you can start experimenting with your game concept and if something is not clear let us know.

http://docs2x.smartfoxserver.com/ExamplesUnity/mmo-demo
http://docs2x.smartfoxserver.com/ExamplesUnity/spacewar

cheers
Lapo
--
gotoAndPlay()
...addicted to flash games
User avatar
faisal007
Posts: 37
Joined: 27 Sep 2016, 09:01

Re: Is it possible ?

Postby faisal007 » 03 Feb 2017, 14:20

Thanks for the detailed reply.

Can I ask why MMORoom is necessary ? I mean we will create different maps with relatively small area for e.x. each map will be 2x size of ipad screen and a map represents a room. So room events will only occur inside room. With this logic do u think we still need MMORoom and utilize its AOI logic ?

One more question about real time fights, lets say there is an arena where multiple players will hit a single boss in real time just like in typical RPG games. So there will be a heavy communication between client and server to update each player attack to other players and also boss damage to everyone. Would you think for fast and transparent communication we will send these request over UDP ?

Also for continuous player movement we will utilize UDP as well or updating user vars for that purpose is best technique ?
User avatar
Lapo
Site Admin
Posts: 23027
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Is it possible ?

Postby Lapo » 03 Feb 2017, 18:04

faisal007 wrote:Thanks for the detailed reply.

Can I ask why MMORoom is necessary ? I mean we will create different maps with relatively small area for e.x. each map will be 2x size of ipad screen and a map represents a room. So room events will only occur inside room. With this logic do u think we still need MMORoom and utilize its AOI logic ?

Ok, in this case you don't need the MMORoom.
From your initial description it sounded more like an "open world" /mmo thing where you have a large area. Regular Rooms will work just fine :)

One more question about real time fights, lets say there is an arena where multiple players will hit a single boss in real time just like in typical RPG games. So there will be a heavy communication between client and server to update each player attack to other players and also boss damage to everyone. Would you think for fast and transparent communication we will send these request over UDP ?

Yes, that's what is usually done in real-time games. You can send position updates, hits etc via UDP.
You can take a look at our FPS demo for an example of how this works:
http://docs2x.smartfoxserver.com/ExamplesUnity/fps

Also for continuous player movement we will utilize UDP as well or updating user vars for that purpose is best technique ?

For very fast updates UDP might be better.
It also depends on what kind of prediction/compensation technique you will use.
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
faisal007
Posts: 37
Joined: 27 Sep 2016, 09:01

Re: Is it possible ?

Postby faisal007 » 06 Feb 2017, 07:41

Indeed it will be MMO game, but we will divide it in different maps as i described earlier. Alright so this point is clear.

I will check FPS demo n detail for utilizing UDP to send Hits, position updates and also and other things like Team vs Team Real time fight but with turn manager.

We have to work on prediction techniques, this is something not final atm, we will see about interpolation or time stamping to give authoritative server(nto fully) updates to clients. For now we will stick with UDP as we have to develop a giant game with lots of other features. We will fine tune player movements in future if required. For now do you have any samples for interpolation or time stamping techniques to address latency and lagging issues ?

We have noticed that your authoritative demos contains un-implemented code for authoritative server.

Also I will stick with this post for future communication and help over the course of this game, as this will be the long run. But once we will succeed in developing such a game for mobile devices using sfs2x and unity. That will be great and major blow to competitors as well :). For this we will definitely need help, ideas, and techniques on core and complicated features throughout this game development.

Just a short note we are also developing a Poker game with unity and sfs2x for webGL, ios and android, and would like to showcase it here once completed :) [Previously we had developed same using Flash but after dropped plugin support from browsers we are now using Unity WebGL for the purpose. Adobe greatly disappointed us, as I was a die hard fan of Flash and still using Adobe AIR+Starling+Feathers for 2D games.]
I m a sfs fan since 2011 because of its simplicity and architecture and off course the server side extension logic with java :). And always recommend/suggest client to use sfs.

Let's see how this MMORPG goes ...
User avatar
Lapo
Site Admin
Posts: 23027
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Is it possible ?

Postby Lapo » 06 Feb 2017, 10:14

faisal007 wrote:We have to work on prediction techniques, this is something not final atm, we will see about interpolation or time stamping to give authoritative server(nto fully) updates to clients. For now we will stick with UDP as we have to develop a giant game with lots of other features. We will fine tune player movements in future if required. For now do you have any samples for interpolation or time stamping techniques to address latency and lagging issues ?


We have at least 3 different realtime game demos that work with different approaches.
The FPS demo in Unity:
http://docs2x.smartfoxserver.com/ExamplesUnity/fps

The SpaceWar game in Unity and Flash:
http://docs2x.smartfoxserver.com/ExamplesUnity/spacewar

The SpaceRace game in Flash:
http://docs2x.smartfoxserver.com/Exampl ... space-race

You can check them all three and see the different approaches we use. They all come with an in-depth tutorial.

We have noticed that your authoritative demos contains un-implemented code for authoritative server.

I am not sure what you're referring to.
The demos are complete and fully working, check the three examples I just gave you.

Just a short note we are also developing a Poker game with unity and sfs2x for webGL, ios and android, and would like to showcase it here once completed :) [Previously we had developed same using Flash but after dropped plugin support from browsers we are now using Unity WebGL for the purpose. Adobe greatly disappointed us, as I was a die hard fan of Flash and still using Adobe AIR+Starling+Feathers for 2D games.]
I m a sfs fan since 2011 because of its simplicity and architecture and off course the server side extension logic with java :). And always recommend/suggest client to use sfs.

Thanks :) We'll be happy to add your work to the showcase.

Good luck!
Lapo

--

gotoAndPlay()

...addicted to flash games

Return to “SFS2X Questions”

Who is online

Users browsing this forum: No registered users and 102 guests