Group Number : 12
A Carrom game simulator made using C++ and SDL 2.0.
Works on Ubuntu (tested on 20.04 LTS) only due to library constraints of SDL 2.0 for various operating system
- IMT2020502 : Monjoy Narayan Choudhury
- IMT2020034: Ankrutee Arora
- IMT2020542: Sashank Reddy Budideti
- IMT2020006: Harsh Shah
- IMT2020509: Hardik Khandelwal
1.IMT2020502 - Monjoy Narayan Choudhury:
- Provided Starter code / object oriented structure for game design
- Implemented mouse movements and click events
- Integrated physics (independently made by other member) with graphics element
- Smoothened screen transitions between menu and help + game end to menu
- Testing and debugging.
2.IMT2020034 - Ankrutee Arora :
- Added Main menu
- Rendered text for play and exit options
- Transition from menu to game.
- Dealt with game loop conditions
3.IMT2020542: Sashank Reddy Budideti :
- Provided texture assets for Striker, coins and board
- Attempted to add sound on collision (caused instability hence not in final version)
- Determined dimensions and boundaries which were used by others to implement collision and other mechanics
4.IMT2020006: Harsh Shah :
- Arranged all coins on board
- Implemented friction on coins
- Rendered Texts using SDL_ttf
- Added tracer on striker to enumerate trajectory
5.IMT2020509: Hardik Khandelwal
- Created Physics engine: Resolving collision between coins, boards and net and handling collision penetration.
- Integrated different game states and console events.
- Contributed in algorithm for computer moves.
- Created a few classes like Coin, Board, Vector etc.
- Realistic physics collisions between coins as well as between board and coins which obey the concepts involving impulse, penetration resolution and coefficient of restitution.
- Leaderboard feature to keep track of high scores so that a user can find motivation to improve in the game.
- Tracer facility when the striker is pulled to get trajectory estimates for precise shots.
- Human like CPU player which adapts to the location of the coins during the game to simulate in-person game.
- Clone this repository
-
Open terminal and type the following command to compile
make iCarrom -
Run the game using command
./iCarrom
- Set the striker in place using arrow keys (left and right)
- Press enter to confirm the position
- Now hover your mouse on the striker. When the pointer is on the striker, hold the mouse and pull it back in the direction of preference. Take help of the tracer to estimate the trajectory. Leave the button when satisfied
- Now wait till the computer make its move.
A demo video highlighting the controls can be found at https://www.youtube.com/watch?v=whBVOhUi14Q


