How to make scalable game mastermind with API
up vote
1
down vote
favorite
I want to create an API for mastermind game. The main features of that API are:
- 1 - Create a new game
- 2 - Return feedback given a game code and the guess combination
- 3 - Return game historic given a game code
My main idea is to use an embedded database (like could be H2), and then the feature 1 would be just an insert of new games, and the other features would be just to check the database status. Obviously with that approach, any request would need a database request, and I think that could be improved using some kind of cache (maybe redis), and cache the status of every game using LRU strategy.
I would like to know if you see any inconvenience to this game implementation approach (or another better approach maybe just using memory data structures instead of databases).
java api oop solid-principles
|
show 2 more comments
up vote
1
down vote
favorite
I want to create an API for mastermind game. The main features of that API are:
- 1 - Create a new game
- 2 - Return feedback given a game code and the guess combination
- 3 - Return game historic given a game code
My main idea is to use an embedded database (like could be H2), and then the feature 1 would be just an insert of new games, and the other features would be just to check the database status. Obviously with that approach, any request would need a database request, and I think that could be improved using some kind of cache (maybe redis), and cache the status of every game using LRU strategy.
I would like to know if you see any inconvenience to this game implementation approach (or another better approach maybe just using memory data structures instead of databases).
java api oop solid-principles
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23
|
show 2 more comments
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I want to create an API for mastermind game. The main features of that API are:
- 1 - Create a new game
- 2 - Return feedback given a game code and the guess combination
- 3 - Return game historic given a game code
My main idea is to use an embedded database (like could be H2), and then the feature 1 would be just an insert of new games, and the other features would be just to check the database status. Obviously with that approach, any request would need a database request, and I think that could be improved using some kind of cache (maybe redis), and cache the status of every game using LRU strategy.
I would like to know if you see any inconvenience to this game implementation approach (or another better approach maybe just using memory data structures instead of databases).
java api oop solid-principles
I want to create an API for mastermind game. The main features of that API are:
- 1 - Create a new game
- 2 - Return feedback given a game code and the guess combination
- 3 - Return game historic given a game code
My main idea is to use an embedded database (like could be H2), and then the feature 1 would be just an insert of new games, and the other features would be just to check the database status. Obviously with that approach, any request would need a database request, and I think that could be improved using some kind of cache (maybe redis), and cache the status of every game using LRU strategy.
I would like to know if you see any inconvenience to this game implementation approach (or another better approach maybe just using memory data structures instead of databases).
java api oop solid-principles
java api oop solid-principles
edited Nov 14 at 9:46
Stanislav Kralin
7,48641841
7,48641841
asked Nov 11 at 18:55
Gerardo
426
426
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23
|
show 2 more comments
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23
|
show 2 more comments
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53252081%2fhow-to-make-scalable-game-mastermind-with-api%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
You seem to misunderstand what API means. The API describes/defines the methods that can be called. Any discussion of embedded database is immaterial to the API, because that is an implementation issue. The same API could be implemented by storing data in a plain file, or by only storing the data in memory. You seem to be talking about the implementation, not the API itself.
– Andreas
Nov 11 at 19:06
Sure, I want to create an API for that game, but my issues are with the implementation, that I would like to know if my approach is good. My fault, sorry!
– Gerardo
Nov 11 at 19:12
Aren't you missing a very important part of the API, the ability to actually play the game?
– Andreas
Nov 11 at 19:15
The ability to play the game is via API. When a new game is requested, it "creates" a code and id (for instance, 123; RED, BLUE, RED, BLUE), code needs to be found using guesses (for instance, game 123; RED, BLUE, BLUE, RED) which the API would return how many pegs were correct.
– Gerardo
Nov 11 at 19:20
But you only listed 3 features in the API, and none of them are for submitting a new guess.
– Andreas
Nov 11 at 19:23