Skip to content

Category: Coding & Community

GroupSort 3: Putting Data in Perspective

Part 1: Naive algorithm Part 2: “Team Captain” algorithm For this next part, I wanted to make some tools to better put our data in context, as it comes out from our two algorithms, the naive but perfect algorithm, and our homemade “team-captain” style algorithm. We left off with just simple, single-integer values to compare against each other, and we saw that the team-captain algorithm fared worse (there were typically 2-3 times as many pairing overlaps as with the naive output), but how much worse is this? We’re going to get a bigger look at the data here, by introducing…

Continue reading GroupSort 3: Putting Data in Perspective

Comments closed

GroupSort 2: Let’s be Real Here

In the last post, we wrote a naive algorithm to sort a set of users into groups of a specified size, minimizing the number of “repeat pairs” of group members, as given in a pairing history variable. In other words, you’re trying to put students into rooming configurations, and you want students who’ve been roomed together before to be less likely to roomed together again. We want to maximize the pairing diversity because meeting new people is fun and a memorable part of your formative years. But our algorithm failed those students, because it could only realistically run for numbers up to about 10 students, before the computation…

Continue reading GroupSort 2: Let’s be Real Here

Leave a Comment

GroupSort -or- Please Wait Students, the Algorithm is Almost Done

A few years back, a teacher friend of mine asked me if I could write a program to solve a problem for him. His school travels, so they’re spending every night in hotels, and need to group the students into rooms. Ideally, the students will be with new people as often as possible, and not just sharing rooms with the same people every hotel. Adding to the complexity, the rooms can be of varying size, and the number of nights in each hotel will differ slightly. The problem, then, is this: By the end of the trip, we want each…

Continue reading GroupSort -or- Please Wait Students, the Algorithm is Almost Done

Leave a Comment

Twitter Bots for Community Building

2015 was not a hugely productive year for me. I’ll get to that in another post. But one thing that stands out as something I’d been Meaning To Do™, and then actually did, was to create my first functional Twitter bot. It turned into a project I’m actually pretty proud of, and it continues to be one that I monitor and maintain. This won’t be an overly technical post, but I’d love to talk through the thought process and fine-tuning that went into creating @VegAssist, the Vegan Assistant. Automating a Hobby Sometime last year it occurred to me that a…

Continue reading Twitter Bots for Community Building

Comments closed

Pseudo 3D Road Derivation Part 1: Boundary Conditions

DISCLAIMER: This, for me, is an exercise in curiosity. I am not a mathematician, a professional game developer, or anyone with anything more than a rudimentary knowledge of art theory (pertaining to the theory of perspective). I probably do a lot of things in inefficient ways. For me, the fun is in using what I know to derive things, and arrive at fun conclusions. With that…. The Journey Begins My pseudo3D journey started about a year ago while working on a game for a local annual game jam, TOJam. At the time my fifth TOJam, I was responsible for graphics…

Continue reading Pseudo 3D Road Derivation Part 1: Boundary Conditions

Leave a Comment

Recursive Algorithm Design For Fools

I’m currently working on developing a tile-based (and turn-based) strategy game. The core movement procedures are similar to games like Fire Emblem, Advance Wars and the like; select a unit, and based on that unit’s “speed” or “movement” rating, the surrounding tiles will be highlighted to visibly indicate where this unit can make a legal move this turn. The player, with the unit selected, then selects one of the available tiles, and unit makes its move. Fun! This mechanic requires an algorithm! In a nutshell, we need to be able to start from some origin tile, and spread outward, one tile…

Continue reading Recursive Algorithm Design For Fools