My experience with C++ is extensive, starting in college in order to assist with learning computer architecture and extending into multiple passion projects. One project that I would like to highlight is the multiplayer tactics game I made that uses its own server and database in order for the different players to interact. The game could be played vs other players or against an AI that I programmed to play against the player. First, the server would set up the map, and place the players down almost randomly, while still giving them space from each other. The map and different player positions would be packaged and sent to the different players in seperate packets in order to distinguish which player was seen as the enemy on different player's screens. An example of the packets being sent on the server side is given in the following code:
Second, the individual clients would receive the packets and convert the information into the variables they need in order to display the game accurately to the player. This includes accurate map information, where the player is, and where the enemies are. The clients using information that can only be given by the server ensures that cheating through external programs is much harder to accomplish. An example of the client interpreting the packets is given in the following code:
Finally, as the clients and servers communicate, certain information will need to be stored in a database as players make important changes to the game's environment. I made a function that utilizes a connection to an AWS RDS database, and executes an SQL Query in order to send scores to the database under a player name. The function may also be untilized to read from the database as well. An example of the database connection is given in the following code:
This passion project required lots of different coding language knowledge, including knowledge of C++, SFML packages, an AWS RDS Database, and SQL. More information about my knowledge of these areas are given in the different skill categories.