Archive for the ‘Links’ Category

Threes! inspired

Tuesday, June 20th, 2017

In part because I’ve only just found out that someone beat Threes! for the first time, I’m finally going to write a post about my game Slide Quest.

But it won’t (just) be about Slide Quest… (Feel free to skip to the list of my three favorite Threes!-inspired games below.)

Okay, first off, I’ve never publicly talked about Slide Quest before. There are several reasons for this, but namely I’ve been embarrassed by it. I actually never meant to release it. (This is hard to believe, I know, but in some past versions of iTunes Connect — apple’s publishing webapp — you had to set a release date for your app. If you started creating the app in there, but you didn’t know if you wanted to publish it, one technique was to just set the release date to some far off date in the future. I did this, but then that date passed, and the app was released. No fanfare, I didn’t even get notified, or if I did I was too busy with client work to notice.) Anyway, when I found out it was released, it was to a few pretty terrible reviews. (It was basically not much more than a prototype.) I decided I’d rather it was out there than not, but I felt dumb, and basically never promoted it in any way.

I was also embarrassed because of all the issues around whether or not games inspired by Threes! are clones. Threes! was famously cloned very soon after its release, with a game called 1024 appearing in the app store only three weeks after Threes!. This was exacerbated by the release of another game (called 2048) by an 18-year-old developer who claimed he’d never even seen Threes!, and had written his game based on 1024. 2048 was made in javascript, in a weekend, and released for free on github. It proved to be extremely popular, in part because there were a ton of versions of it that appeared for free, often with Ads. (Threes! later went “free with IAP”.) 2048 was also an easier game. It’s wasn’t as punishing as Threes!, and a casual player was more likely to hit upon a winning strategy.

The point is, within a month, there were probably hundreds of games inspired by Threes!, both in the app store and elsewhere. For more about Threes! and clones, you should read the Polygon writeup, but also read the post by the developers of Threes!, where they also post all their correspondence (emails) during the game’s creation. That post is rather heart-breaking, but the email archive is actually a pretty amazing resource for aspiring game developers.

Anyway, I loved Threes!, and played the hell out of it at launch. I bought the tshirt. At some point I started thinking about an RPG with the same “swipe mechanics” as Threes!, and the thought kept me up at night. I too put together a prototype of that game in a weekend. That game was initially called RPGeez, but eventually I changed the title to Slide Quest.

There are several subtle differences (aside from the obvious aesthetic ones) between Threes! and 2048. In Threes! a swipe only moves each of the tiles on the board one space; in 2048, they move until they can’t move any farther. There are of course other differences, but this is the main thing.

With Slide Quest, the main mechanical difference is that there is a character on the board. That character is “you”, and you slide around the board with every swipe. You have a level, and you level up if you attack (combine with) a monster on the board that is the exact same level as you. You can attack and defeat lower level monsters without effect. Higher level monsters just block the board and lead to (eventual) game over. Like 2048, Slide Quest is definitely much “easier” than Threes!, but it does have one more interesting twist, in that every 33 levels, the algorithm for what level monsters spawn on the gameboard changes, getting more difficult.

Over the 3.3 years since Threes! was released, I’ve sometimes taken note when I see other games inspired by Threes!, mostly because I’m curious to see how they tweak the mechanics.

Here is a list of three Threes!-inspired games that I quite enjoy:

Stencilsmith, by Nicholas Sepi Jr. — This game is probably easiest to describe as Threes! meets Minecraft, though much simpler than that makes it sound. Essentially, there are pickaxes that need to combine with land to make materials, and the materials can then combine with pickaxes to make more powerful pickaxes. There are also swords, which need to combine with materials before they can then combine with enemies to take them off the board. You have three hearts (in the main game mode), and when you combine an enemy with something not a sword, it takes a heart.

SideSwype, by Radiangames} — This game combines Threes!-style swiping and match-3 mechanics. I really enjoyed it, and it’s got an elegant graphical style. Incidentally, it’s also by the developer of Slydris, which is an amazing game.

