0% found this document useful (0 votes)
14 views

Commander of Full Stack

Commander of Full Stack proposes building a speed typing game application with solo and multiplayer modes. In solo mode, players can practice typing at different difficulty levels and see their accuracy and speed. In multiplayer mode, players compete in lobbies against others of the same difficulty level and can see each other's progress. The application should allow switching between modes, display mistakes, and not require logins. Additional features like scalability, fault tolerance, intuitive UX, and creative implementations are encouraged to make the application stand out. Focus should be given to meeting all requirements within the limited time frame.

Uploaded by

satyam pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Commander of Full Stack

Commander of Full Stack proposes building a speed typing game application with solo and multiplayer modes. In solo mode, players can practice typing at different difficulty levels and see their accuracy and speed. In multiplayer mode, players compete in lobbies against others of the same difficulty level and can see each other's progress. The application should allow switching between modes, display mistakes, and not require logins. Additional features like scalability, fault tolerance, intuitive UX, and creative implementations are encouraged to make the application stand out. Focus should be given to meeting all requirements within the limited time frame.

Uploaded by

satyam pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Commander of Full Stack

Speed Typing Game Application


Create a Speed Typing game application where players can practice and compete against each
other.

Practice/Solo Mode:
• A game mode for player to practice and improve their typing skills.
• Player can choose the level of difficulty and game duration.
• Player can visualize the typed text progress and real-time typing speed.
• Once the game ends, the results (e.g., accuracy and typing speed) will be shown
to the player.

Multi-Player Mode:
• A game mode to test your skills against other speedsters.
• Player can choose the level of difficulty and will be put in a lobby with other
players who choose the same difficulty.
• In a particular lobby, all players are shown the same paragraph as the typing
challenge.
• In addition to the player's personal progress, they can also visualize other
players' progress.
• On game end, the results (e.g., accuracy, typing speed and lobby rank of each
player) of all the players in the lobby will be displayed.

General Guidelines:
• The application can be a desktop, web, or a mobile app(s).
• Player will be prompted to enter a username and/or auto assigned a random
name every time he opens the app.
• Player can choose to enter, quit and switch between game modes.
• Player can see text they are typing along with the mistakes they are making.
• Login/Signup is not mandatory.

What will make your application an excellent product?


Solving requirements will make your application a product. But what constitutes an excellent
product that is appealing to its customers? What other features does your product provide to
have an edge against its competitors? These are often the questions that one needs to ask
themself before shipping the product to the market. And designing your application while
answering these questions is what will make your product stand out and have a lead against
other entries.
We have listed down some design and architectural questions that you can consider while
building your product, into three broad categories:

• Gameplay
− How many players can play at once in a lobby?
− What happens if all players finished before time?
− What happens if required number of players are not filled fast enough into a
lobby?
− Does the game start with limited players?

• Session Management and Scalability:


− How are you creating lobbies on demand?
− All the players of a session have abandoned it. How will the session
termination happen in this scenario?
− How are you planning on handling large data sets of real-time data as the
number of live games being played on your application scales up?
• Resiliency and Fault-Tolerance:
− What happens to the multi-player session when one of the players
loses their connection or crashes?
− How do you handle a player refreshing or re-opening their application mid-
game?
• User Experience
− Is your application intuitive for a first-time player to hop on and understand
the various game modes?
− How responsive is your application to player actions?
− Does the player need to enter his username every time?

Few supplemental ideas that you could build upon:


• The sharing of real-time progress among players can be done in fun and creative
way.
• Game mode where private lobbies can be created and played with friends by
sharing links.
• Global leaderboard
• Statistics of the Platform (e.g., Number of unique games played thus far, number
of current live ongoing games, average global typing speed)
• Observer Mode: Ability to spectate ongoing games.
• Dark Mode (Who even uses the light mode in 21st Century, eh?)

Feel free to put on those tin foil hats, get creative and implement something that's never been
done before.

Anything else that I need to know?


There are a few things we want to call out explicitly:
• Focusing on all the requirements is more crucial than building an excellent sub-
system of your application, as you have limited time to build your application.
Hence, we recommend you work on additional features only after you have
finished implementing or provisioned your time to cater to all the basic
requirements.
− Building the most scalable back end without a user interface to demonstrate
your application or building a cross-platform user interface without the
necessary back end is not something a player can have fun with. It should be
perfectly balanced,
as all things should be.
• Originality of implementation and understanding of systems will be a key part of
the evaluation criteria and is thus recommended that you make an honest effort in
building your application. TypeRacer already exists. The spirit of this event is help
you understand and overcome the challenges faced in building a full stack
application.

Well, that is all. We have no doubt you will have fun solving this and we look forward to playing
on your application.

You might also like