Outwitters Sports Network

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.

iOS on Device Replay

iOS on Device Replay

Replay Viewer Version 1

Replay Viewer Version 1

Replay Viewer Version 2

Replay Viewer Version 2

Replay Viewer Version 3

Replay Viewer Version 3

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.

OSN Final Replay Viewer

OSN Final Replay Viewer

OSN Website

OSN Website

Technical Details

The replay viewer was programmed in Processing and then loaded on the website using Processing.js. Processing didn’t originally support JSON data so I had to use the compiled add-on library and examples at Jer Thorp’s Blog article “Processing, JSON & The New York Times”. Processing.js on the other hand does not support any java add-on libraries like Processing does so I ended up creating a special JavaScript based add-on that would supply Processing.js a library with the same footprint as the original java JSON library. I found a wonderful reference guide on Processing.js’s website called Pomax’s Guide to Processing.js that was invaluable in getting Processing.js and JavaScript to work together. This allowed Processing and Processing.js to use the exact same Processing based code so I didn’t have to support two separate code bases.

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

Summary

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.

No Comments

Slipix Version 1.0 for iOS

Slipix has been discontinued and will not be updated anymore.

Introduction

Slipix Logo

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!

Click here to check it out in the App Store!


Video

Screen Shots

Support

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!

, ,

No Comments

Portable Google App Engine For Windows (Enhanced)

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.

Read the rest of this entry »

8 Comments

Growing Pains

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.

No Comments

When? Version 1.0.3 Just released in the App Store!

When? Logo
I am happy to announce that version 1.0.3 of When? has just been released in the App Store!

Click here to check it out in the App Store!

Read the rest of this entry »

, ,

No Comments

When? Holidays and Important Events App for iOS4 Devices

Introduction

When? Logo

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:

  1. Find the event or events you want using categories.
  2. 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!

Click here to check it out in the App Store!


, ,

No Comments

WebSolver: An Interactive Cryptogram Solver for the Web!

A great carpenter does not need to know how to make a hammer or saw in order to create a masterpiece.

Web Solver: Start
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.

Read the rest of this entry »

, , , ,

1 Comment

Pattern Words: A Solver's Staple

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!

Read the rest of this entry »

, , ,

1 Comment

Beginner's Guide to the ACA

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.

Beginner's Guide to the ACA Screen Shot

Click here to download!

, , ,

No Comments

Quartus II Quick Start

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.

QuartusQuickStart
Quartus II Quick Start

No Comments