![Screenshot 2024-03-04 210609.png](https://static.wixstatic.com/media/3177d9_22fe8a3214ca4d289ecb7ef6127d0132~mv2.png/v1/crop/x_0,y_0,w_517,h_135/fill/w_674,h_176,al_c,lg_1,q_85,enc_auto/Screenshot%202024-03-04%20210609.png)
For my senior project, I have chosen to program an RPG style game from scratch using C++. Here I will document my progress with its development.
A Mixed Bag!
![poster.png](https://static.wixstatic.com/media/3177d9_cabfc739ae25432880b1df901da939f3~mv2.png/v1/fill/w_600,h_800,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/poster.png)
Introduction
The game, entitled ‘A Mixed Bag,’ resembles an exploration and turn based RPG style approach to gameplay. The player will have to search for and utilize a myriad of varying items in different encounters in order to traverse through a new environment. The catch, as the player will soon come to learn, is that each item does not behave as expected. A brief label or description will accompany each found object; however, upon use the collectible’s action will instead depict a witty pun or play on words. It can range from a literalist interpretation, a simple joke or an ironic homonym - anything to garner a chuckle from the player as they realize what the item’s function actually is. A Mixed Bag will benefit from the player's previous experience from games as it will turn common video game and everyday items on their head in unexpected and pleasantly foolish ways.
Log #1
-
SFML installed and linked with compiler (after many hours of struggling)
![Screenshot 2024-02-05 234311.png](https://static.wixstatic.com/media/3177d9_37d71e211a2947a5a4f6ab1fb30daf51~mv2.png/v1/fill/w_424,h_328,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-02-05%20234311.png)
![Screenshot 2024-02-05 234222.png](https://static.wixstatic.com/media/3177d9_dac9c0224ad6457f83bfc645af431266~mv2.png/v1/fill/w_421,h_328,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-02-05%20234222.png)
Log #2
-
Window opening and rendering!
-
Created Game Class
-
Created Entity Class
-
Implemented key binds and user input
-
Created movable character object!
![Screenshot 2024-03-04 212640.png](https://static.wixstatic.com/media/3177d9_55e6e86fd9b445bca8c5cc1b6dc9a72c~mv2.png/v1/fill/w_536,h_328,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20212640.png)
![Screenshot 2024-03-04 213342.png](https://static.wixstatic.com/media/3177d9_b91becc07d6942dda5582ec99b3a9228~mv2.png/v1/fill/w_481,h_358,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20213342.png)
![Screenshot 2024-03-04 213831.png](https://static.wixstatic.com/media/3177d9_7d704c99bf1543a39bbf8013d55371c4~mv2.png/v1/fill/w_343,h_334,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20213831.png)
Log #3
-
Created Main Menu Class
-
Implemented Mouse recognition
-
Implemented clickable buttons
-
Created States Class
-
Created Game State Class
![Screenshot 2024-02-12 154557.png](https://static.wixstatic.com/media/3177d9_115363f3818d45c2830be6a978d425ef~mv2.png/v1/fill/w_488,h_321,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-02-12%20154557.png)
![Screenshot 2024-03-04 214009.png](https://static.wixstatic.com/media/3177d9_9b97601356b34d2ba7449e55e027c9d0~mv2.png/v1/fill/w_466,h_251,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20214009.png)
![Screenshot 2024-03-04 214128.png](https://static.wixstatic.com/media/3177d9_7badb0458ad447eca15155ffb1d20cb2~mv2.png/v1/fill/w_483,h_233,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20214128.png)
Log #4
-
Loaded stand-in images
-
player and backgrounds​
-
-
Implemented player animations!
![Screenshot 2024-03-04 214319.png](https://static.wixstatic.com/media/3177d9_b724b8d5e95145828b3f2d0151800255~mv2.png/v1/fill/w_458,h_265,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20214319.png)
![](https://static.wixstatic.com/media/3177d9_992c15d1da0a47f0bf9bc34e8cbf824f~mv2.png/v1/fill/w_414,h_248,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/3177d9_992c15d1da0a47f0bf9bc34e8cbf824f~mv2.png)
![](https://static.wixstatic.com/media/3177d9_61adc5750aae4a0b8e808bb4cc513a17~mv2.png/v1/fill/w_476,h_360,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/3177d9_61adc5750aae4a0b8e808bb4cc513a17~mv2.png)
![Screenshot 2024-03-04 214520.png](https://static.wixstatic.com/media/3177d9_5904fbe779744ee69b6421bc87a52b51~mv2.png/v1/fill/w_402,h_324,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-03-04%20214520.png)
![](https://static.wixstatic.com/media/3177d9_7aa55de9b8764fe5bc257332f6f455d6~mv2.png/v1/fill/w_504,h_283,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/3177d9_7aa55de9b8764fe5bc257332f6f455d6~mv2.png)
Playtest #1
Log #5
-
Implemented Battle State (with stand in PNGs)
-
Implemented battle menu cursor
-
Implemented Enemy rendering and deletion upon defeat (stand in PNGs)
-
Optimized runtime and FPS
-
Implemented enemy collision detection - start battle upon collision
![Screenshot 2024-04-22 131520.png](https://static.wixstatic.com/media/3177d9_175164dc7e8f45199e207a8b247a4f50~mv2.png/v1/fill/w_398,h_317,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-04-22%20131520.png)
![Screenshot 2024-04-22 133542.png](https://static.wixstatic.com/media/3177d9_8f572e72b59c465fbb9f41791361c268~mv2.png/v1/fill/w_520,h_280,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-04-22%20133542.png)
![Screenshot 2024-04-22 132650.png](https://static.wixstatic.com/media/3177d9_1459f1ecd2ca40679db0eff580b11ddc~mv2.png/v1/fill/w_512,h_295,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Screenshot%202024-04-22%20132650.png)
Log #6
-
Completed Sprite Design for Player as well as player animations upon walking
![player2.png](https://static.wixstatic.com/media/3177d9_44824e93f893462d8c4cf7643591e80e~mv2.png/v1/fill/w_304,h_304,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/player2.png)
Log #7
-
Completed Sprites for other Entities
-
Enemies, Door, Cursor​
-
![enemy_pink.png](https://static.wixstatic.com/media/3177d9_4d21ef9f7bd346bba78f45c1e83f225c~mv2.png/v1/crop/x_0,y_0,w_120,h_56/fill/w_168,h_78,al_c,lg_1,q_85,enc_auto/enemy_pink.png)
![](https://static.wixstatic.com/media/3177d9_49d2588cafc748439ebe78f20651f850~mv2.png/v1/crop/x_0,y_0,w_120,h_61/fill/w_168,h_85,al_c,lg_1,q_85,enc_auto/3177d9_49d2588cafc748439ebe78f20651f850~mv2.png)
![](https://static.wixstatic.com/media/3177d9_e17a966ccb154d31ae07b0654191e719~mv2.png/v1/fill/w_340,h_340,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/3177d9_e17a966ccb154d31ae07b0654191e719~mv2.png)
![](https://static.wixstatic.com/media/3177d9_ba34209f93e7463a970ab367b7ad2de1~mv2.png/v1/fill/w_125,h_125,al_c,q_85,enc_auto/3177d9_ba34209f93e7463a970ab367b7ad2de1~mv2.png)
![](https://static.wixstatic.com/media/3177d9_c6dcc635ea874830aca262eb72fa43cd~mv2.png/v1/fill/w_100,h_146,al_c,q_85,enc_auto/3177d9_c6dcc635ea874830aca262eb72fa43cd~mv2.png)
Log #8
-
Completed Sprite work for backgrounds
-
Room 1 and 2, battle state, main menu
-
![](https://static.wixstatic.com/media/3177d9_54a52c6ac4e94ce583115acccbb7b8a2~mv2.jpg/v1/fill/w_482,h_271,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/3177d9_54a52c6ac4e94ce583115acccbb7b8a2~mv2.jpg)
![](https://static.wixstatic.com/media/3177d9_ac317f4904854680bc6e03e020082e77~mv2.png/v1/fill/w_482,h_271,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/3177d9_ac317f4904854680bc6e03e020082e77~mv2.png)
![](https://static.wixstatic.com/media/3177d9_1db64f9917984592a61e3e7dce070791~mv2.jpg/v1/fill/w_482,h_271,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/3177d9_1db64f9917984592a61e3e7dce070791~mv2.jpg)
![](https://static.wixstatic.com/media/3177d9_71bda5fce0394f33acb7784b795b2365~mv2.jpg/v1/fill/w_466,h_262,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/3177d9_71bda5fce0394f33acb7784b795b2365~mv2.jpg)
Log #9
-
Wrote Battle Script and accompanying code
-
Including working logic regarding which item to use in each encounter
![image.png](https://static.wixstatic.com/media/3177d9_69e534926b93437b8a36d737dd01447c~mv2.png/v1/fill/w_600,h_291,al_c,q_85,enc_auto/3177d9_69e534926b93437b8a36d737dd01447c~mv2.png)
![image.png](https://static.wixstatic.com/media/3177d9_425ffc3aec8447bc902d7a4a8a9f90d4~mv2.png/v1/fill/w_600,h_209,al_c,q_85,enc_auto/3177d9_425ffc3aec8447bc902d7a4a8a9f90d4~mv2.png)
![image.png](https://static.wixstatic.com/media/3177d9_1ed84ac633d44f1682827f58730cc53a~mv2.png/v1/fill/w_600,h_347,al_c,q_85,enc_auto/3177d9_1ed84ac633d44f1682827f58730cc53a~mv2.png)
Log #10
-
Miscellaneous finishing touches
-
Player border detection
-
Room expansions
-
Main menu screen
-
Intro screen
-
Credits