Click here to Skip to main content
15,879,326 members
Articles / Desktop Programming / WPF
Article

Multiplayer Minesweeper

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
21 Aug 2013CPOL4 min read 14.3K   1   2
Minesweeper reimagined for multiplayer.

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Contest Information

  • Target Platform - All In One
  • Category - Games
  • Overview - Minesweeper reimagined for multiplayer. Battle up to three of your friends for Minesweeper dominance.
  • Description - See Description section below.
  • Approach Taken - See Approach Taken section below.
  • Coding Language - This is a C# WPF application written in .NET 4.5. Caliburn Micro is used for MVVM help.

Introduction

Minesweeper by yourself is a decent time-waster, but it could really use a boost in fun. That is what Multiplayer Minesweeper is all about. Grab your friends and jump into a fast-paced, competitive match where anything can happen. Board switching, moving mines, and laying traps for your friends is just some of the craziness that will ensue.

Features

Mulitplayer Minesweeper has the following features:

  • Up to 4 Players - Utilizing the large screen size, each player gets their own Minesweeper board.
  • Events - Events keep the game interesting. The board switch event randomly reassigns each board to a different player. The uncovered spaces are reset but the flags are left in place (even the ones that mark spaces that are not mines - do I sense a strategy here?). The sneak peek shows either one person (in manual mode) or everyone (in random mode) a two second glimpse of where the mines are. In that time, no flags can be placed. Mine switch randomly re-arranges the mines in the space that is left. All numbers will be re-adjusted accordingly.
  • Limited Lives - Each player gets three lives. Triggering manual events or clicking on a bomb reduces your lives by one. Once a player hits zero lives, they are done playing.
  • Awarding the Winner - Points are awarded for uncovering safe spaces. The first person to complete their map wins the game. Second through fourth place is determined by points. If everyone runs out of lives, the points leader is the winner.
  • Timed Random Events - Watch the countdown timer to see when the next random event will occur. Want to mess up your opponents? Trigger a manual event first and reset the timer.
  • Manual Events - Use one of your remaining lives to trigger the event of your choice. See that someone else is close to finishing? Trigger the board switch to buy yourself some time. Racing to the finish? Get a sneak peek at your mines.

Description

Multiplayer Minesweeper is a fun game for with friends. Put the AIO on the table, gather around, and let the competition begin. Laughs of joy, screams of frustration, and shouts of triumph will ensue. 

How To Play

Starting out, up to four people grab a board on the screen. Next to each board is a countdown timer, your remaining lives, your score, your current place (based upon points), the number of flags you have placed (not necessarily how many mines you have found), how many flags everyone else has placed, and a section for triggering a manual event. When the match starts, start clearing the board like you would in a single-player game. Keep an eye on where you are in relation to your friends. If you see someone pulling ahead or if you find yourself slipping behind everyone else, trigger an event to give you an advantage. Keep an eye on the timer as well: once that hits zero, an event is going to occur. Push hard to get that board cleared before the next event. That is the basics of playing Multiplayer Minesweeper. When yo start playing, you will find that you develop layers of strategy that go well beyond the basics.

Approach Taken

To build this application, I first mapped it out. I identified what features I wanted and what technologies I wanted to maximize. Most of the code is already written for the other applications that I am developing (I'm developing a central library for all my apps). That means I just need to develop the specifics that are unique to this application and then I need to wire it into my user interface. For this user interface, I already have a template for the majority of the individual boards. I just need to add on the extra options and data to the side of the board and the user interface is done

At this point, the user interface is designed. I just need to build it and then wire up the logic and I will be done. I expect the first version of the product to be done by the middle of September at the latest.

Technologies Used

I use the following technologies in this application:

  • Multi-Touch - The game has been designed to be touched by up to four people at a time with each person touching the screen with two fingers.
  • Screen Size - Takes advantage of the large screen to allow up to four people to play on the device at one time.
  • Portability - The AIO can be taken to where the action is, whether it is in your livingroom or at your friends house.

Conclusion

As you can see, Multiplayer Minesweeper is all about having fun with your friends. Develop your strategy and work to counter the strategy of your friends. Each round is a unique. Bet you can't play just one.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) DeGarmo
United States United States
I am currently a Senior Software Developer at a company in Illinois called DeGarmo. My primary skills are in .NET, SQL, JavaScript, and other web technologies although I have worked with PowerShell, C, and Java as well.

In my previous positions, I have worked as a lead developer, professor and IT Director. As such, I have been able to develop software on a number of different types of systems and I have learned how to correctly oversee the overall direction of technology for an organization. I've developed applications for everything from machine automation to complete ERP systems.

I enjoy taking hard subjects and making them easy to understand for people unfamiliar with the topic.

Comments and Discussions

 
GeneralKeep em' coming! Pin
Kevin Priddle21-Aug-13 15:10
professionalKevin Priddle21-Aug-13 15:10 
GeneralRe: Keep em' coming! Pin
Tim Corey21-Aug-13 17:10
professionalTim Corey21-Aug-13 17:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.