Skip to content

Daily Dev: Sept 21, 2016

Damn, I missed a day. Well, a couple days actually. I took one day off and then sort of forgot about it. I had some frustration stemming from not pulling the Facebook stuff out of my manifest with the rest of the Facebook SDK. Not a lot of helpful debug statements there. Just instant crashes. Wish I could leave it in, but those poor reviews from the Facebook localization bug really hurt me. I think I could easily have over a 4.5 now instead of a 4.3. Small numerical difference, huge perceptual difference.

So what’s up now? I spent all the time building the iOS build multiple times. I had everything how I wanted it. Then I decided to add leaderboards. I chose not to add leaderboards earlier, because I hadn’t thought of a better metric to measure than the easily gamed puzzle completion times. Instead, I’m going the Project Euler route (which you should check out if you’re a programmer). I’m going to track total number of puzzles completed and give users a “You’re in the top X% of users!” on puzzle wins. It really motivated me through Project Euler. (For awhile, I’ve been meaning to get back into it.) One other con with leaderboards is it adds another piece of maintenance to what was generally a self-sustaining project.

The final “con” would be that the leaderboard will fill up with people that finish every puzzle eventually, but it would be a major win to get there in the first place! There’s the daily puzzles to keep the leaderboard changing a bit amongst the top players. Also, if I do get that many people finishing the game then I’ll be sure to extend it with more levels. Shameless plug: If you want to get on the leaderboards, then it’s best to get in early! Download the game now on iOS and Android to get a head start. (Any puzzle completions now will count toward your future leaderboard ranking.)

So where does that leave me now? Well, I now have what is assuredly horrible php code on my server, an absolutely awful looking leaderboard on the client, and now I have to connect the two Frankensteinien machinations and get it to work somehow. Should be fun. I am happy I got it done from a personal development standpoint. I think a lot of us avoid things that are new. I’m seriously guilty of avoided web dev, because css has already frustrated me. Building out servers was another one of those things that I didn’t want to bother re-learning, because I built up this barrier of difficulty in my mind. However, making  a basic leaderboard was super simple (*fingers crossed*). There was no issue except the imaginary ones I built up in my head. Just another reminder that it’s best to dive head-on into whatever you’re avoiding. Fuck, I guess I have to learn some css…

I also followed a tutorial, so that made it a lot easier (for someone that second-guesses every step and unnecessarily optimizes like me.) You can check out the tutorial I used here. It isn’t perfect, but it’s a good starting point.


1.) Wrap-up leaderboard – (Experienced some getting back in the php/mysql game bugs and really needed to do some trip planning, so this was delayed.)

2.) Release updates on all platforms (iOS, Android, and Web)

3.) Plan the rest of my trip (I have just tonight and tomorrow night at my current place and nowhere to stay after that! It’s crazy! I haven’t gotten my passport back form immigration yet, so I’m stuck getting a hostel day-to-day. It isn’t the unknown location that bothers me, but the fact that I’m trapped here and can’t make any long-term plans. Will be getting my passport back tomorrow, so I can start building more concrete plans.

Thankful for:

1.) Being able to travel again

2.) Such an awesome place to do it as Indonesia

3.) Being ready to move-on both physically and professionally (Checkmate Chess Puzzles will be continued to be supported, but become one of several projects instead of my sole focus. The design overhaul and preparation for localization will happen before I move on.)



Published inDaily Dev Updates

Be First to Comment

    Leave a Reply

    Your email address will not be published. Required fields are marked *