Guitar toy
I was playing with the Flash Player 10 audio API and made a little guitar toy using Karplus-Strong synthesis.
View ArticleDungeons and Dragons: Heroes of Neverwinter
Dungeons and Dragons: Heroes of Neverwinter was a turn-based RPG on Facebook based on a Dungeons and Dragons 4th edition. Players created a character, choosing one of 4 classes and races. They could...
View ArticleArray shuffling
Array shuffling or randomization is one of those things that’s easy to get wrong in subtle ways. The naive way looks something like this (Actionscript): for (var i = 0; i < myArray.length; i++) {...
View ArticleSpiral Code Snippet
I recently needed to make something spiral outwards on a grid. With a bit of experimentation, I found that the steps taken by the spiral always have a pattern like Left Up RightRight DownDown LLL UUU...
View ArticleDungeons and Dragons: Warbands
Dungeons and Dragons: Warbands is a mobile, social, turn-based squad tactics collectible miniatures game based on the tabletop Dungeons and Dragons: Warbands 4th edition rules. Players collect...
View ArticleSimple Optimization – Finding Graphics Bottlenecks
This post is about a time when I was able to use a profiler to very quickly find and fix the cause of a noticeable frame hiccup. I was working on an isometric Flash game with turn-based battles on a...
View ArticleOptimization – Choosing the right algorithm
I was working on performance optimizations for a turn-based tactical RPG. There was a noticeable hang when showing the movement highlights after clearing a level, when characters could move freely over...
View ArticleAdvanced Angular UI Router: Nested Views (excerpt)
At ThinkNear, we have an in-house administrative dashboard that our ad operations team uses to set up and manage ad campaigns. The dashboard is an AngularJS frontend with a Ruby on Rails backend, with...
View ArticleUI and Integration Testing for a Full-Stack Javascript App (excerpt)
While developing our new full-stack Javascript app at ThinkNear, we needed to pick a technology for UI and integration testing. For our Ruby apps, we use Capybara with RSpec and the Poltergeist...
View ArticlePR Queue Checker
At ThinkNear, every commit must be reviewed before it is merged into the master branch. To do this, the submitter opens a pull request (PR) on GitHub, and assigns it to one of the code reviewers for...
View Article