Skip to content

MatthewEmer/Durhack-X

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultimate Tic-Tac-Toe

Tic-Tac-Toe but two boards deep and three player, all hosted on a local server for multiplayer gameplay.

To Play

  1. All players should join the same WiFi network (not eduroam or DurStudent).
  2. All players should run the client.py file.
  3. One player should host the game and should select the number of players.
  4. The other players should input the IP address displayed onto the host's screen.

Hackathon Report

Inspiration:

Our inspiration came from Ultimate Tic-Tac-Toe, a game we’d seen played on paper but rarely encountered as an online or digital version. After spending several hours struggling to get a hardware-based project off the ground, we decided to shift our focus toward something we could bring to life more effectively within the hackathon timeframe. Creating a playable digital version of Ultimate Tic-Tac-Toe in Python felt like the perfect challenge - combining familiar game mechanics with our interest in multiplayer interaction and programming.

What It Does:

Our project allows multiple devices on the same Wi-Fi network to connect to a central host server using their IP addresses and play a three-player game of Ultimate Tic-Tac-Toe. The game is written in Python and uses the Pygame library to provide an interactive graphical interface. Players can join the host server, make moves in real time, and compete in an expanded version of classic Tic-Tac-Toe designed for multiplayer gameplay.

How We Built It:

To build our project, we divided the work into smaller teams so we could develop different components simultaneously and later integrate them into a single program. Mia and Rory focused on implementing the core game logic, ensuring the main mechanics worked smoothly. Matthew handled the graphics and visual elements to make the game engaging and intuitive, while Jack set up the server to enable communication and data management. Once each part was functional, we merged the components, debugged integration issues, and refined the final product together.

Challenges We Ran Into:

One of the main challenges we ran into was working with hardware. We initially planned to build a hardware-based project, but quickly realized that we didn’t have enough experience or the right tools to make it work effectively. After spending a lot of time troubleshooting and making little progress, we decided to pivot and focus on developing a game instead. This shift allowed us to better use our strengths in software development and creativity, and ultimately helped us deliver a more complete and polished final product.

Accomplishments That We're Proud Of:

We’re proud that we managed to complete the hackathon with a functioning project. Despite several early setbacks and a complete change in direction, we were able to adapt quickly, learn new tools, and produce a game that actually works. Finishing with a playable prototype was a big accomplishment for us given the time constraints and our initial challenges.

What We Learned:

Throughout the hackathon, we learned several valuable lessons. First, we realized the importance of understanding our tools and not diving into hardware projects without prior experience or preparation. We also discovered that even simple ideas can be expanded and developed into something much more engaging and complex when approached creatively. Finally, we gained practical experience using Git for version control - learning how to collaborate effectively, manage branches, and merge code across multiple contributors.

What's Next For Ultimate Tic-Tac-Toe:

Moving forward, we’d like to expand the project beyond its current local setup. Our next steps include developing a website version of the game and introducing user accounts so players can log in and track their progress. We also plan to improve networking by hiding IP addresses and streamlining connections between players. On the gameplay side, we’d like to add more variety in player shapes, experiment with deeper or larger boards, and potentially support more players at once to make the experience even more dynamic and competitive.

About

Our repository for Durhack X.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages