3D Multiplayer online curling game using C++
Budget: ₹1,500 – ₹12,500 INR
Create a playable online 3D curling game using C++, one that can support a sizable online player base and be played by a number of online teams and players. This game might be relatively basic and doesn't have to adhere to the precise rules of conventional curling games.
Write a thorough report outlining the game's development process, as well as your thoughts on the problems they brought up, their solutions, the programming languages, and your expertise within large-scale programming issues.
To create a functional online curling game that can accommodate many participants, you must carefully consider the classes you will develop and implement. The following classes and effects need to be developed in order to create a functioning game:
1. Curling sheets
The space for two teams of players to play the game is shown on a curling sheet using certain layouts. Numerous curling sheets will be available in the online game, allowing multiple teams of players to partner up and compete simultaneously. This calls for the creation and implementation of a curling sheet class, as well as the support for several curling sheets in your game—at the very least five curling sheets for demonstration purposes.
2. Curling stones
Add the curling sheet's programmed curling stone class. Size, shape, and other characteristics can be chosen by yourself for your game or they can be identical to those of a real curling stone. To support the characteristics and capabilities of a curling stone, this will necessitate the creation and implementation of a new class. The ability to add curling stone objects to the curling sheet, employ a technique for identifying curling stone collisions and locations, and develop a system for controlling curling stones and scores will subsequently become available. For one team member, there are often two object curling stones. Each curling sheet in your game should be able to accommodate two teams of players, each with a maximum of four players.
3. Players, teams and scores
Your curling game should be set up such that many teams of players may play at once. You don't have to adhere to the traditional curling game regulations exactly, and it may be pretty easy. But it need to be turn-based, with points awarded to teams and individuals. Once more, consider carefully what kind of class structure would best reflect the teams, players, and game regulations. Additionally, you should think about potential extensions for your game logic code and incorporate them into your code design.
Additionally, you should create and implement functionality for showing the current teams and players, as well as player rankings and scores. As a simple/minimal approach, you may either print text to the terminal window or show the text information in the game window (ideal scenario).
4. Play from multiple computers over network
Additionally, you should create and implement features that let game play across many computers connected by a computer network. Even across various computers, player rankings and scores must to be shown and updated.
You should provide a report (1) detailing the development of your online curling game, (2) outlining the major difficulties and your remedies.
The report must have the following sections:
1. Your online curling game of choice
Include a brief description of your game, along with its rules, instructions, and at least one screenshot (approx. 0.5 page).
2. Design and Implementation
If required, provide a diagram to quickly illustrate your game's concept, as well as how you implemented the classes and essential methods you utilised. For the four technical tasks—namely, 1. curling sheet class, 2. curling stone class, 3. players, teams and scores classes, 4. network implementation If required, use diagrams, graphs, or source code snapshots to illustrate the additional classes, methods, and ideas you have created to meet each of the aforementioned 4 objectives. (5 pages or so).
Write a thorough report outlining the game's development process, as well as your thoughts on the problems they brought up, their solutions, the programming languages, and your expertise within large-scale programming issues.
To create a functional online curling game that can accommodate many participants, you must carefully consider the classes you will develop and implement. The following classes and effects need to be developed in order to create a functioning game:
1. Curling sheets
The space for two teams of players to play the game is shown on a curling sheet using certain layouts. Numerous curling sheets will be available in the online game, allowing multiple teams of players to partner up and compete simultaneously. This calls for the creation and implementation of a curling sheet class, as well as the support for several curling sheets in your game—at the very least five curling sheets for demonstration purposes.
2. Curling stones
Add the curling sheet's programmed curling stone class. Size, shape, and other characteristics can be chosen by yourself for your game or they can be identical to those of a real curling stone. To support the characteristics and capabilities of a curling stone, this will necessitate the creation and implementation of a new class. The ability to add curling stone objects to the curling sheet, employ a technique for identifying curling stone collisions and locations, and develop a system for controlling curling stones and scores will subsequently become available. For one team member, there are often two object curling stones. Each curling sheet in your game should be able to accommodate two teams of players, each with a maximum of four players.
3. Players, teams and scores
Your curling game should be set up such that many teams of players may play at once. You don't have to adhere to the traditional curling game regulations exactly, and it may be pretty easy. But it need to be turn-based, with points awarded to teams and individuals. Once more, consider carefully what kind of class structure would best reflect the teams, players, and game regulations. Additionally, you should think about potential extensions for your game logic code and incorporate them into your code design.
Additionally, you should create and implement functionality for showing the current teams and players, as well as player rankings and scores. As a simple/minimal approach, you may either print text to the terminal window or show the text information in the game window (ideal scenario).
4. Play from multiple computers over network
Additionally, you should create and implement features that let game play across many computers connected by a computer network. Even across various computers, player rankings and scores must to be shown and updated.
You should provide a report (1) detailing the development of your online curling game, (2) outlining the major difficulties and your remedies.
The report must have the following sections:
1. Your online curling game of choice
Include a brief description of your game, along with its rules, instructions, and at least one screenshot (approx. 0.5 page).
2. Design and Implementation
If required, provide a diagram to quickly illustrate your game's concept, as well as how you implemented the classes and essential methods you utilised. For the four technical tasks—namely, 1. curling sheet class, 2. curling stone class, 3. players, teams and scores classes, 4. network implementation If required, use diagrams, graphs, or source code snapshots to illustrate the additional classes, methods, and ideas you have created to meet each of the aforementioned 4 objectives. (5 pages or so).