Adding bits of the campaign code to the current game build (most code functions are written as stand-alone programs then added, this saves compilation time and lets me do some black box software testing on that module.
Now we have the campaign file loading and data structures initialising. This loads names, zones, base information, faction details and current unit deployments. Doesn't do anything else with them yet. Only Apache units are deployed currently. I've got some work to do on presentation. As you fly (walk etc.) into a controlled zone you're supposed to see some text (World of Warcraft style) naming the area and current security status (and like other game elements can be toggled). Needs a nice big outline font which I haven't picked yet, I'm using a flavour of "Boston Traffic" for some elements so I'll try that first.
After loading the campaign you spawn in the game world positioned in the command tent of your currently assigned base. A comms dish is right outside to quickly launch multi-player mode.
Apaches are positioned on the pads with a little added 'jiggle' to randomise position slightly for a more natural appearance. In the screen-shots you can see the floating 'helpers' over the helicopters, these display info on that vehicle, flight name, ID, mission and crew assignment. Now we have the campaign data to look at I'll add more data.
If I have some criticism of the game so far it's some of the z-clipping artefacts you see on foot. Again its something I see in AAA games too and there's not much I can do about it, Dave and I have tried to mitigate it as much as we can. It's going to be one of those things that will get mentioned no doubt. It won't get in the way of the game and a small cosmetic issue, but one that bugs me still.
Things I'd like to add later, clouds (multiple layers) and procedural grass when on or close to the ground. Maybe have one or two terrain texture layers generate some billboard sprites for a grass texture, I don't know if that can be done at shader level, I suspect not so my initial thoughts were a treadmill of 200-300 billboard sprites updated when you move close to the ground.
Command tent spawn |
Multiplayer comms tower |
Apaches assigned to base pads awaiting assignment |
Walk up to one and arm / mount |
Spooling up |
Take-off over the base |
North to Herat |
Entering nearest zone, some popup text needed |
Yank and bank |
Need procedural grass / scrub I think |
Fly using HUD alone, don't look at the helo |
Might make good wallpaper...
Some of the random 'jiggle' might put the tail end close to the edge of the pad. Need to bring the centre point forward a bit for Apaches. The centre point for the Apache model is just under the rotor mast. We add 0.5 meter random offset and +-25 degree rotation.
Still working on the ground AI spec, it has a 'supergroup' structure meaning a number of vehicles are treated as a single entity but each individual vehicle object in the group is responsible for seeking out its position within that group. Road following has me stumped since it's a bigger problem than you might think, worthy of a whole lengthy blog topic.
The functions for the COIN and event generation are still at prototype stage and changes every time I look at them. Once I add the AI/mobs to the campaign loader I'll add some blobs on sticks to represent insurgents, see where that takes us performance wise. I'm kind of scared a little to go from prototype to in-game, it's harder psychosocially to make changes once that happens.
Last few weeks
There has been so many little things to do, so much it's paralysing to think about, the trick is to hunker down and just do one little thing at a time. When programming output stalls it's been back to editing and refining documentation. I've been scouting the job market again, had a few interviews for various positions, phone interview at Codemasters was a bit strange since they didn't quite know what to do with me and Unity apps were not what I wanted to work on (they would benefit a heck of a lot from my back-end experience). But there's a lot more C# opportunities locally now and my 10 years of web app / database development experience should count for something (lot of interest there).
It used to be that I wrote this blog for the benefit of other team members so they can see what I've been up to. Now I'm mostly using it to reinforce thought processes for my own benefit but I do get some great feedback from some of the regular readers. And I can't thank you enough.
Parting shot
I also got into trouble for suggesting that other sims were not paying attention to general gaming conceits and being player unfriendly. The resulting attack left me dumbfounded at first, which now just left me angry, angry at myself for being so apologetic but I agree that in context I shouldn't have mentioned those games by name when I was talking about general concepts. Peer review is something integral to software engineering. Game developers commenting on games? Surely not. Gamasutra publish industry opinions blogs and analysis daily and each item is open to critique and feedback. I'm not the most tactful of people but I'm honest to a fault.
State of the game
Well, lots to so still. If we had the budget for full time work we'd be getting a demo ready for Easter by now. As it is we're still pushing forward. The game design is crystal clear in my head, the working code is close to how it should be, there's some front end elements to add and the whole mission cycle is missing. It's quite thrilling to see the campaign loading and things beginning to effect what used to be a static world. So it's getting there one build at a time. Easily another six months work.