I’ve been debating on how to tell people about the latest progress. After two months, you would expect there to be a whole new 3D engine and a dozen more enemies in the game. Alas, no. Now for a few words.
Progress has been slow for a variety of reasons (some noble, others not so). In short, my wife had an operation in late May to remove a sore from her tongue. Come to find out it was a malignant cancer. Anyone who has dealt with a family member who has cancer, it is a roller coaster of emotions. My mother died of cancer and that isn’t helping anything. And to make things worse, doctors talk in terms of percent chances of occurrence and life expectancy. For them, they see it has gambling odds. Do X, get +10%, do Y get another +5%. And this roller coaster hasn’t stopped yet. Luckily, for someone who has/had cancer, she had one of the best kinds — the one that has a low chance of occurring. BUT it makes the odds all the more maddening. Do you have painful radiation treatment to change the odds from 1 in 5 to 1 in 50? Do you go with a lesser surgery that might change the odds from 1 in 5 to 1 in 20, but only has a couple of severe weeks than its over. Or, do you just live with the 1 in 5 odds and walk on knowing that there is a 4 in 5 chance of not needing to do anything. Anywho, although this does not affect me directly physically, I care deeply for my wife and believe her my soul mate.
To make matters worse, the above all hit when I was working on … Networking code. Strangely, I’ve always hated networking code. Hate isn’t exactly the right word. Perhaps detested … avoided … swept under the carpet. Yet, A&A was always intended to be a MMO. Oh, I can write the blasted code, but seeing how A&A was my first true large scale networking project, well, it wasn’t done well. Add to it the fact that the code all to be a synchronized game network in later, well, the code is not in the best of shapes. Then I had this really over the top idea of making the Windows version of Classic A&A be able to play with DOS Box A&A via IPX using SDL Net and … okay, I think you get the point. This is some complex stuff. With the cancer stuff above and the stuff below, every time I sat down to face the monster, I just couldn’t get over the hump. But there’s more ….
Job. Yep, in the midst of all this, I decided to change jobs. I know some people will think this is even more insane, but I had many reasons for doing it. My current job at the time was very demanding on me. I had to keep track/lead multiple projects at the same time, mentor to new software engineers, do technical support, and also tackle programming of all the hard programming problems. Oh, and did I mention the demanding boss and the constant need to innovate. So, when a new job came knocking on my door with a more focused work load (as in one main project at a time) and a nice pay increase to boot, I jumped. Considering I had worked at my current job for over 10 years, this was a surprise for everyone. As of last week, I changed jobs and have not looked back. Naturally, the brain drain is pretty high learning a new job, but this week, I’m finally getting to a point where I getting back to an even keel.
End of the E-Word’s
So this the end of the Excuses. We move forward from here. The cancer problem will be resolved. I don’t know what will happen in the next couple of years, but I feel confident we have good doctors and good choices and we’ll do the best we can. The job is getting better and I’m now finally about to focus on side projects better than ever. And as for the networking … that’s just a matter of breaking it down into simpler steps and having a willingness to take it apart piece by piece until I find what i need (strangely, I’m doing this also at my current new job).
Things are finally looking up ….
So here is the status of things in engineering bullet form:
- Network code. I’m still going to do the IPX networking between Windows/DOS apps. I’ve got enough built that I can see connections being made and packets being sent — I just have to connect all the pieces now. On the Windows side, I have also a little command line server tool that will provide a simple network hub for people to connect to.
- Movement issues. People are still reporting problems with movement with their characters, particularly at high levels. I’ve about decided it is time to take the drastic measure of changing it again. I’ll probably have to just clip the upper end of movement speed (but keep weapon speed). I may also put in a run/crawl option (you pick what you like) or make the caps lock key toggle the run/crawl action of the shift key. In any case, it’s too much and I agree.
- Other bugs. There are some other bugs that have been reported concerning music and cursors. This will be fixed.
- Source code. Now here is a part of it that I’ve been tempted to hold back on. Releasing the source code can be a great action, but I wanted to get this networking nailed down before releasing it. I’ve also watched in horror as my son keeps losing mods to Minecraft each time they come out with a new minecraft release (oh, weekly now?). Should some type of mod structure be put in place first before letting people at the source code? I really want this to be a concerted effort where everyone works together. That being said, it may still be best to throw it up on GitHub and let everyone make branches. Opinions?
That’s my update for now. Let’s see if I can get back to the technical plus side here on the next post. Thank you for your patience.