I spent a good portion of this week closing off other tasks that I had outstanding so that I could fully focus on Adventure Studio. As part of this I completed a YouTube video on how to integrate the Microsoft Band into a Windows Phone application. This may not seem like it has anything to do with this project, but what I wanted to do was figure out what I could/couldn’t do with creating video tutorials as I would like to create a number of them as part of this project. It was also a task that I have been meaning to do for awhile so wanted to clear that down.
Moving on from that I have been in full research mode, both on the technical aspects and the gameplay specifics for Adventure Studio. Although I have created a number of apps in the past, this will probably be the most complex and I have decided that even though this is an “own time” project, I need to follow the same processes I do in my day to day development work. To ensure that I do this correctly I have decided on the following:
- Use the Agile Methodology
- Use Test Driven Development (TDD) with an initial test coverage target of 80%
- Integrate within source control (Git or VS Online)
- Use valid UI Testing framework
From my previous experience, when developers create their own projects outside of their day to day employment, see some of the frameworks that we all swear by in work as not being valid for a one or two person project. However, on my last project Beep Fit. I realised that I ended up working following a Waterfall method. I had a list of features that I saw should be included and built for that. As a result the application took longer than originally estimated for, it also resulted in me needing to redesign parts of the application later when I realised that some of the features I was trying to add were just not necessary. So for good measure I have pulled out some of my technical books to review at the start and ensure I am following the correct steps.
Its not all about the technical though! What I also need to do is have a look at the various systems used for creating story based games to ensure that I come up with a good feature list for my sprint planning. This has involved dragging out some old books and games, it has also involved getting an old 1980’s type-in book that I had when I was about 11 but never finished creating that game. This could end up with me finishing off something from my to-do list from 20+ years ago!
I am now drafting up my feature lists and setting priorities. If I do this correctly and follow the agile process, I can start getting a basic game ready within the first few weeks and then keep adding and improving the features until I am happy that I have a solid product ready for beta testing.
I also need to investigate using either Git or Visual Studio Online. Although people have their own preferences on source control, I do have some responsibilities for managing TFS in work. If I can use this as a way to improve my knowledge for this project and my standard work, all the better. If not and Git provides the functionality I need then I will use that. So expect my next blog post to be a comparison of the two.