Puzzle Chips, by Curt Stein — Curt Stein created one of my early app store favorites called DropOut. In this poker-chip-themed take on the genre, each tile is a stack of chips. When the stack gets tall enough, it can be tapped to remove it from the board. So basically the numbers don’t really combine or increase, but as you play, chips that are worth more will spawn more frequently.

In a post back in 2014, I talk about small grid games, and said that 2048 was my favorite threes-inspired game. But in my memory of the time, I didn’t actually play that much of 2048, I was actually just really excited to surf the many forks of it that added different mechanics. Now when I try and view forks on github (it says there are 15,037), it just gives me the error “Too many forks to display.”

Please let me know (either here in the comments, or over on my twitter) if you have other Threes! inspired games that you like.

The Biggest Smallest Tetris

Wednesday, May 10th, 2017

Via a slack I’m on, I only just this morning became aware of the MegaProcessor, a 16-bit microprocessor with LEDs attached to all the gates and transistors, that is then blown up to the size of a room and mounted on walls so you can see it working.

Oh, and it plays Tetris.

Frankly, this thing is amazing, and I would love to see it in person one day. Here’s the computerphile video that let me know of its existence:

Deconstructing Tetris

Monday, December 14th, 2015

Elements of Tetris

Tetris is so simple, you might (mistakenly) think it’s the simplest possible version of itself. (The original gameboy Tetris, not whatever feature-laden version happens to have been released this year.) It’s fairly easy to make a list of the various “elements” that go into Tetris. (I’ve always called these mechanics, although someone online recently pointed out mechanisms might be more appropriate.)

– Blocks made out of 4-squares (tetrominos)
– A column-shaped gameboard
– Gravity, the tetrominos move from the top of the screen to the bottom, where they stick in place
– Line clear when a row of blocks is completely filled
– a score counter that increments when lines are cleared

Sure, there’s probably some other stuff in there, but at a very high level, I think these are the most interesting elements. The last few months I’ve spent a lot of time playing a few different games that I think basically fall into a new “branch” of the Tetris family tree. One where the main difference is that they’ve replaced the block-falling gravity with free-form block placement. Turns out, this makes for a bunch of interesting games!


I guess I probably saw Hex FRVR first, back in October, when it hit my “Tetris” google alert, and then shortly thereafter as my Twitter feed exploded with it a bit. I think there were probably just as many people impressed that the mobile web app (the game is fully playable on its website) functioned as well as the mobile app as there were folks commenting on the game itself. Although plenty of folks did comment on how easy it was to get sucked into it. I got pretty hooked, and was still playing it in November when I went to Practice.


Over thanksgiving, only a few weeks later, my brother Dan introduced me to 1010!, which evidently he and his girlfriend have been playing for a while now. I hadn’t seen it before, but I guess that’s not terribly surprising given that about 500 games come out every day on iOS. Looks like it first came out September 2014, for iOS anyway, and it’s been successful enough that they’ve released 1010! World, which is basically the same game broken up into finite levels and put on a map like many of the big puzzle games do nowadays. (Candy Crush etc.)

1010!, played on a square grid, does that mechanic swap I mentioned, bye-bye gravity, hello touch-and-drag, but there are some other pretty major differences too.

It’s played on a ten-by-ten sized game grid, and I’m assuming that’s where the name comes from. 1010! also does away with having a single available piece, and showing you the order of the upcoming ones. Instead you have three available pieces, and see nothing further until you play the last of them. In fact, most of the strategy in the game comes from effectively using the three you are given together to clear some of the board before the next three.

Always Be Clearing

But if 1010! were just giving you tetrominos, it would probably be too easy. I’m guessing I could play indefinitely unless something more was changed, which it is. (In fact, it’s worth noting that 1010! doesn’t include the J, L, Z, or N pieces at all.)

So to balance the game toward ending, it throws in blocks of the following (important) sizes: 1×5, and 3×3. Sure, you can lose from the other block sizes if you’re not careful, but mainly, it’s going to be one of these two that you will inevitably not be able to fit onto the gameboard, thus ending the game.

