Thursday 19 January 2012

Stuff you thought was going to be simple but wasn't

Swimming was one.

Setting up controllers in XPlane is another.

Yes the things you thought were going to take a few days which turned into a week and a bit (you could almost say 'two weeks'). Josh at Leadwerks gave me a leg-up on how to put an MMO style launcher together and I've almost done wrapping up all the security for the necessary database, key code generation, CVS style updates and all the stuff we need to match individual content to clients. We'll make available downloadable content (DLC) such as new maps and the occasional helicopter (the planned CH-47D), not to mention the odd mission pack.

No, this key won't work, it's a fake
So there was a lot to do to make a simple one shot MMO style launcher. The back-end server stuff had to be built from scratch. The launch .EXE calls home, applies on-demand updates and preps game settings for launch. For simple security sakes I layered server-side scripts for handling the updates, admin and audit. Auditing is handled by triggers, SQL injection is futile since only one procedure is exposed to clients.

Any DBA will tell you Auditing is an important part of any security. If you build any kind of database exposed to the internet and you don't build your own layer on top of any default transaction logging then you're kind of asking for trouble. The database engine used here is not known for keeping detailed logs so it was necessary to build one anyway. Things you might want to think about if you ever need to create systems like these are making log indexes suitable for frequency analysis (this one method Twitter uses to spot spamming), fake open doors and keys and silent alarms. My favourite trick in the past was a fake database that gives the intruder a high and makes them believe they have walked away with the crown jewels while evidence is collected. That sort of none-sense is not required here, I kept this one functional with a tiny footprint.

The Pilot ID we'll be sending out is the key to your content; install once, play as you like. If you share copies around on your network you can launch 'offline' no worries, no need to be connected to the internet until you want to update. It's nice if you want to buy multiple copies for your network and support the effort put into this project but I'm poor too so I know how it is.

Little bit of script consolidation and testing to do before we let this loose in the real world.

13 comments:

  1. Not bad, it'll add some polish to the final product. I think most end users will appreciate it.

    ReplyDelete
  2. Patchers are great! Now that it's become such a common feature, I get pretty annoyed when there's no automatic way of seeing if I need an update.

    I just recently set myself the unpleasant task of checking to see which patches I needed for all the various Eagle Dynamics sims on my machine, and it almost caused me to simply uninstall them all out of frustration.

    ReplyDelete
  3. Are we there yet? :-D
    Great progress Flex, I´m curious.

    ReplyDelete
  4. Are we there yet? Are we there yet? True it's another system to tick off, just hope we can fix the rest of the the bloody game in good time. I need to get new builds out sharpish, that was the incentive for finishing this part.

    Tick tock.

    ReplyDelete
  5. Wow, I've been reading this blog pretty much since it started (I think) and now I'm beginning to let myself get excited.

    It has been (and still is) a fascinating insight into how a game is created - especially one of this genre. The decisions about different ways to code things (most of which I haven't understood but still enjoyed reading), what systems to model and to what level of detail (and consequent realism/game play considerations) and general design choices is endlessly interesting. I think it would be true to say I never realised how much thought goes in to every aspect of a game's creation. I still find it remarkable that someone can sit down, type stuff and things happen. For me it's on par with a magician pulling rabbits out of thin air!

    This Bolg has also had an interesting side effect on me. This insight into the CH's development makes me think it will be better coded and more thought through than other sims I've played (not something I think you would agree with). Missing features or bugs won't be put down to developer negligence or incompetence but rather seen in the context of a complicated project. I do wish some of the big boys would have a blog with this level of detail so I could feel the same about their work.

    Oh and did I mention it's been done by two people??? Crazy.

    I'll let you get on with trucking away...

    ReplyDelete
  6. "Flex Steam" LOL.

    the excitement builds!

    ReplyDelete
  7. I think when we have a second generation sim product with a bit more polish it might be time to hit Steam. It gets indies the kind of numbers that we need. But we're all agreed on stating small and seeing where it goes.

    ReplyDelete
  8. @McVittees

    Thank you, I don't feel it's representative of how all games are made, this one has a strange foot in two worlds. It only shows half of the story, it really wouldn't have been possible without the dedication of AD who on'y shares a fragment of his work-processes but our chat logs are quite loaded with questions pertaining to research, reference photos, URLs.

    This blog was written for contributors and team members to monitor the momentum but it certainly proved to be really good value when it came to getting feedback on how things worked.

    The scope of this game is intended to be smaller than sims programmed by larger teams. We had to create a game to fit what we could reasonably build with our resources.

    I saw interesting data about team sizes vs production. Once you have more than 5 people on a team, productivity per person begins to fall. If I had to do this again I would do it differently, spending a little money on tools would have been a good idea. Having dedicated folks like Dave on hand to do what's needed is pretty rare.

    Tools are key to reducing production costs and maintaining quality. The next generation of SDKs are beginning to focus on this.

    ReplyDelete
  9. First of all I want to wish to all of the team good luck and progress with this project. I am fascinated by it and to be frank I cant wait to get my hands on it.

    I just want to ask one question, are you planing to implement pilot-gunner multi player or the player will take one seat and the AI will occupy the other?

    ReplyDelete
  10. You were spot on there Flex, tried Google chrome and the posts go up fine. Go figure.....

    ReplyDelete
  11. This will definitely be worth the wait. Difference with this SIM is it was build with a passion gained from another era.

    ReplyDelete
  12. Well I'm promoting GOPHER over the World Wide Web, old fashioned and possibly misguided.

    I noticed that my browser seems to be displaying these comments in a different way. Either the style sheet was changed or some font has changed here.

    ReplyDelete
  13. Yes, a little heads up would be much appreciated Flex.

    PS: Started in STO last week, because it`s F2P and I´m a light trekkie.

    ReplyDelete