Re: Trunks's Q and A for the LoK/updates
Posted: Sun Jan 09, 2011 12:44 pm
The game engine's feature list is huge, and as a result I'm already working on a heavily restricted set. There's not a huge amount of point in me posting what I've done as it's mostly code and unit tests, which aren't much use to anyone, which is why I'm working to finish prototypes as fast as possible so we can get stuff out to the community for testing.
Here's a quick summary of the (probably much more advanced than it needs to be) features:
And that's just a few of the major bits. We want the project to be heavily community oriented, but the problem is that v0.3 isn't the time to do it as we need some stuff established or it would just end up as chaos as no-one would really know what they need to do in order to build animations etc. The project's ambition has almost certainly been far too great from an early point, and has been forced to cut back but even so we're hugely delayed, but work is still being done. However delayed it may be, and I am acutely aware that it's a huge bottleneck, I'm very pleased with the game engine, and am already putting as much spare time as I can give into getting it finished as soon as possible.
Here's a quick summary of the (probably much more advanced than it needs to be) features:
- Simulated multi-threading - the main difficulty in ActionScript is that everything is single thread (can't do a task until other tasks are finished) so I've had to write a bunch of code to work around that to try and do big jobs in small chunks and so-on. This isn't a big deal normally, but for anything more complex that we might want to add in future it's necessary to solve the threading problem as effectively as possible.
- 3d physics engine - not all of it translates to visible 3d effects, but objects can fly from the background into the foreground and vice-versa, not at all simple, but something I've done several times in the past in various different languages.
- Animation engine - probably the one thing I shouldn't have coded at all, but we didn't really know exactly what we wanted from the animations/scenes, so I just went and did something that should do just about anything we could want. Meaning the engine is aware of animations as a bunch of segments (looping or one-pass), and can string them together in various complex ways. Absolute nightmare but by this point it's essentially done other than bugs (of which there are likely many).
- Scene engine - again we never really decided what we wanted for areas (screens or scrolling), so the game engine handles both, and can do so in a pseudo-3d fashion. Not as complex as it might sound but nowhere near as simple as v0.1 and v0.2.
- Dialogue parsing - partly to better support third-party content, but scenes should be build-able such that they can mix dialogue and animation, but the dialogue is parsed so that gender identifiers can be switched, names etc. Allowing for easy character swapping.
- Level of Detail - we want the game to run for as many people as possible, but at the same time we'd like to be able to do fancy things visually. Which means we need to be able to turn visual features on and off if they're kicking the stuffing out of a player's computer, so things run as smoothly as possible.
And that's just a few of the major bits. We want the project to be heavily community oriented, but the problem is that v0.3 isn't the time to do it as we need some stuff established or it would just end up as chaos as no-one would really know what they need to do in order to build animations etc. The project's ambition has almost certainly been far too great from an early point, and has been forced to cut back but even so we're hugely delayed, but work is still being done. However delayed it may be, and I am acutely aware that it's a huge bottleneck, I'm very pleased with the game engine, and am already putting as much spare time as I can give into getting it finished as soon as possible.