Update

Anything else to do with MoM IME
Post Reply
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Update

Post by Implode »

Quick update since I haven't really posted one since 0.9.1 was finished.

I was a couple of weeks converting my XML editor to Java - this is done now and works great, so I've converted the MoM IME Server editor over to this (the Language & Graphics editors are still the old Delphi versions since the new Java version doesn't yet handle foreign key references to other XML files... I'll work on that after 0.9.2 is done). I'm not going to actually bother posting the new Java editor on the site as an editor for 0.9.1 since there's already the Delphi editor for 0.9.1, and the new Java editor is a LOT more fussy about records and fields being in a particular order... and so it actually won't accept the server XML file that's included with version 0.9.1 of the game. So, I'd have to post a new XML file to swap out and... well... you can see its all not very straightforward, so I'm better leaving it and posting the new Java editor with 0.9.2.

Since then, for starting the comms changes planned for 0.9.2, I dug out the old multiplayer code I'd written in Java a couple of years back - which I then converted into the Delphi version that has handled all the comms since an early 0.8 version. Along with this I found code to handle LBX images in Java which I'd forgotten I had, so have this converted into the newer SPI/ImageIO style and working, which I had to get done before I could convert the graphics editor to Java, so its good to have that done too.

So... about to do the comms work to make a start on 0.9.2, simultaneously in the Java & Delphi versions of my comms code to make them compatible, in preparation for moving the whole server across to Java for 0.9.3 or 0.9.4.

I'm not going to try to guess when 0.9.2 will be ready - I don't even know what will be in it yet. I've got a LOT of changes listed for it right now, so I may do them all in one go, or I may do half for 0.9.2 and half for 0.9.3, depending on how its going. But just to let everyone know I am making good progress :)

Implode.
Lupinedreams
Posts: 83
Joined: Tue Jul 25, 2006 6:40 pm

Post by Lupinedreams »

Thanks for the news! I've been checking back every couple days without seeing much other than people asking technical questions for their personal troubleshooting, it's great to see the project is still going strong.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Post by Implode »

Changes to the Delphi multiplayer done - much like fog of war, once I started making the core changes it started sinking in just how many knock on effects those changes would have and I started thinking "OMG why did I attempt this, I'm ripping apart so much code that worked just fine"... but then as I got closer to dealing with the changes and realised just how many nice effects the changes would have, it turned into "OMG this was such a good idea" :)

I now need to deal with changes to MoM as a result... which there are going to be lots and lots of, and it's going to take me a while, but although there'll be a lot of changes I at least expect them to be simple ones. And the end result will be much nicer - there's a whole unit dealing with queuing messages and animations which I can simply delete now, since the multiplayer client component now handles queuing its own messages and supports animations internally :)

I'm also hoping that, now ALL messages are queued (rather than just the ones I'd had to hand-write queuing for), it should also help the stability, especially certain closedown situations. e.g. previously if you did something nasty like have a player leave while one of their units was moving on screen, not that I ever tried it, but I'm sure that would make the client crash horribly, but it should now deal with situations like that properly.

At this rate, 0.9.2 is going to be a while, but I'd rather take my time and get it right than rush things.

Implode.
Coyote
Posts: 21
Joined: Mon Jun 26, 2006 11:09 pm
Location: Austin, TX

Post by Coyote »

Congrats :)

Looking forward to the next stage, Implode!
Deadnature
Posts: 4
Joined: Mon Aug 13, 2007 12:45 am

Post by Deadnature »

New to the forum and IME, I just wanted to say thanks Implode for all of your hard work, I can think of no better classic game to make a multiplayer mod for. Several of my friends and I were all MoM fanatics back in the day but (like all MoM players) eventually "impossible" just wasn't hard enough. "If only we could play each other," we would say. Now, you are doing exactly what we hoped for. I'll be sure to spread the word.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Post by Implode »

Ok as far as what I've been trying to do with the multiplayer network messages goes, I had 5 things to do:

1) Split them into which are sent from client to server, and which are sent from server to client (previously they were all jumbled in together)
2) Convert the client to server message record structures into proper objects & write how each writes/reads itself to/from a stream
3) Convert the server to client message record structures into proper objects & write how each writes/reads itself to/from a stream
4) Move all the processing code on the server into the messages (basically each message now contains the code for how to process itself, rather than needing an external routine to do it)
5) Merge all the processing & animation code on the client into the messages

So the server changes are all done, which amount to 1..4, so only 5 to do left. This is going to be a lot more work than 4, since on the client I previously had hand written an animation layer to deal with things like showing units gradually moving from one location to another, and for queuing animations up one behind the other, whereas now my multiplayer component should handle it all.

Now, given since I finished 0.9.1, I was a month working on the Java editor, a month changing the multiplayer components themselves and making the Java and Delphi versions compatible (i.e. starting the port of the MoM IME server to Java), and a month doing this so far, I don't want to leave it ages before I get 0.9.2 out, I'd rather release 0.9.2 with not much in it, just so there's new releases still coming out on a reasonably regular basis.

So (as I said I might have to) I've updated the Version History/To Do list page, splitting what I had for 0.9.2 into 0.9.2 and 0.9.3. I've tried to leave anything in 0.9.2 that either affects the network messages, or is an actual bug, and leave bigger things until 0.9.3. Basically a lot of what I'm working on now is to make it easier for me to move the server to Java in a future version, which unfortunately means I'm not spending time writing new features.
Post Reply