It has been a while since I posted here so I wanted to give some details to what I’ve been working on over the last year. About a year and a half ago I discovered an iOS turn-based strategy game called Outwitters. I was immediately hooked. It had enough variation and strategy to keep my interest. I was playing it all the time and recommending it to everyone who would listen.
After you finish a game you have the ability to re-watch the replays and share them with others. This allowed you to learn new strategies or show off a triumphant victory. Unfortunately, you could only share the replays with someone who had an iOS device and had the Outwitters app installed. I wanted to watch the replays on my desktop so that I could easily compare and contrast different strategies against each other and improve my game.
Outwitters Replay Viewer
I began the process of reverse-engineering the replay protocol (with permission from the original developers) and creating the Outwitters Replay Viewer. I didn’t have any help from the original developers about protocols, file formats, or anything like that so I had to figure that all out on my own based on the data I could extract from the game. It took a bit of time to get everything squared away but in the end it worked out great.
The original version of the replay viewer wasn’t much to look at but it was functional. The second version had very basic graphics to indicate the types of units. But the 3rd version included all the graphics from the original game, looked the best and was the most functional.
Outwitters Sports Network is born!
Once the replay viewer was completed and people started using it, there began to be a lot of replay data stored on my server and so I started scanning them and creating analytics that allowed you to quickly find specific replays by map, player, unit, etc. This began the transition from just a replay viewer into the Outwitters Sports Network (Abbreviated as OSN). There are statistics, weekly top ranked player lists, leaderboards, popular replays and much more. According to Google Analytics, from August 2012 to December 2013 there have been 86,237 visits, 17,951 unique visitors, and 355,938 page-views. As of December 28, 1013 there have been 21,872 user submitted replays.
The Outwitters Sports Network Website utilizes the following technologies:
- PHP and CodeIgniter for the backend processing and website
- Bootstrap for the majority of styles on the website
- JQuery for the powerful dynamic web interface
- Handlebars for client-side templating
- Highcharts for client-side charts on the statistics page
- MySQL for data storage of statistics and searchable data
- JSON text files for storage of full replay data files
It was definitely a long ride but a pretty enjoyable one. The final product ended up being way different than I had originally planned but I think it came out great. Especially, since it was originally just a proof of concept to see if I could do it. The Outwitters Sports Network is still going strong and still gets quite a few visitors. It is currently in maintenance mode as I’ve pretty much added all the features that I really wanted to be there. I still update the top player ranks every week and keep things running smoothly.
Slipix is a unique new puzzle game where you touch and drag different layers of an image until the real picture is revealed. These are not jigsaw puzzles. Each layer is a different design or pattern that create unique challenges.
There are 40 unique levels to master with four difficulty levels. Quick Play mode can generate an endless amount of levels to satisfy any puzzle solver. There is even a head to head multiplayer mode (iPad only) so you can play with your friends.
More levels are on the way!
Have a comment, need help or have suggestions for new categories and events? I’d love to hear from you. Use the support/contact form or leave a comment in the comments section and I’ll get back to you as soon as I can. Thanks!
5/12/2011: Updated to support Google App Engine Version 1.5.0.
A while back I put together the information and steps to get Google App Engine running on Windows wrapped up in a portable little bundle. Since it has been a while I thought it could use a good refresh with the latest versions of everything and make things work more like the real Google App Engine. Some of the content may seem the same as last time but there definitely will be some new ways of running things and new capabilities that were not available last time. This new way is much easier and should keep up with all the changes that newer versions of Google App Engine may bring.
I recently moved to a new website host and have been in the process of migrating the main site and tools section over. It seems that in the transition the URL styles were not set correctly causing some of the older links to not work. This has been repaired. Sorry if you got a bunch of “Page not found!” errors over the last week.
I am happy to announce that version 1.0.3 of When? has just been released in the App Store!
Read the rest of this entry »
Do you want to know when Mother’s Day is this year? Wouldn’t it be easier to have it on your calendar? It gets pretty tedious adding all those important events and holidays by hand. When? is an App for iOS4 Devices that allows you to easily find and add holidays and important events to your built in calendar.
It contains important events for many countries (with states or provinces where applicable) and religions. New categories and events will be continually added. When? makes it simple to add events to your calendar in two easy steps:
- Find the event or events you want using categories.
- Tap the + button and the event is immediately added to your calendar!
You can even add an entire category with just two taps. Tired of having an event on your calendar? Remove it just as easy by pressing the red check mark. That is all you need to do!
A great carpenter does not need to know how to make a hammer or saw in order to create a masterpiece.
A while back I wrote a bunch of articles describing how to create your own interactive cryptogram solver using python. I’ve used it a lot in my own personal solving and have had a few friends use it too but it definitely is not a tool for everyone. There are a lot of great tools out there for solving ciphers but many of them are very technical, require a special environment to run, or require programming knowledge and experience. Now, I don’t want to down play the usefulness of these great tools or tell anyone that they shouldn’t learn computer programming (Note: I think all computer users should know the very basics of programming logic as it is so useful for many things). That being said, there are many people out there who love a good challenge but either don’t have the desire or the time to learn to program. Sometimes the greater skill is knowing how to use the tools properly and efficiently. A great carpenter does not need to know how to make a hammer or saw in order to create a masterpiece.
So for all you great carpenters (solvers) out there, I have ported my interactive cryptogram solver to the web! No downloads, no special environments (other than a modern web browser), and no programming skills needed. Just a clean area where you can do what you do best: solving.
While working on the Beginner’s Guide to the ACA, there was one technique that consistently showed up in all the research material: Pattern Words! At first I didn’t really understand how great they were. For those who don’t know about them or need a refresher, I’ll discuss a few of the different pattern types that I have come across. Afterwards, I’ll discuss my own Pattern Word Search Tool. Lets get started!
When I first joined the ACA and opened my starter packet, I was eager to jump right in and start solving Aristocrats and Patristocrats. I tried to solve as many as I could. Once I got stuck I would try to learn a different way to solve in hopes that it would get me unstuck. There is so much great information available on solving different cipher types and trying out new techniques. Unfortunately, since there is so much great information, it is difficult to figure out where to start or what resources to use. I found myself frequently getting lost in material too advanced at the early stage and becoming quite frustrated when the information did not penetrate my thick skull.
After one frustrating week, I contacted LIONEL, the ACA Recruitment Committee chairman, in hopes of finding some form of beginner’s guide to help me stay focused. He mentioned the “Young Tyros Newsletter”. It is a wonderful resource and I really recommend all new members and even non-members to read them. They have lots of great insights and tips to get you unstuck. In our discussions, I proposed that we should create a “Beginner’s Guide to the ACA”. I definitely didn’t want to re-hash all the great information out there. My goal was to compile a small list of the most important topics for a beginner to know and then point them in the right direction of all the other great materials out there.
LIONEL put me in contact with a few members who graciously agreed to send me some of their notes on how they solved some of the lower level Aristocrat and Patristocrat cons. Their notes and insights have been a great help in increasing my knowledge and solving abilities. It took quite a long time and many iterations before I was satisfied with it but I finally finished the first version of the “Beginner’s Guide to the ACA!” This would not have been possible without the help of BECASSE, GGMA, LIONEL, MICROPOD, MATANZA, and ZANAC. I am very grateful for their help.
You can download the Beginner’s Guide to the ACA below. Hopefully, it’ll help someone not get frustrated and lose interest in cryptology before they gave it a good chance.
I’m taking a Computer Engineering Course and Lab and have been learning how to use the software Quartus II to generate and test logic circuit schematics. The tutorial given in the class was quite long so it was hard to fully retain all the information and quickly find anything if I forgot a step. I went through the tutorial and wrote down a few helpful steps and thought I would share it.
Quartus II Quick Start