I think it’s this balance (when to throw you “hard” pieces, and what percent of the time to just give you the basics) that makes both 1010! and Hex FRVR good games. They are both tuned to let you play for a bit, but then stump you not that long after. Playing for a while feels like an accomplishment, the classic “high score high”. Whether the games give you essentially random pieces, or just the illusion of random pieces, I cannot say, but just as in Tetris, you can easily talk yourself into believing the game is not random. Maybe it’s giving you this piece just when it knows it’s impossible for you to play it.

Everything is a Remix

It’s no secret that a lot of my game ideas are also inspired by Tetris.

The quote, “Good artists copy, great artists steal.” evidently goes back quite a bit further than T.S. Elliot. I very much subscribe to the thought that everything is a remix.

Right now I’m working on a port of my first game (playable on this site) to iOS. It’ll be called Action Go, and will play like the web counterpart, but look a whole lot better. The entire inspiration for that game was, “What if I removed line-clearing, and replaced it with the capture mechanism from the board game go?” I’m not planning on removing the web version, but the new one adds a lot of stuff, so I hope it’ll find a following on iOS and Apple TV when it comes out early 2016.

PS, It’s all been done

By the way, I have no idea if the Hex FRVR folks know about 1010!. But it’s a pretty fair assumption that they do. After I spent some time thinking about this, I realized I could whip out a triangle-based game with similar mechanics in very short order. A quick search later, and I’d found Tringles, which does exactly that. (Good thing I didn’t waste any time prototyping!)

It’s easy to see though, that there are nearly infinite ways you could take just a simple game and swap out one mechanic, (and adding a few more where it makes sense after that) to get a whole new game. Or hell, a whole new genre of games.

P.P.S. Crash

If anyone who works on 1010! read this, know that the app is crashing for me on my 6s+ like every 2 minutes. I don’t think it was doing this until the recent 9.2 update. Please fix it. I have an addiction to manage.

Awe-full important

Sunday, June 14th, 2015

For the last couple of weeks, I’ve been citing an offhand comment some eyeo presenter made about the importance of experiencing “awe” regularly in your life. After getting over that slight discomfort I always feel when citing sources whose sources I absolutely don’t know, I’ve been finding it an easy justification for all kinds of actions and decisions I make.

So I did some googling. This interesting slate article by an “emotion scientist” suggests that the state of awe provokes thoughtful reflection and skepticism. This makes sense to me because I think one thing I find so appealing about “awe” are the big ideas. And big ideas give you perspective. If I’m contemplating the nature of the cosmos, that bug I’ve been working on for the last few hours seems rather less important. (Which I’d argue often helps to solve it, but that’s another blog post.)

This Atlantic article cites a Stanford study published in 2012 whose title says it all: “Awe Expands People’s Perception of Time, Alters Decision Making, and Enhances Well-Being” This huffpost piece cites a paper written in 2013 with another telling title: “Approaching Awe, A Moral, Spiritual And Aesthetic Emotion.”

This quest for awe is absolutely why I made it a priority to go to eyeo festival this year. It’s why I went to Northern Spark last night, and stayed up ridiculously late looking at art. The eyeo presenter that I quoted said it’s why we go to museums. Finding awe is often what drives my decisions around what to work on when I have spare time, and what to spend my recharge time doing in my evenings and off hours. Now I just need to figure out how to trigger it with the games I make.

Tetris hardware hacking

Thursday, January 22nd, 2015

It’s been a while since I’ve posted any Tetris stuff on here, and I ran into some interesting hardware implementations today that reminded me I hadn’t posted about L3D Tetris yet. So…

L3D Tetris

Last week at the bar after our monthly igdatc meeting, I was showing off the L3D, and took this vine of CubeTube user hape’s L3D Tetris. (Shortly thereafter, the official CubeTube youtube channel also posted a much better/longer video of it in action.)

Frankly, this existing was a load off, since I had already said I was going to write Tetris for the L3D. Now that I don’t have to, I’m focusing on some more original game designs. I should have one I’m calling Match-L3D playable later today. (Though I’ve been saying that for a few days, and I spent most of this morning cleaning up code I wrote last night when it was too late for me to have been realistically coding.)

