Dora The Explorer- Treasure Island is a Text-Based Adventure Game. The game allows the player to enter certain commands for which they have respective results. A map is also provided to the player to get an idea of the world. This project was developed in C++ completely by myself as a part of the Game Development program taken at Sheridan College, Oakville.
Platform: PC
#C++ #C# #WinForms #JSON #SQL #VisualStudio

Check out the Project:

Game Overview

Dora The Explorer- Treasure Island is a game based on Dora’s adventure to Treasure Island to find the long lost treasure. There are no visual graphics present in the game. For each valid input entered by the player, there’s an appropriate response. Player can move in 4 directions, pick up/use items as well as fight enemies too. Using the map, head on this adventure and become the person to possess the treasure!

Characteristics

  • World Traversal: The entire map was divided into Regions and Rooms. A Region can have multiple Rooms (For Example, The Park is a Region with two Rooms, “Playground” and “Road Towards Lighthouse”.
  • Inventory Management: Throughout the game, the player is provided with a number of items which are stored in the inventory and can be used any time once acquired.
  • Enemy Combat: The player will face a number of enemies throughout the game. Each combat with an enemy is different and unique.
  • Loss of Loot: If the player dies while fighting an enemy, all loot is taken by the enemy and the player is transported back to the starting location. They should then start from the beginning.
  • Data Driven: The entire game is programmed in a data driven way using JSON files which can be dynamically imported and loaded easily. Any changes needed to be made can be done to the JSON and the changes will be included in the game,.

World Editor

A world editor was designed using C# WindowsForms (WinForm). This editor allows a user to create/edit regions, rooms, items and enemies. It also allows the user to include created items and enemies in rooms. A seperate window is created to connect rooms together in which the data only displays for rooms already created. A Taskbar is provided on the top which provides options that enable respective windows. On saving, all this data is stored in a JSON file which can be readily imported in the game.

Analytics

Game Analytics were also implemented for this project. Data was exported from the C++ application using SQLite and stored in a database file. A seperate WinForm application was created which uses SQLiteConnection to read data from a database file and create a summarized graph of the same. The following Data was captured per session (multiple games can be played in a single session):

  • Number of Actions used: The count determines the total number of valid actions player entered.
  • Items Picked: The count determines total number of items picked by a player.
  • Games Played: Total number of games played in a session.
  • Session Time: Total time passed while playing a session.

Gallery