I think I have about three months of work left to do including finishing the game itself, marketing work like making a new trailer, and a final testing run; not too bad considering the long 2½ years it’s taken so far.
Right now I’m making some in-game help, for those people who are going to be playing this having never seen the game before and who really won’t know where to start. It’s a few static screens for the moment. I’m a fan of context-based help that hands out the info when you need it, but that can wait for a future version.
Things have been pretty busy for me over the last couple of weeks, with some non-Scraps-development stuff to do. But work continues and we have Internet play basically working, with just a bit more to do on it.
Although we have what looks like a normal client/server system with a server browser, we’re doing it though Steam’s matchmaking system so we can utilise their excellent setup for making sure anyone can host a game – no port forwarding or other messing with your router required. Now if only they’d reply a little more often on the Steamworks dev forum.
Not a lot to write this time as most work has been on code that just isn’t that interesting to show. I’ve been through the high severity bugs and fixed all of them (although I’m sure more will appear). I’ve been through all ~200 TODOs in the code and fixed all the ones that needed attention before release (luckily not very many).
Dave has been too busy to do much on the AI or Internet play so not much to report there just yet (he’s got other full-time work).
I have been working on one interesting thing:
Last time I talked about the fight I was having with Unity’s built-in NavMesh system, trying to get it to generate a bit of a more complex mesh than it was really designed for.
AI Players in Scraps currently use a navmesh to work out a path from where they are to where they want to go. Unity comes with a built-in NavMesh system which is really nice and easy to use, until you want to do anything fancy. I’ve been trying to wrangle some better meshes out of it.
Actually not much fun.
Single-player and LAN modes are looking pretty good, so I’ve started work on Internet play. As I’ve mentioned before, this will use Valve’s Steamworks networking protocol because it provides some nice features to let people easily host games and connect to others. Otherwise you’d have to do all that old-school port forwarding and so on to try and get your game to show up publicly.
Things didn’t start off well. This post I made on Monday has everything you’d want to know about that. I actually got everything working really fast, and I had two machines connected over the Internet through Steam and playing almost right away. Then I discovered that most of the time it didn’t work, and that everything was sort of half-broken.
Eventually it turned out that it was largely a bug with the creation of my App ID on Steam. Valve recreated me to a new App ID which unfortunately meant I had to re-enter a bunch of stuff, but fortunately meant that just about all of my problems were fixed.