← Back to Projects

OCaml Monopoly

OCaml Functional Programming Game Development

Overview

Final project for CS 3110, a course on functional programming using OCaml. The project is to implement a version of Monopoly using purely OCaml. The project is built from scratch, including the game logic, user interface, and all game components. The game supports multiple players and includes features such as property trading, auctions, and chance/community chest cards. The project demonstrates a strong understanding of functional programming concepts and OCaml syntax, as well as the ability to design and implement a complex system using a purely functional programming language.

This project stretched my understanding of functional programming and OCaml, as I had to design and implement a complex game using a language I was mostly unfamiliar with. I had to learn how to use OCaml's data structures, pattern matching, and GUI libraries to build the game. I also had to think about every game component in a functional programming way, which was a new and challenging experience for me. Through this project, I gained a deeper understanding of functional programming concepts and OCaml syntax, and I was able to apply these concepts to build a fully functional game. This project was a great opportunity for me to learn and apply the functional programming concepts I had learned during the semester, and also offered an opportunity for me to be creative and expore more of a new language in a fun and engaging way.

Demo

Key Features

  • Interactive Terminal: Players take turns inputting commands to control their game actions
  • Multiplayer Support: Allows multiple players to participate in the game
  • Game Logic: Implements all rules and mechanics of Monopoly
  • GUI: Offers a visual representation of the game board and player actions that updates in real time to align with player actions

Technologies Used

  • OCaml: Project was built entirely using OCaml, demonstrating functional programming concepts and techniques