The problem is that I've never done that stuff before. I don't really know what it entails and that scares me. GlyphQuest was always meant to be a bit of an experiment - not the killer app that would put us in business, but something to tide us over whilst we prepared for the next big thing. The problem is that now it's actually quite a good game and, one of the main problems we've had is dialling our ambitions back for it - turning down features that would make it better because we don't have the time or resources to do it.
So that got me thinking.
How hard is the submission process? I think Apple want it to seem like it's just clicking a button, but is that actually the case?
There's only one way to find out I guess. Submit a game.
So here's a new plan - make and submit a game. Starting now. The clock reads 12:24pm on December 12th. I'm going to start a new project and update this page as often as I can with my progress.
VS Poke 12:43
The game I'm going to make is a simple affair. It's a two-player, networked game. The winner is the first person to find and poke the other player in 3D space. Of course, this immediately throws up a couple of questions about how I'm going to do the network stuff and it could all come crashing down at the first hurdle, but for now, this is the aim.
New project is started. Everything's going to run out of the one scene. Time for some lighting. The players are going to need to be able to orient themselves, so I'm thinking a pair of opposing Directional Lights. I'm no good with colour, so I'll let the Color Scheme Designer do the work for me. Orange and Teal - it's the only way to be sure...
First Deployment 13:14
With GlyphQuest, I kinda skipped over some of the stuff you were supposed to do when it comes to deployment. Things to do with provisioning profiles and the like. It turns out, I've ended up using wildcard profile or something. I assume that means it's a thing I'll have to change before release - hardly surprising as I can't really release something called appname now.
For VS Poke, I think I've done it properly. That is to say, I've created some kind of bundle and set up a new provisioning profile. Either way, it works on device.
By 'works' I mean, I have a starfield and a camera that you can rotate around using the touchscreen. I'm thinking about integrating the accelerometers as a control device...
Falling at the first 14:33
I see a lot of comments about the questionable sanity regarding the multiplayer aspect of this. You may be right. Curiously, the multiplayer stuff wasn't a part I was particularly worried about as it's actually something I've written before. But this time it doesn't appear to be working and I'm really not sure why. The server's getting created but it's just not showing up when I poll for the list of games to join. I'm not done yet though - some more experiments to run and it almost certainly requires more Google-fu on my part.
I'm no Pro 14:56
I fired up one of my older projects that had networking in it, and it worked fine. I looked at the code. It's doing exactly the same thing as this one is. IT MAKES NO SENSE! Must be missing something...
This is a great highlight of my limited coding abilities - I'm fine throwing code at stuff when it works but as soon as it breaks it's like running in to a brick wall. Whereas others will glide across the debugging dance floor, wowing the crowd with silky moves, I'm hugging the bar and trying to look cool and not venturing out into that sweat box.
After some light reading, the impression I get is that, even if I could get the damn machines to talk to each other, networking on device would require an iOS Pro license. This is something I do not have (nor can afford). A small re-think is required.
Still thinking multiplayer, but now it's same-device. Should be great for an iPad. Might be a bit tricky on a phone. I'm thinking some kind of Super Hexagon-esque battler. Each player holds a dot at the edge of the screen and crap gets flung at them from the middle. First player to hit something, loses. Simple, right?
Back in the game 17:02
Never let it be said that I give up on things. Following a brief discussion with Morton over at Henchman & Goon, I took another look at my network code. And I can both host and join a game! Victory is mine! Now just the small matter of writing the rest of the game...
It all appears to work 18:54
You can host and join games. When two players join the same game they are spawned at a random location with a random orientation. The game is then simply, who can find and poke the other player first.
Now my to-do list goes something like this:
- Make the hosting / joining of games more elegant than discrete buttons for each function.
- Ensure the random spawning is fair - ie: both players are an equivalent rotation away from each other.
- The points system. 1 point for a poke. Best of 3 pokes takes the match.
- Presentation work. A count down before the poking can begin. Sparks. Sound effects. That sort of thing.
- Ooh, a logo.
- Experiment with accelerometer control perhaps?
Slow going 22:15
By far the most tedious part is building and testing the thing. It seems to take an age to deploy to device. Part of this might just be an iMac that's getting a bit long in the tooth. The other thing being the unnecessary and stupid mistakes where I mis-spell a function or something and it still happily compiles but doesn't actually work.
It is working though. A preliminary set of play throughs with Leanne and myself proved to be more entertaining than it really has any right to be. Of course, that might just be our slightly over-competitive nature.
Next up - more Poke feedback. I reckon it needs a big announcer voice.
Unity's Master Server is down :( It's the glue that was holding this somewhat shonky enterprise together. And I'd just rigged up a microphone and recorded a bunch of commentator audio too. I've still got to tart up the scoring but nothing can happen as the game doesn't have an offline mode. It's a disaster!