My impression of actually playing it was basically that there are far more satisfying 3D tetris implementations, unfortunately. It’s just plain HARD, and can be really difficult to “line up” the pieces, especially the farther into the cube you’re looking. The L3D has a pretty serious problem with reflections off the plexiglass, and that didn’t really help with the playability either.


LED Tetrises

Over at the HackADay blog, they posted yesterday about user Alex’s Arduino Tetris on an LED Array. That one was pretty plain looking, (not to diminish Alex’s efforts, I’m sure he learned a lot putting the project together!) That post links to a previously posted project (shown above) called Breadboard Tetris, as well as another running on an oscilloscope. But their blog is actually a cornucopia of LED Tetris links! Many more are findable by searching their website, including Tetris wearables, like this LED tie, and a sweet looking arduino bracelet.

tetris_and_dinoIf you want to build your own LED Tetris, there is an instructable you can follow, (although comments imply it’s incomplete, so maybe you’ll have better luck with this other one). Anyway, hardware hacking is getting easier and easier all the time.

Many of these projects post their Tetris code, and it would be a fun exercise (though not one I’m about to undertake just now) analyziing how they all go about implementing the various challenges inherent in writing Tetris. (Piece rotation would probably be the most interesting to analyze, although 2D grid storage would also be worth comparing and contrasting.)

I’ll leave you with this custom LED Tetris project next to an inflatable dinosaur. It’s a tossup which one is a bigger waste of space. At least you can deflate the dino. ;)

Game(s) of the Year

Thursday, December 25th, 2014

I’ve seen a few posts and tweets by game designers about their favorite games of the year. I thought I’d collect those and comment. (Maybe even compile my own list!)

It’s hard to believe that Threes! came out this year. Amazing really, considering how much time and effort was spent thinking about it, re-imagining it, not to mention playing it, of course. It probably gets my vote for game of the year.

I almost didn’t mention A Dark Room because it came out last year, but wanted to say that it’s well worth playing (as are all of these, now that I put it that way). Any game designer will especially like the “extras” that are unlocked after the first playthrough.

I got Stellar Smooch after reading this post, and LOVED it. It’s very short, and I was able to finish it in less than an hour, but everything about it made me happy. I did also pick up Woah Dave! on my 3DS, and played it for a few hours. Don’t think it would make my top 10, but it was worth $.99, for sure.

Monument Valley would also make my list. It was too easy, and I’d have liked MORE, but neither of those are reasons to deny yourself this absolutely amazing experience. It’s the best Escher inspired 2D puzzle game I’ve ever played. (I believe I also played Antichamber for the first time this year, although it came out in early 2013.)

The linked MetaCritic list is definitely worth reading. Cavanagh’s VVVVVV does take slot number one, and I would put it near the top of my list as well. I’d never played the game before (on any of its many platforms) and was absolutely blown away when I downloaded it earlier this year. I’m not even all that huge a fan of platformer games in general, but VVVVVV is definitely a game worth playing for the sheer number of ways platforming is re-invented (mostly around the central mechanic of reversing gravity at will).

After I read Adam Saltsman’s post in bed a few nights ago, I picked up Alcazar and played it until I fell asleep. Also, I’d completely forgotten that I wanted to buy Framed, so picked that up, as well as Hitman Go, (which I had been resisting, but is on sale currently for $.99).

Saltsman also mentions Michael Brough’s Helix, which I have played for a fair share of hours, and would probably make my top 10 (especially if limited to iOS).

Finally, after thinking about this long enough to write this post, I said:

Here’s the list with links: Threes!, Fantasy Life, Monument Valley, Dream Quest, Hoplite, VVVVVV, Poptile, Helix, Galaxy Trucker, & Catchup.

Hoplite came out December 21st, 2013, but that may as well have been 2014, I think. Galaxy Trucker has been around for years, but I’m speaking specifically of the iOS port that came out this year. We’ve already talked about VVVVVV. Anyway, off to play some more games!

L3D Games

Tuesday, December 23rd, 2014

Screen Shot 2014-12-23 at 11.39.59 AMIf you haven’t already seen the L3D kicksterter, head on over there and check it out. As of this writing, there are still 13 days left to get one of these awesome LED cubes.

