GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Exercise Timer
View previous topic :: View next topic  
Author Message
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1655
Location: Your consciousness.
PostPosted: Sat Jun 29, 2013 7:46 am    Post subject: Development Log - Exercise Timer Reply with quote

EDIT 30.06.2013
functional first version: http://www.dennisbusch.de/shared/extimer/ExerciseTimer20130630.zip (prerequisites: .NET4.0 and Windows XP Home or any later Windows Version)
/EDIT

First, some screenshots:
(01 - Main Window)


(02 - Configuration Window)


Description:
Being in constant physical pain is not a desirable state, neither for the body nor for the mind. Regular physical exercise helps reducing the pain.
Not a game development project but, being in constant physical pain hinders game development (and is detrimental to quality of life in general), so... priorities! :)

Exercise Timer is a tool to help me/you time your regular physical workouts.

Features (see screenshots above):
  • make/save/load arbitrary sequences of exercises along with # of sets, seconds per exercise, seconds between exercises (breaks)
  • optionally override plan-global times per individual exercise
  • arbitrary audio announcements powered by TextToSpeech at freely configurable intervals

Background:
I've been doing physical exercises regularly for the past couple of weeks (about since April this year) following a DVD which came with a book on this stuff (goal: to be free of muscular pain caused by just sitting around all day).
Doing the same workout every time started feeling a bit boring, so to break the monotony I decided to make this Exercise Timer application to be able to have different plans for each workout.
During most exercises, it's impossible to visually track the screen, so it's important to have audio feedback in there, which is where the TextToSpeech synthesizer comes into play, accompanied by some "ding" sounds during countdowns.

TODO:
  • See that "Start Plan >>>" button? That still needs to be done.
So, basically, everything (the boring data stuff) except the full-screen window which will handle displaying the exercises, along with some progress bars or progress pies and the announcements, is already done. I hope to finish the first usable version tomorrow.

Feels good to be coding again. :)
(developed in VS2012 Express / C# / .NET4.0)
_________________
0xDB


Edited by 0xDB on Sun Jun 30, 2013 9:40 am; edited 1 time
View user's profile Send private message Visit poster's website
xearthianx
Developer

Joined: 28 Sep 2006
Posts: 771
Location: USA! USA!
PostPosted: Sat Jun 29, 2013 7:59 am    Post subject: Reply with quote

I enjoyed C# 4.0... Are you using LINQ for data retrieval? Might be overkill for this project, but it just seemed so fun.
_________________
Ionoclast Laboratories - Scientia et Dominatia!
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Bean
Admin

Joined: 20 Aug 2005
Posts: 3771

PostPosted: Sat Jun 29, 2013 8:02 am    Post subject: Reply with quote

That's awesome!
Having never used C# before I'm wondering how long it too you to bang that out?


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1655
Location: Your consciousness.
PostPosted: Sat Jun 29, 2013 8:22 am    Post subject: Reply with quote

xearthianx wrote:
I enjoyed C# 4.0... Are you using LINQ for data retrieval? Might be overkill for this project, but it just seemed so fun.

Oh, I'm not using LINQ here as indeed that would be overkill. I use the builtin-just-works XmlSerializer for saving/loading my ExercisePlan objects and the application settings and data-binding magic which comes with the WindowsPresentationFoundation (WPF) to ship around having to handle each and every "shit-just-changed-in-UI-element-xyz"-event manually. It's quite the hassle-free way of developing boring data managing bits and pieces. ^^

Bean wrote:
Having never used C# before I'm wondering how long it too you to bang that out?

Considering that I haven't written anything meaningful since 2011, time spent so far(by me on this project) isn't an accurate hint towards how rapid the R in RAD (rapid application development) promised by C#/.NET can be. I think it may have been 16 hours so far in total (8 today, another 8 last weekend). Most of the time is spent wading through MSDN, reading docs on how to do stuff in WPF and debugging things for which there doesn't seem to be any documentation.
_________________
0xDB
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3771

PostPosted: Sat Jun 29, 2013 10:54 am    Post subject: Reply with quote

16 hours to beta is pretty damn good any way you look at it!


-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
xearthianx
Developer

Joined: 28 Sep 2006
Posts: 771
Location: USA! USA!
PostPosted: Sat Jun 29, 2013 1:49 pm    Post subject: Reply with quote

FWIW, LINQ works with XmlSerializer :)
_________________
Ionoclast Laboratories - Scientia et Dominatia!
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Sun Jun 30, 2013 7:43 am    Post subject: Reply with quote

Bean wrote:
16 hours to beta is pretty damn good any way you look at it!
You'd be surprised just how rapid you can bang out software in .NET
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1655
Location: Your consciousness.
PostPosted: Sun Jun 30, 2013 9:51 am    Post subject: Reply with quote

Today I learned that I can not count properly. Getting it to display all times and bars correctly was harder than I thought it would be. ^^

I've still managed to get a functional version done today (see updated opening post for a link at the top..).
(or just get this one.. http://www.dennisbusch.de/shared/extimer/ExerciseTimer20130630.zip (prerequisites: .NET4.0 and Windows XP Home or any later Windows Version) )

The Plan Runner window is started from the Main Window by clicking the "Start Plan >>>" button. It can be freely re-sized and content scales nicely along with it. Plan can be paused/resumed (in case you have to interrupt your workout due to a fire or phone call or something) and canceled by simply closing the window.

(03 - Plan Runner Window a)


(04 - Plan Runner Window b)

_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1655
Location: Your consciousness.
PostPosted: Mon Jul 01, 2013 11:39 am    Post subject: Reply with quote

Gave it a real test run today, using the plans below. Worked out great, had to check the screen a couple of times on the stretching plan because the output of the speech synthesizer is sometimes hard to get. Good thing the display can be maximized, so the exercise names are easy to read even from a couple of meters away and without wearing glasses 8).

http://www.dennisbusch.de/shared/extimer/BasicTraining.extipl
http://www.dennisbusch.de/shared/extimer/BasicTrainingStretching.extipl

So basically, this tool is done. Time to polish it up, write some documentation and make a proper release (soon-ish... :P).

todo for release(UI convenience features):
  • make list scroll to added/moved exercise (already did this today)
  • allow up/down arrows inside exercise name text field to change list selection
  • allow ctrl + up/down arrows to move selected exercise in list
  • add German translation and language customization option
  • add command-line option to directly load/associate/start plan files with the executable
  • beautify,comment and optimize messy prototype code so a release of the project files and code will be a bit less embarrassing

_________________
0xDB
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Mon Jul 01, 2013 3:10 pm    Post subject: Reply with quote

Quote:

Today I learned that I can not count properly.


I always knew you were one of us.

We meet on Thursdays.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4988
Location: Silicon Valley!
PostPosted: Tue Jul 02, 2013 5:21 am    Post subject: Reply with quote

This is pretty neat. When you complete it you should try to get it mentioned on lifehacker. :]
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Exercise Timer

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.