Progress on 0.9.4 (Java port)
Posted: Tue Aug 19, 2008 11:50 pm
Well, I've been working on the Java port for coming close to 5 months now, which is just a bit scary, I don't know where the time goes. There was even someone else helping me with it (he's got busy with other things now, but early on he was producing code much faster than I could review it!) so we were picking different areas to work on so we didn't clash. So a couple of months back, I decided I make a push to get all the "start game" code done so you could actually connect the client to it, start a game and see the map come up. Talk about underestimate how much was involved :D So finally, after months of work, finally I get _this_!
You can't move or do anything else yet, just the map screen comes up. Now, as dauntingly unimpressive as that looks, I reckon this means the Java port is probably 75% done! Because to display that one small city, all the unit calculations have to work so it can tell how far your 2 starting units can see (yes I tried starting with Draconians to prove they get to see the 4 corner squares!), the city calculations all work, the production calculations all work (if I click onto my city, the display on the right hand side changes to the per turn production values, which are all correct), spells work (you can't cast them... but if you could cast Flight on one of your two units, it would know they could then see range 2 and get it right), and all the fog of war calculations are done which is most of the really big components of the game. Also bear in mind there was a LOT of legwork up front just to get things off the ground, from making a solid enough Java version of my multiplayer code, switchable server UI (you can run it with a GUI like in the screenshot or just with Console output, and switch creation of a debug file on/off without having to download a separate version) to code to cache the XML database and so on before we even started writing one line of MoM-specific code.
So I reckon all that's left is: being able to move around the map, casting spells, combat, the simultaneous turns combat scheduler, and small miscellaneous stuff like being able to name cities & heroes.
By the way, because of the different approach I've used to threads locking lists, and caching the whole XML database rather than just specific portions of it, it runs blazingly fast compared to 0.9.3. The startup dialogs which go through "Adding heroes" and "Adding starting cities" and such you don't even see. You just pick a race, click OK and the map is up in half a second. The map generator runs in under a second too :D
Optimistically I'm hoping for the end of Sept, but everything always takes longer than I guess up front, and I'm away for a week starting Oct 23, so realistically I'll be happy if I get 0.9.4 out before I go away, so latest weekend date would be Oct 19.
The other thing is, since this is a complete port rather than just specific things changed, it needs a LOT more testing. Also sticktrick found some pretty severe bugs in 0.9.3 which I should have spotted, so that just goes to show that I often don't test things thoroughly enough. So if anyone fancies beta testing early versions starting I'd really appreciate it :D To aim for a final version on Oct 19 (or earlier if possible), I'd expect to start producing beta builds from mid-late September.
Thanks!
Implode.
You can't move or do anything else yet, just the map screen comes up. Now, as dauntingly unimpressive as that looks, I reckon this means the Java port is probably 75% done! Because to display that one small city, all the unit calculations have to work so it can tell how far your 2 starting units can see (yes I tried starting with Draconians to prove they get to see the 4 corner squares!), the city calculations all work, the production calculations all work (if I click onto my city, the display on the right hand side changes to the per turn production values, which are all correct), spells work (you can't cast them... but if you could cast Flight on one of your two units, it would know they could then see range 2 and get it right), and all the fog of war calculations are done which is most of the really big components of the game. Also bear in mind there was a LOT of legwork up front just to get things off the ground, from making a solid enough Java version of my multiplayer code, switchable server UI (you can run it with a GUI like in the screenshot or just with Console output, and switch creation of a debug file on/off without having to download a separate version) to code to cache the XML database and so on before we even started writing one line of MoM-specific code.
So I reckon all that's left is: being able to move around the map, casting spells, combat, the simultaneous turns combat scheduler, and small miscellaneous stuff like being able to name cities & heroes.
By the way, because of the different approach I've used to threads locking lists, and caching the whole XML database rather than just specific portions of it, it runs blazingly fast compared to 0.9.3. The startup dialogs which go through "Adding heroes" and "Adding starting cities" and such you don't even see. You just pick a race, click OK and the map is up in half a second. The map generator runs in under a second too :D
Optimistically I'm hoping for the end of Sept, but everything always takes longer than I guess up front, and I'm away for a week starting Oct 23, so realistically I'll be happy if I get 0.9.4 out before I go away, so latest weekend date would be Oct 19.
The other thing is, since this is a complete port rather than just specific things changed, it needs a LOT more testing. Also sticktrick found some pretty severe bugs in 0.9.3 which I should have spotted, so that just goes to show that I often don't test things thoroughly enough. So if anyone fancies beta testing early versions starting I'd really appreciate it :D To aim for a final version on Oct 19 (or earlier if possible), I'd expect to start producing beta builds from mid-late September.
Thanks!
Implode.