I’m excited to announce that I’m working on some games for the L3D. As of last night, I’ve got a project with 4 game controllers working with the L3D “simulator”. You can see one controller working with my sample project here:

I’ll be posting the code in the next week or so, after I get my cube in the mail and test on some actual hardware. The L3D library (including primitive simulator shown in the video above) is all written as a plugin for Processing, (which, incidentally, I’ve wanted to work in for AGES), so it was a relatively simple matter to get the L3D plugin working with the Game Control Plus plugin.

Now that I’ve got them working together, I’m planning on working on the following projects:

  • L3D Snake — a 3d version of this classic game, for 1-4 players — this one is practically done in my example code, just needs some auto-movemet, and an array of previous spaces for each player, and end-game conditions.
  • text library — I’ll be helping write a general library for scrolling “marquee style” text. This should help with displaying who won once the game is over, along with maybe showing the score, or even game selection, if I get around to wrapping up several games into a package of some kind.
  • some games of my own design — I’ve already got a simple color-selection territory game ready to go. This should look really pretty, as well as (hopefully) being fun to play. For 2-4 players. There are some other ideas I’m floating around also.
  • L3D Tetris — This just needs to happen. I’ve written a lot of tetris variants, but never a 3D one (though I’ve always loved 3D tetris), so I think it’s finally time.
  • L3D Invaders — A 3D space invaders could also be really fun.

I’m also really interested in the possibility of designing some turn-based “board games” using the L3D. I haven’t written anything down yet, but there are some ideas percolating in the back of my head.

Chessrunner & more Chess Puzzle Games

Thursday, November 6th, 2014

Screen Shot 2014-11-05 at 11.42.54 AMChessrunner
Yesterday, my friend Lloyd linked me to Chessrunner (reddit thread), a web-based, chess-inspired endless runner in which you start with only a king, which you have to move forward on an endless chessboard. As you move, you can capture enemy pieces and make them your own. It’s an inspired idea, and one that apparently only took developer/creator Juha Kiili a weekend to implement (in Unity). There has been plenty of positive commentary on Reddit, and hopefully he’ll flush out the idea and (ideally, IMO), bring it to iOS.

Chessrunner’s “timer” mechanic (making it an action puzzle game) is pretty cool in that the gameboard is both expanded (from the top) and shrunk (at the bottom) one square at a time. The opposing colored pieces take one move after every one of your moves. They will ALWAYS capture your king if you give them opportunity, but they are not smart enough to trap you (yet), so surviving is really all about seeing all the attack lines. And that’s why this game really does a good job (IMO) of feeling like something you do while playing chess.

Have I been remiss?
I’ve written before about various chess-inspired puzzle games. (And of course I hope anybody reading this already knows about ActionChess, which was my first app in the app store.) But I realized when I started writing about Chessrunner that there was no way to find those game mentions! (Now there is a Puzzle Chess Games category.) And furthermore, there are several other chess puzzle type games that I’ve played over the last few years that have not (yet) been mentioned here. So I wrote up some mini-reviews:

IMG_3470Pawn’d (available for $1 on iOS, or in Lite form for free) is a chess & match-3 matchup. I had a very similar design idea for this style of game as a game mode for ActionChess, but I never really put any time into it.

