Holy hell, I am one negligent blogfather. That will change imminently. In the meantime, here’s something to amuse:
I guess I could be a little better with numbers
Numbers! They’re the worst, right? All finite and supercilious. Math was never my bag; I mean, I admire its beauty in the abstract, but actually doing it falls under “occasionally necessary evil” for me. Take graph theory, for instance, which I don’t think I’ve thought about since 2001 or so. As with so much else in life, you don’t realize you don’t know it until you realize that you need to know it. To wit: Upon a successfully completed round of Lazer Maze, you find yourself with a satisfyingly perfect grid (right) of lazers. Pretty! Sadly, it’s also the work of villainy. i don’t know what the algorithm is to randomly arrange 20-40 reflectors in a way that produces that perfect outcome, but I’m pretty sure it’s not in my old textbook. Barring a trip down the rabbit hole of decompiling Apple II binary files and reverse engineering it, another plan is needed. Curse you, RMG! ?
Alright. What, then? Well, one major axiom I’ve noticed about the mobile gaming market is that people really, really like watching numbers go up. Even if it’s a game where you do literally nothing, as long as the numbers (whatever they may be) keep going up — preferably forever — there will be a bunch of people who love it, so long as the trappings are charming enough. And I’d be lying if I said I wasn’t right there with them at times. The unalloyed pointlessness of life demands that we validate our existence somehow, and I don’t really know where I’m going with this. Regardless, how can I nudge Lazer Maze into that brainlessly, primordially satisfying mold?
My current thinking is that I’m going to head in a quasi-endless-runner-type direction; something you can pick up while you’re waiting for the money to come out of the ATM, but that remains engrossing while you’re banished to a hell dimension for all eternity. Or whatever. Give the player a certain amount of time, set up a certain amount of reflectors, have the player kill one (or two, or three…) enemies in one go, and repeat. There could then be escalating challenges as the player progresses through levels (say, moving reflectors that throw your laser off course if you hit them). As long as the player keeps finishing levels, they keep going. Scores would rack up both during a game and cumulatively, to satiate the number monster. That could work, I think?
I’m not sure why I’m going on about this, though, when I haven’t even finished the demo of lazers bouncing around yet; as ever, focus is elusive. This week, I’m going to worry about the algorithms, data structures, the structure of the whole thing, and getting a formal project proposal together; the specifics of the gameplay will come together after that. And they’ll probably be more fun than solving a triple integral.
ADDENDUM: My teammate Will very sensibly pointed out the distinct possibility that the placement of the reflectors might not be random, but predetermined. If that’s the case, I could just steal the original reflector layouts. But in the end, I’m not sure it matters that much, since I don’t think the perfect grid thing is really needed.
8 HOURS LATER: Nopers! After investigation, I’m convinced they’re random (which makes sense, since RMG would have needed an algorithm to make the predetermined boards anyway). Ah, well.
But you can’t get good in an afternoon
(Alright, I guess a week was a bit optimistic. I’ll do better.)
I feel like I’m going in a bunch of different directions at once on Lazer Maze (I’m really going to have to come up with a unclaimed name for it…), with not much of a unified plan penciled in yet (as if I’d stick to a plan anyway). I’ll try to stick to one topic at a time here, though, because the erstwhile librarian still in me demands organization.
So! Graphics! James D. Spain (or JDS, as he’s known back in the ‘hood) painted a gorgeously stark black-and-white tableau in the original game, surely a metaphor for the bleakness of the plight our characters — and indeed, all of creation — find themselves in. Clearly I could never improve on it, but I’m not sure it would technically be good form to swipe the original “assets” without permission, but I am still inclined to go with a retro-ish look, so I dunno. Hopefully our design servants students are really good at drawing reflectors in multiple forms? But I’m putting the cart before the horse here.
Since I only knew the very basics of iOS graphics before starting this, so as ever, I hit up my friend Ray Wenderlich, and worked through this tutorial Now I still only know the very basics, pretty much, but in a much more recent way! And luckily, I doubt I’ll need too much more than the basics to make a game about lines moving around a grid (watch that come back to haunt me). The major new takeaway from the tutorial for me was the existence of Live Rendering. Neato! Now I’ll be able to see that my code doesn’t work in no time flat.
Keen! Now, my next move is to work up a basic prototype of how a laser will calculate its path and animate itself through a maze. Also, learn a little about sprites? It’ll be zaptacular!
And so you lose before you begin
Bowing once again to relentless peer pressure, I grace the dear reader with another “befuddled mediocrity botches iOS development” blog. At the moment, it’s mostly intended to chronicle the progress of a game-changing project for my Professional iOS course at Madison College. Like, literally. Game-changing.
In 1982, one James D. Spain unleashed Lazer Maze on the ingenuous masses. Widely regarded as a minor influence on my childhood, this Apple II tour de force is a high-stakes showdown between a pair of bloodthirsty idiots separated only by a tangled web of reflectors. The gameplay is simple enough: the player and his enemy are stationed at different points on the outer edge of a 10 by 10 grid, which is populated by said reflectors (see right). The reflectors make the lazer change its course to a different cardinal direction. The lazer-wielding player is then tasked with predicting where his lazer beam will wind up after it has bounced off all the reflectors in its path (e.g., from point 15 to point 12, below). If the player names the endpoint correctly, his alien nemesis is cruelly murdered; if not, the player gets deservedly ‘sploded by an extraterrestrial projectile. Lather, rinse, repeat.
Hypothetically, that would be a really rad game on to have on mobile, right? Well, I’m gamely (ha!) going to try bringing this crock of joy to iOS, with a design that’s…to be determined. I picked this guy as a project for a few reasons: a) the game is really fun and weirdly indelible (if you’re me), b) it seems simple enough that it’s not entirely outlandish to think that I could actually pull it off, and c) as far as I can tell, there’s nothing like it in the App Store, which is a shame (there is a game called “Lazer Maze” in the store, but it’s a totally different thing).
I’ll check in here at least weekly with exclusive behind-the-scenes coverage of the project. Alright then, I guess we’re set for now. Onward and phoneward!