So for all sorts of reasons, Four Star has long been kicking around the idea of making a video game. We have a good cross-section of the necessary skills and it's probably the one genre outside of comics we’re all equally obsessed with. But we’re also commonly tied up with our individual (and more conventional) projects. Also, when our schedules align, we tend to fill the gap with… playing video games. Research, I guess?
Anyway, Sean and I got moderately serious about it a year or two ago, actually putting down ideas about plots and mechanics. He had some sketches, I had a draft of an engine.1
But things never really gelled. It’s probably no surprise that anything Four Star does in the game space would have to have to be very story driven, and to us that meant an RPG. But two forces were kind of fighting against us:
First, RPGs were trending large. No one wanted to play a game that was less than 20 hours of content, and we couldn’t see investing in the amount of writing, illustrating, programming, and scripting necessary to create an RPG of that scope. Especially in our first outing!
Second, the best platform for the tight, polished, “casual”-type game we were interested in making was also the one with the worst controls for an RPG (mobile phones and touch screens, respectively). I think Sean and I were both feeling our Chrono Trigger roots, and adapting, say, “walking around the map” to tap-to-move controls just felt bad.2
And then everyone was busy again, and once again our game plans got put on the shelf.
A Date for Play
I’ve been really excited since Day 1 of the Playdate announcement. I'm a huge Teenage Engineering fan (my poor, abused OP-1 ranks high on my “list of things I’d save first in a fire”), and I’ve owned every application Panic has ever made over the last… wow, it’s been 20 years?!3
But it wasn’t until Steven Frank’s little developer stream on Twitch4 that I thought about making a game for it. Once I did a few things became clear:
- The whole M.O. of the Playdate is to present small, polished games delivered weekly. The scope we had in mind for our old RPG would fit really well.
- The Playdate has a D-pad! And buttons! (and a crank, of course, but that’s more a frosting-on-the-cake-type situation)
- The 400x240 1-bit display both keeps things simple and offers exciting design challenges for Sean.
All of a sudden, I’m really excited about making games again. And as a way to keep myself excited (and motivated) I’m going to blog about it.
LÖVE and the Moon over the C
Looking into it, the Playdate SDK is C at its core. I feel good about that. I have decades of C experience. But it also has a Lua overlay, and Frank suggests in his live stream that developers give it a serious shot before dropping down to a lower abstraction.
I know a lot less about Lua. So I want to dive in to start developing an intuitive sense for its idioms and whatnot. Step one: the really excellent books written by the language’s creator, Roberto Ierusalimschy. The fourth edition of Programming in Lua is really something. Two thumbs way up 👍 👍
Step two: start writing some simple game constructs in Lua to get a feel for how these things work. What constructs? Another favorite book is Bob Nystrom’s Game Programming Patterns. It provides plenty of inspiration along with explanation.
But the Playdate SDK hasn’t been released, yet. The documentation isn’t even available. How can I start building game logic without having to reinvent a wheel I’ll just throw away once the Playdate hits the street?
All I need is LÖVE, a funky little 2D game host for Lua that seems like it provides a lot of the same primitives a Playdate SDK must — at least superficially.
So that’s the plan. Write two-color, 400x240 pixel games in LÖVE to develop a set of patterns for small, portable game development in Lua. Then when the Playdate drops, I’ll be able to hit the ground running.
Wish me luck!
1: Codename: “Highschool”, for reason I don’t remember now. ↩︎
2: I actually made a really cool variation of the engine that kept the character centered in the window and let you drag to scroll the map. When the character hit a wall or obstacle, it had that elastic snap, like scrolling past the end of a list. Which was really cool and I might use for something different later, but still felt really unRPG like. ↩︎
3: Nova? Soon? Please? I need it! ↩︎
4: This is gone now :'( It had a lot of good information in there and now I wish I’d saved it. ↩︎