Pawn’d takes the concept in a lot of different directions at once, and looks great while doing it. There are three main game modes, each designed around how the game ends, and each with two more difficult variations called “Blitz” and “Master”. Additionally, there are two introductory modes that have neither variation, one called “Practice’d” (play to a certain # of matches), and another called “Clock’d” (play to a time limit). Each of the modes has its own leaderboards, making something like 22 leaderboards in the whole app. There are also a ton of achievements. Basically, if you like this concept, you can keep playing it for a LONG time without running out of things to do.

This game, possibly more than any of the other ones listed here, is decidedly worth playing, and I’ll cop to getting sucked back into it while writing this.

Chess Tower Defense
Screen Shot 2014-11-05 at 11.41.24 AMI’m fond of telling the story about how, when asked what he thought of ActionChess, my (then 8-year old) nephew Jake replied with “Could you make it a tower defense game?” I LOL’d. Well I think it was less than a year later that you could play Chess Tower Defense over on Kongregate.

It’s graphic design is quite spartan, but the concept is interesting nonetheless. You must survive waves of attacking “things”. (They are not pieces really.) The things don’t attack your pieces, but instead march methodically toward you (downward), passing right through your pawns. Your pawns (and other pieces) can attack them, in the standard directions, and if they don’t, each thing will remove one of your hearts when it gets past your back row. Between waves, you can reposition your pieces, and buy new ones. It’s an interesting concept, and one also worth spending some time playing, if only just to wrap your head around it, I think.

Knight Defense
knight-defense-screen1136x1136Knight Defense (for iPhone or iPad) appeared in the app store about another year or so later. As good as Knight Defense looks, it’s definitely less on the chess strategy end of the spectrum, and closer to the tower defense end. It’s all real-time, so there is no turn based aspect, and you can move your pieces all over the board at will during the game. In each of the squares your pieces could attack in a real game of chess, those pieces may damage enemy pieces. Like other tower defense games, Knight Defense is played in waves, during which enemies will appear at the top of the screen and move toward your king piece, wherever he might be on the gameboard. Though they are shaped like chess pieces, the enemies don’t move or attack like chess pieces, there just run into whichever of your pieces are in front of them, and “damage” them, eventually destroying them. Your pieces can be upgraded to do more damage at once, and to heal them once they’ve themselves been damaged. This is worth playing for chess fans, (especially so for those of you who already enjoy Tower Defense), but it’s not necessarily at the top of my list.

Cheesy Chess
cheesychess_screen1024x1024Cheesy Chess (free with ads for iOS) is not turn-based or action-puzzle at all. It’s more of a static puzzle game where the goal of each level is to get your king to the other side of a small chess board filled with pieces but for one square. In as much of the game as I’ve seen, there were no captures, only moving pieces around in a very cramped and crowded grid. This felt to me like a chess-themed version of Rush Hour (a sliding block game). Admittedly, I’ve played the least of this game. The mouse chess theme is super cute though, and it’s very well-made.

Catchup Reviews

Wednesday, October 1st, 2014

Screen Shot 2014-08-07 at 2.46.50 PMI’ve been meaning to write a post for a while now with pull quotes from the two big Catchup reviews. (It’s kind of a shame I haven’t even mentioned them yet on here.)

But before I get to those, Catchup is free in the App Store today. I’m hoping for a big influx of new players who might then tell their friends about how great it is, and maybe some of those folks will purchase the app tomorrow, when it’s back to $2.99. So if you haven’t already, go download it now! (But if you’re reading this, my guess is you’ve already got it, so thanks for that.)

Anyway, Catchup’s first big review came from Pocket Tactics on the 14th of August, exactly a week after its release. It’s an absolutely stellar review, giving the game 5 out of 5 stars, and I’ll just let some of the quotes speak for themselves:

“Catchup is as elegant as a game can reasonably be, presented in a marvelously user-friendly way.”

And later:

“…it’s packed with all kinds of options, some of which are unprecedented in my experience.”

In another quote that I found quite amusing, the author, Kelsey Rinella, also manages to call Nick (the game’s designer) a yahoo, while still complimenting him:

“I am not amused that some yahoo can waltz in and make what I do look easy and sound like a caring, brilliant guy at the same time.”

Catchup’s second big review was from the iOS Game review behemoth Touch Arcade. It absolutely floored me to get a full review on the front page of Touch Arcade, and they gave it 4.5 out of 5 stars to boot. Here are a couple of quotes from author Shaun Musgrave’s review:

“If you’re even a little bit into strategy games, you need to get some Catchup all over your mobile device.”

“There are also a number of achievements set up through Game Center, some of them very cleverly devised to force you to play outside of your comfort zone. That’s my favorite type of achievement.”

The Touch Arcade review didn’t appear until August 22nd, slightly more than a week after the Pocket Tactics review. Another week after that, Catchup was back on Pocket Tactics (on the 29th) for their “Games of the month” for August. Here is another great quote from that:

“The greater the ratio of fidelity to a complex system to rules overhead, the better I tend to like a design. Catchup doesn’t even attempt to satisfy my strongest gaming craving, and yet I feel excitement every time I see the badge saying it’s my turn in a game. It’s like rediscovering excellent vanilla ice cream after years of trying all sorts of tarted-up frozen confections. It’s such pure gaming goodness, without dissonance or unpleasantness of any kind.”

Obviously, I’ve added some of the above to the app’s app store description. (Let me know if you have any opinions about the ones I chose!)

I will probably write another post at some point about stats, including download numbers, and what kind of impact these reviews had on those. But anecdotally, the Pocket Tactics review got us slightly more downloads on the day of the review, (I’m guessing because their readers are closer to our core demographic), but the TA review had a longer impact, for more days. Possibly we fell off the front page of PT faster.

Watching videos — WWDC, Swift, POP, and grid-based games

Thursday, June 5th, 2014

This week has been all about learning, and specifically about watching videos to learn. Mostly because this week is Apple’s big WWDC conference. The list of developer-specific stuff they’ve announced this week is perhaps slightly larger than usual (including a new programming language called Swift — more on that later), and I have been watching a ton of talks pouring out of San Francisco in video form. (Special thanks to Apple for releasing them so expediently!)

Normally I am fairly un-enthusiastic about watching videos to learn. I’m much more of a do-er than a view-er. I’ve got to be working with the code in order to absorb a new programming language, so the Swift videos in particular have been somewhat frustrating. I did spend most of Tuesday with the OSX 10.10 and Xcode 6 betas, and Swift specifically, but after spending a lot of unnecessary time tripping over syntax, grammar, (and copious crashes) decided to go back to videos (and getting some actual work done).

My impressions of Swift are pretty mixed. On one hand, I love that they’re trying to make a language that is simultaneously more accessible and also less prone to bugs. That is as fantastic and commendable as it is self-serving. On the other hand, I’m not yet convinced it’s going to be an instant switch for me. I had lots of little niggling problems with the syntax. For example, I’m not sure the benefit of declaring strongly typed variables using generic keywords (var and let). In the c-based syntax languages I know and love, you declare the variable with the type. So in swift:

var view = UIView()

vs Objective-C:

UIView *view = [UIView new];

Now, the first example isn’t ambiguous or anything, but how about this one:

var views = UIView[]()

This is how you declare an array of UIView objects. I do like that it will always (and can ONLY) be an array filled with UIView objects, but I do think it’d be incredibly easy to miss the brackets. Overall though, most of the problems I had weren’t with the language itself, but with the tools, which I think are just not ready yet. I mostly agree with Austin Zheng when he says (from the comments of his 2048 port to Swift): “Xcode is as unstable as always. The background compiler/code analyzer kept on crashing and restarting itself. Xcode was functional enough to allow the project to be brought to some state of completion. The debugger is horribly broken though.”

All my video learning this week actually started on Monday (while waiting for the WWDC keynote to start) with watching Facebook’s video on building the paper app. This is also the one in which they announced their open-source animation framework pop. (And was recommended to me to learn about why it might be useful.) At an hour and a half, it’s a long video, but worth watching not just for the pop stuff (which is absolutely interesting, particularly if you already use Core Animation in your code), but for a multitude of other insights into how Facebook writes it’s apps. (There is some seriously interesting iOS engineering going on over there, something I did not expect given their history and track record, particularly in the quality department.)

Finally, yesterday (after fully maxing out on more WWDC videos), I randomly stumbled onto a talk about SpriteKit and grid-based games. The first half of the talk, by Scott Kim goes into great detail about several different kinds of grid-based puzzle games (on iOS specifically). He more or less breaks the talk into categories organized by gesture, which I think is an arbitrary distinction. (I’ve talked before about how I think the best games provide both tap and drag control schemes that are not incompatible.) Otherwise I think he does a really great job with the topic, and while it’s nowhere near comprehensive, it’s a very nice introduction / survey of the topic. This is very close to a talk that I’ve been thinking seriously about writing. (I first mentioned this idea in a previous blog post.) But since I haven’t (yet) written my taxonomy of grid-based games, Kim’s talk is, at the moment, much better than mine.