The industry/technology system has been redesigned. Again. This time around I'm feeling that this is going to be the one that makes it to release. It's a nice balance of simplicity and sophistication. What's even better is that it's no longer directly tied to the "active" component of the game. This means I can breathe easily while tinkering with getting it just right instead of constantly making large/hacky changes to the tech system to keep everything in sync. Sadly, all of this is just in notebooks and text files right now, so I haven't got anything to show.
Wait. Did I just say "active" component? What could that possibly mean? Am I just making up this stuff up to make my game sound more awesome? Or is there something to it? Don't touch that dial!
I spent the first part of my week absolutely tearing up the client. I rewrote giant heaps of stuff for the purpose of saner organization. Of particular note (from the would-be players' perspective), the entire "galactic heirarchy" was rewritten. It's now more "realistic", which I originally had mixed feelings about, but now that it's in place, I'm actually quite satisfied with it.
So, some UI components have been shuffled around, and it's a lot more colorful now. There's still quite a distance to go, but it's starting to really take shape visually, which always feels rewarding.
This was definitely the most frustrating task, in spite of it not being all that complicated or challenging. You see, I went to the trouble of writing out a very specific client design, so that I wasn't just fumbling around until I ended up at the finish line. I did the same with my network protocol. For some reason, though, I completely failed to think through the design for the server and, as a result, it was a treacherous, unwieldy force-to-be-reckoned-with. So, I went in and chopped it to pieces, saving a few useful fragments. Then I pieced it all back together (this time with a cohesive vision in mind). The result? It does exactly what it did before. The important difference is that it is significantly easier to maintain.
If this game were to become wildly popular, I'd probably have to rewrite the server for efficiency, but as it stands now, it's reasonably swift and super easy to manage.
So, while there isn't much of a game, and the action set is pretty limited, it's fair to say that things are going swimmingly! However, all is not sunshine and rainbows. There is a dark, sinister truth yet to be told. There are two gigantic, glaring, and completely-unforgivable flaws with VERGE that are crippling my development efforts. First is that that jerk Kildorf managed to break line drawing by causing it to disinclude an entire pixel occasionally. Second is that, somehow, the keybuffer stuff has yet to be properly bound to Lua, leaving all of my text inputting capabilities in the lurch. Okay, so these aren't really stopping me from getting anything done, but I will be very happy when they're remedied.
There are no screens this week on account of there's nothing new to show. Since all the changes are to the background behavior, nothing actually looks any different. I could just post an old screen and call it a new one if I really wanted; it'd be accurate, but silly. Over the coming week, I'll be putting in more mechanics, so there should actually be some screens next time.
With that out of the way, I took to the burdensome task of writing out the network protocol specification. This is quite boring and requires lots of me sketching and scribbling on paper. I think it's safe to say that the core principles are quite solid. Documenting all the different exchanges is going to take a bit more work, but the end result will be a super-handy reference manual that will make the actual implementation significantly easier.
So, where are the pictures? Well, I wasn't originally planning on doing so much network (read: not screenshot worthy) stuff, so.. here:
Just so that there is something to look at. The important thing to notice is that clump of blue in the upper left corner. That's the network activity indicator. Its purpose is shrouded in mystery, or perhaps it just indicates network activity.
And that wraps up this week's report. Tune in next time for Adventures in Getting the Client and Server to Actually do What I Want.