Seeking advice for backend system design and framework for a new game2019 Community Moderator ElectionWhen should new .NET projects be designed for .NET 4 FrameworkCore Data on client (iOS) to cache data from a server StrategyUsing NodeJS for a big projectTemplate management similar to Shopify - Architecture RecommendationsConnect Nodejs Faye-Client to Rails Faye serverSeeking architecture advice regarding Redis vs RabbitMQ + AerospikeHow to design a news feed system like google reader?Java/Android front-end client and node js backend server?Web socket connection for AndroidApproaches to delegating development to team members
Why is Beresheet doing a only a one-way trip?
The bar has been raised
In the late 1940’s to early 1950’s what technology was available that could melt a LOT of ice?
Is it true that real estate prices mainly go up?
Grey hair or white hair
Replacing Windows 7 security updates with anti-virus?
Why is there a voltage between the mains ground and my radiator?
Am I not good enough for you?
Space in array system equations
Should QA ask requirements to developers?
Why doesn't this Google Translate ad use the word "Translation" instead of "Translate"?
Are babies of evil humanoid species inherently evil?
Good for you! in Russian
Logic. Truth of a negation
Look through the portal of every day
How do I locate a classical quotation?
Should I take out a loan for a friend to invest on my behalf?
Do I really need to have a scientific explanation for my premise?
Who deserves to be first and second author? PhD student who collected data, research associate who wrote the paper or supervisor?
Is Gradient Descent central to every optimizer?
Can you reject a postdoc offer after the PI has paid a large sum for flights/accommodation for your visit?
Aliens englobed the Solar System: will we notice?
Built-In Shelves/Bookcases - IKEA vs Built
PTIJ: Why can't I eat anything?
Seeking advice for backend system design and framework for a new game
2019 Community Moderator ElectionWhen should new .NET projects be designed for .NET 4 FrameworkCore Data on client (iOS) to cache data from a server StrategyUsing NodeJS for a big projectTemplate management similar to Shopify - Architecture RecommendationsConnect Nodejs Faye-Client to Rails Faye serverSeeking architecture advice regarding Redis vs RabbitMQ + AerospikeHow to design a news feed system like google reader?Java/Android front-end client and node js backend server?Web socket connection for AndroidApproaches to delegating development to team members
I'm working as a Software Engineer in a gaming company and our product team has come up with a new game for Android and iOS (a casual isometric game like Gardenscapes). Our team has to setup the backend system for the game (yes, it's gonna be a network-based game where client-server communication happens via REST calls). We have experience working with legacy systems but have not really built systems required for game play and related, from scratch. In that regard, we are reaching out to the community seeking the necessary guidelines for building such a system by a budding team such as us...
I've collected a few requirements that I thought would be required to keep in mind to decide on the backend design and the framework to choose:
The game is gonna have isometric gameplay and a meta gameplay. As it
is isometric, it would need real-time updates. - So we would need to add a web socket I believe (any suggestions would be helpful). And
this also means that there are going to be background jobs which need
to completed by the server at a later point in time.Game data (or the market data) for the gameplay is going to be
managed at the server by a live ops team. So, we need an admin tool for this. There are of course multiple entities in the game and are
definitely going to be related to each other (currently it's mostly
one-to-many but going ahead there could be many-to-one and
many-to-many as well). So, I was thinking MySQL would the best
option.Expected total installs initially (first 3 months) would be expected
at 1 million and over a lifetime it could go up to 5M. DAU could be around 100K. The game is gonna have a metagame as well, so it is
expected that a player is gonna spend 50% of the time in meta gameplay
(no requests would be sent during this time) and 50% in isometric
gameplay (where there would be requests to the server for updates) in a
given session. And a session length could be around 30 mins. For
this, should we be prepared for sharding from the beginning? If so,
I'd like to understand which is preferred (sharding at the application
layer vs DB layer) and the reason for it.
I've good expertise in rails (6 years of working experience) and a decent one in server-side javascript (NodeJS, express and some modules attached to these)
My initial inclination was towards rails as I believe it solves the above problems well enough (please correct me if I'm wrong!). Although I really liked the async style of processing in NodeJS (I've developed some APIs on this), I'm not sure it has the feature-rich MVC framework (I've used the only express) such as rails.
Thank you very much for the patience of going through the above request!
Awaiting your valuable inputs...
javascript ruby-on-rails architecture software-design
add a comment |
I'm working as a Software Engineer in a gaming company and our product team has come up with a new game for Android and iOS (a casual isometric game like Gardenscapes). Our team has to setup the backend system for the game (yes, it's gonna be a network-based game where client-server communication happens via REST calls). We have experience working with legacy systems but have not really built systems required for game play and related, from scratch. In that regard, we are reaching out to the community seeking the necessary guidelines for building such a system by a budding team such as us...
I've collected a few requirements that I thought would be required to keep in mind to decide on the backend design and the framework to choose:
The game is gonna have isometric gameplay and a meta gameplay. As it
is isometric, it would need real-time updates. - So we would need to add a web socket I believe (any suggestions would be helpful). And
this also means that there are going to be background jobs which need
to completed by the server at a later point in time.Game data (or the market data) for the gameplay is going to be
managed at the server by a live ops team. So, we need an admin tool for this. There are of course multiple entities in the game and are
definitely going to be related to each other (currently it's mostly
one-to-many but going ahead there could be many-to-one and
many-to-many as well). So, I was thinking MySQL would the best
option.Expected total installs initially (first 3 months) would be expected
at 1 million and over a lifetime it could go up to 5M. DAU could be around 100K. The game is gonna have a metagame as well, so it is
expected that a player is gonna spend 50% of the time in meta gameplay
(no requests would be sent during this time) and 50% in isometric
gameplay (where there would be requests to the server for updates) in a
given session. And a session length could be around 30 mins. For
this, should we be prepared for sharding from the beginning? If so,
I'd like to understand which is preferred (sharding at the application
layer vs DB layer) and the reason for it.
I've good expertise in rails (6 years of working experience) and a decent one in server-side javascript (NodeJS, express and some modules attached to these)
My initial inclination was towards rails as I believe it solves the above problems well enough (please correct me if I'm wrong!). Although I really liked the async style of processing in NodeJS (I've developed some APIs on this), I'm not sure it has the feature-rich MVC framework (I've used the only express) such as rails.
Thank you very much for the patience of going through the above request!
Awaiting your valuable inputs...
javascript ruby-on-rails architecture software-design
add a comment |
I'm working as a Software Engineer in a gaming company and our product team has come up with a new game for Android and iOS (a casual isometric game like Gardenscapes). Our team has to setup the backend system for the game (yes, it's gonna be a network-based game where client-server communication happens via REST calls). We have experience working with legacy systems but have not really built systems required for game play and related, from scratch. In that regard, we are reaching out to the community seeking the necessary guidelines for building such a system by a budding team such as us...
I've collected a few requirements that I thought would be required to keep in mind to decide on the backend design and the framework to choose:
The game is gonna have isometric gameplay and a meta gameplay. As it
is isometric, it would need real-time updates. - So we would need to add a web socket I believe (any suggestions would be helpful). And
this also means that there are going to be background jobs which need
to completed by the server at a later point in time.Game data (or the market data) for the gameplay is going to be
managed at the server by a live ops team. So, we need an admin tool for this. There are of course multiple entities in the game and are
definitely going to be related to each other (currently it's mostly
one-to-many but going ahead there could be many-to-one and
many-to-many as well). So, I was thinking MySQL would the best
option.Expected total installs initially (first 3 months) would be expected
at 1 million and over a lifetime it could go up to 5M. DAU could be around 100K. The game is gonna have a metagame as well, so it is
expected that a player is gonna spend 50% of the time in meta gameplay
(no requests would be sent during this time) and 50% in isometric
gameplay (where there would be requests to the server for updates) in a
given session. And a session length could be around 30 mins. For
this, should we be prepared for sharding from the beginning? If so,
I'd like to understand which is preferred (sharding at the application
layer vs DB layer) and the reason for it.
I've good expertise in rails (6 years of working experience) and a decent one in server-side javascript (NodeJS, express and some modules attached to these)
My initial inclination was towards rails as I believe it solves the above problems well enough (please correct me if I'm wrong!). Although I really liked the async style of processing in NodeJS (I've developed some APIs on this), I'm not sure it has the feature-rich MVC framework (I've used the only express) such as rails.
Thank you very much for the patience of going through the above request!
Awaiting your valuable inputs...
javascript ruby-on-rails architecture software-design
I'm working as a Software Engineer in a gaming company and our product team has come up with a new game for Android and iOS (a casual isometric game like Gardenscapes). Our team has to setup the backend system for the game (yes, it's gonna be a network-based game where client-server communication happens via REST calls). We have experience working with legacy systems but have not really built systems required for game play and related, from scratch. In that regard, we are reaching out to the community seeking the necessary guidelines for building such a system by a budding team such as us...
I've collected a few requirements that I thought would be required to keep in mind to decide on the backend design and the framework to choose:
The game is gonna have isometric gameplay and a meta gameplay. As it
is isometric, it would need real-time updates. - So we would need to add a web socket I believe (any suggestions would be helpful). And
this also means that there are going to be background jobs which need
to completed by the server at a later point in time.Game data (or the market data) for the gameplay is going to be
managed at the server by a live ops team. So, we need an admin tool for this. There are of course multiple entities in the game and are
definitely going to be related to each other (currently it's mostly
one-to-many but going ahead there could be many-to-one and
many-to-many as well). So, I was thinking MySQL would the best
option.Expected total installs initially (first 3 months) would be expected
at 1 million and over a lifetime it could go up to 5M. DAU could be around 100K. The game is gonna have a metagame as well, so it is
expected that a player is gonna spend 50% of the time in meta gameplay
(no requests would be sent during this time) and 50% in isometric
gameplay (where there would be requests to the server for updates) in a
given session. And a session length could be around 30 mins. For
this, should we be prepared for sharding from the beginning? If so,
I'd like to understand which is preferred (sharding at the application
layer vs DB layer) and the reason for it.
I've good expertise in rails (6 years of working experience) and a decent one in server-side javascript (NodeJS, express and some modules attached to these)
My initial inclination was towards rails as I believe it solves the above problems well enough (please correct me if I'm wrong!). Although I really liked the async style of processing in NodeJS (I've developed some APIs on this), I'm not sure it has the feature-rich MVC framework (I've used the only express) such as rails.
Thank you very much for the patience of going through the above request!
Awaiting your valuable inputs...
javascript ruby-on-rails architecture software-design
javascript ruby-on-rails architecture software-design
edited Mar 7 at 8:12
Egon Allison
5521319
5521319
asked Mar 7 at 7:40
KamalKamal
12
12
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
SECRETS FOR CREATING A GOOD SOFTWARE OR APP
CLICK THE LINK BELOW TO GET A FULL TRAINING STEP-BY-STEP
https://softwaresecrets.com/livewebclass?cf_affiliate_id=1562928&affiliate_id=1562928
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55038456%2fseeking-advice-for-backend-system-design-and-framework-for-a-new-game%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
SECRETS FOR CREATING A GOOD SOFTWARE OR APP
CLICK THE LINK BELOW TO GET A FULL TRAINING STEP-BY-STEP
https://softwaresecrets.com/livewebclass?cf_affiliate_id=1562928&affiliate_id=1562928
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
add a comment |
SECRETS FOR CREATING A GOOD SOFTWARE OR APP
CLICK THE LINK BELOW TO GET A FULL TRAINING STEP-BY-STEP
https://softwaresecrets.com/livewebclass?cf_affiliate_id=1562928&affiliate_id=1562928
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
add a comment |
SECRETS FOR CREATING A GOOD SOFTWARE OR APP
CLICK THE LINK BELOW TO GET A FULL TRAINING STEP-BY-STEP
https://softwaresecrets.com/livewebclass?cf_affiliate_id=1562928&affiliate_id=1562928
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
SECRETS FOR CREATING A GOOD SOFTWARE OR APP
CLICK THE LINK BELOW TO GET A FULL TRAINING STEP-BY-STEP
https://softwaresecrets.com/livewebclass?cf_affiliate_id=1562928&affiliate_id=1562928
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered Mar 7 at 12:27
Dick ChikadzaDick Chikadza
1
1
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Dick Chikadza is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
add a comment |
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
link not working
– tomrlh
Mar 7 at 12:41
link not working
– tomrlh
Mar 7 at 12:41
Kind of promotion?
– I B
Mar 7 at 12:42
Kind of promotion?
– I B
Mar 7 at 12:42
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55038456%2fseeking-advice-for-backend-system-design-and-framework-for-a-new-game%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown