Q1 Project Weekend Progress

The weekend is just about over. This week I’ll be head down in my Q1 project. If you read my last post then you know that I’m recreating the Simon memory game from my childhood. The pictures to the left look pretty similar. The first image is the one that I made this weekend using HTML and CSS. The second image is what I was working from for inspiration. There are a few obvious differences. I left off the Milton Bradley logo for obvious reasons. I also left off the blue switches because they aren’t a part of my MVP (minimum viable product). I do have them down as stretch goals. The blue switch on the left is for different game modes. The blue switch on the right is for increasing/decreasing the difficulty level.

I’m hoping to progress quickly enough that I can add that functionality as well, but I’m leaving it off for now. I’ll keep you posted on whether or not that comes to fruition. I probably spent about eight hours this weekend working on the design and styling that you see in the top left picture. I was trying to go for an authentic reproduction of the original look and feel of the game. I was able to add some animations for when you press the buttons. They are pretty simple, but satisfying. I was also able to animate the sliding of the on/off switch. The animation were really fun, because I didn’t think I’d be able to get that far this weekend. Overall I’m really happy with how things progressed this weekend. My goal was to get the majority of the design work out of the way and I was able to accomplish that. Starting tomorrow I’ll be working on purely game logic. Depending on how that goes I may do some fine tuning to the styling at the end of the week before the final presentation. I’m honestly not sure if I’ll get that far though. I want to spend the majority of my time from this point on focussed on writing really good logic. I want to make everything as modular and functional as possible which will take a good bit of time. I need more practice on refactoring so I’m estimating I’ll have a day or two in that process alone. My strategy is to just crank out the functionality as quickly as possible not worrying too much about the code structure in the beginning. Once I’ve got the kinks worked out I’ll start refactoring and cleaning everything up. If I’m able to produce the first game mode with any time leftover I’m going to add sound to the game using a javascript library called SoundJS. It looks like a lot of fun so I’m hoping I have enough time.

I’m starting to realize that a project of any size done well takes a lot of time. To some of you this project probably seems really simple, but for me there’s a lot of work involved. I’ve got a good eight hours in it already just on the initial design and style. I haven’t even written a single line of code yet. Being able to scope out such a problem is a valuable skill. I think I’ll be able to hit my MVP in a week and I’ll be happy with that. One of the things I’m most excited about with this project is getting more experience managing a project. It seems like there is a lot of turmoil in the industry between project managers and developers. I think a big reason why is that it’s really hard to scope a project as a developer. You never know what roadblocks you will hit along the way. Project Managers have to understand that and developers have to understand that there’s a business reality to our projects as well. As much as we would love to add a million features and figure out clever ways to solve problems sometimes you just have to deliver the MVP. I’ve got a lot of experience as a project manager and event planner from my previous career so I’m hoping I can bring some of that into this new career as well. I’ll let you know how I did scoping out this project at the end of the week. Stay tuned for more info…