Turn Timer 1 - WPF

Summary

I've been a player of Risk for over a decade.  Smashing enemy troops, bottling-up entire continents, and even achieving the odd victory is a high that keeps me coming back.  A piece of feedback keeps coming up, too: My turns are too stinkin' long.

Fifteen minutes of deliberation is not unheard of.  Five minutes is a lightning round.  Attempting to cover any possible outcome is a recurring theme time and time again.

So, for all of my future teammates and opponents, here's a solution:

Compressed screenshot of Turn Timer, taken by another tool not yet ready for display.
Turn Timer - a program designed for any turn-based game that encourages players to take their turns quickly.

Here's how it works:
  • Each round takes a default X time (set by the players).
  • A player finishes their turn at Y, with a difference D = X - Y.
  • That difference gets larger and larger the longer a player deliberates.
  • Difference D is added to the next player's turn, D + X.
  • If the player uses all their time, the program alarms the gamers that they need to move on.
  • If a player ends their turn before X (they got so much time from the previous player they ended their turn early), no time is given to the next round.
Why stop at Risk?  Turn Timer can optimize Chess, cards, and even D&D!  You can check out the most recent download here on GitHub and on Board Game Geek (link coming soon!).

Considerations / Specs

Turn Timer is made as a Windows Presentation Foundation (WPF) program in C#.  Both WPF and C# are very familiar to me, thus allowing for Turn Timer's quick creation.

The code follows the Model-View-View Model (MVVM) framework.  MVVM enabled me to get the basic functionality in, and once in, not have to worry about it as I began work on the XAML design.

A separate View and View Model were deemed necessary to handle the Settings popup.

As can be seen, the program is fairly simple, but what it allows for is something more robust than merely watching the clock.

Future

Number one item in the future is to get links onto this post after uploading the program to different locations!

Next issue to tackle is getting the XAML reigned-in to be more pleasing for users.

Finally, I aim to challenge myself to remake Turn Timer in the following formats and languages to move out of my .Net comfort-zone:
  • C++
  • Java
  • Remade as an Android / Mobile app
  • Remade as a Universal Windows Application (UWA)
Check in again when new programs, designs, and insights are released here on Make Better Games!

No comments:

Post a Comment