Jesse Lawson

buy me a coffee ☕ / home / blog / tutorials / portfolio / contact

May 16, 2020 - Blog

Incremental steps toward my next tutorial series

Lately I’ve been teaching myself Dart after a brief but fun fling with Flutter, Google’s cross-platform application development box of magic. I stumbled across Flutter completely by chance; my daughter and I had been putting together notes and taking pictures for an app idea we had: show a picture of someone in a fighting stance, and every time you tap on them, they are knocked back in a different pose. We ended up capturing her doing six silly poses. I was handling the programming part of this joint venture, and managed to get the whole thing built and working on an Android phone in less than half an hour.

Needless to say, I was hooked. Not necessarily on mobile development, but on the language that Google used for it’s framework: Dart.

Dart reminds me of everything I liked about Java when I was writing Gravity Grid combined with everything I like about JavaScript. Something about it just clicks, like: here it is–the feeling that a language is supposed to give you. Maybe it’s just a honeymoon period, but right now I’m really excited to keep learning about it.

One thing that stands out about Dart is dart2js, which compiles Dart down to native JavaScript. In some cases, Dart can perform behind-the-scenes optimizations that make Dart-compiled JavaScript faster than regular ol’ JavaScript. Since it’s type safe, it provides an interesting alternative to Typescript (which you can read all about here). I’ll be tinkering with it on the sidelines as I start to transition to my new job later this month.

All this talk of Dart was really just a segue into my next tutorial project: I’m heading back to my roots and doing a dive into a niche genre of games called incremental games. If you want to know what an incremental game is, start clicking the button below (you will need JavaScript enabled):

Click at least three times.Good! Now try to get your number up to 100. Great job! Can you make it to 1,000?

Total clicks ever: ; Auto Clickers: ( clicks/second)

As is tradition for me, I’ve been thinking about small, contained expressions of complexity to build while learning Dart. As luck would have it, I have been drafting up ideas for a new incremental game that has the traditional clicker-style gameplay but with a choose-your-own-adventure style twist. I’ll be writing about it more here as I get a working prototype out alongside a tutorial that I am writing on the same subject. I’m building the game in Dart (to be compiled to JS, just because I can), but haven’t decided if I want to use Dart or plain ol’ JavaScript for the tutorial.

Until next time,