After hastily announcing that I will be releasing Doomdark’s Revenge on the 7th I can now confirm that the actual release date will be the Monday 17th Feb.
The main reason for this change is purely logistics. I have to get the website ready to go, PR and Press Packs, Screenshots, Video, submit all versions, and create the store for direct selling.
However, the other reason that I hadn’t taken into account until thinking about submission congestion, is that, during the week of the 17th, it would have been Mike Singleton’s 63rd birthday. So it feels appropriate.
The iOS version is ready to go, and I intend to submit to Apple tonight. Apple usually take 7 days to approve a new submission. If there are any problems, then I would likely miss the 7th. The real area of concern is that from Feb 1st, Apple are insisting that all submissions are done using XCode5 and target iOS7 as the build SDK. In theory this shouldn’t be a problem, however in order to guaranty this, I need to build with the latest version of the Marmalade SDK 7.1.1 and as this version is only BETA at the moment I have slight concerns. I am currently not able to submit to MAC Appstore because of a Marmalade issue, and that affects my confidence in it.
The Android version appears to be ready. The first initial sweep has been done and a few small visual bugs stamped out. The game UI now seems stable across resolutions so I would suspect that supported devices will be the same as with The Lords of Midnight. I don’t foresee any issues moving forward. The turn around time on Google Play is such that I still have plenty of time to fix anything that crops up.
I have done a Blackberry build, and it all seems to be running in the simulator without issue. I need to perform an actual device test but again I don’t foresee any issues. There were some initial problems with the Q10 720×720 resolution but they have been ironed out. BTW: this version will allow the Q10 to rotate and I will include this fix in The Lords of Midnight ASAP.
Samsung and Amazon builds are just packaging. So again, I don’t foresee any issues.
Windows and OSX builds should be good, as this is how I develop. I expect to hand over a master to Fastspring and GoG.com early next week.
The only issue with the OSX version is that it is unlikely to be available in the MAC Appstore for a while. This is due to the aforementioned issue with the Marmalade SDK and OSX Mavericks. If the issue is not fixed soon, and I have a window of opportunity before the 17th ( preferably by the 10th ), I will install an OSX Mountain Lion machine and attempt to build the app. The OSX version will however be available direct or through GoG.com, where I don’t need to release a signed app.
Once the release is out there, I intend to revisit Windows Phone 8 version of both Doomdark’s Revenge and The Lords of Midnight.
For Midnight! For Midnight and the Free!
Hear me, Shareth Heartstealer;
we ride to tear the Frozen Empire asunder!
It’s with a heavy heart that I write this. While working on Doomdark’s Revenge this eve, I had to accept the cold realities, and admit to myself that it is very unlikely that I can make a Christmas release.
It’s not that the game is very far from finished, it’s almost there. It’s just that there are so many things going against me at the moment. I had hoped to upload a test version to Testflight at the weekend, that never happened due to spending time with my parents. I’m working away at the moment, so I get nothing done at the weekends. Having been away all week, it’s important to catch up with the family. I couldn’t build a test version on Monday because I left the licence locked on my home machine.
This time last year, Lords of Midnight was in test and I was still working from about 6pm till 2am every night including weekends. At the moment, because I’m working away and in a new contract, I can only manage about 4 hours a night.
The real issue is testing. Apple close down over the christmas period, which means I have to release on the App store on 20th at the latest. That means submitting a good week before. That would be Friday the 13th. Now I’m not a superstitious person, but I will be driving home for 4 hours that evening. Therefore it must be done by the 12th. And that is exactly one week away. That means I must put a version into test this weekend, and at best it will get a couple of days testing… I think all of you who know the difference between Doomdark’s Revenge and The Lords of Midnight, can see that that just wouldn’t be wise. I’m pretty sure that most of the UI stuff would go through test, and the little bits that turned up could be resolved in that time, but the AI?
I would have to work all this weekend in order to make sure that all the AI code is indeed finished. I think it’s pretty much done. I haven’t tested through all aspects yet. I spent this evening watching Lords wander around on the map. But they have battle’s to fight ( not written ), objects to pickup, Lords to recruit…
If I did submit on 12th or 13th, I would have no chance to remedy any last minute hiccups, and then I couldn’t fix anything on an Apple Device until the New Year anyway because of Apple’s closure.
I need to make a final definitive list of all the areas that need finishing off. They might just be little things, like a bug I’ve noticed on the overview map screen, but they might be a little bigger, like the fact that I haven’t coded any of the win/lose conditions, let alone tested them.
GoG can’t release the Windows Version until the New Year due to time constraints, and even if I could finish the game, I’m not currently able to build the final OSX version due to a problem with the Marmalade SDK. Added to that, I haven’t done any real device testing other than loading onto the iPad.
Then I’ve got the Website to build… PR to do… a trailer to make… the Manual to finish…. Stores to decorate…
Just typing this is exhausting me! 🙂
In all my time in development, there is nothing in the above that says anything other than… “Don’t Go”. The only reason to launch, would because I said that it should be ready for the Winter Solstice.
So here is what I will do. I will continue all guns a blazing to get this finished as soon as possible. I will attempt to get a test version on Testflight this weekend. This gives me two weeks of testing to iron out as much as possible. I will then aim to release an official BETA on the 21st ( Winter Solstice ) – on all formats. The Apple devices will be covered by Testflight. I will let you register one device on there for testing, in order to give as many people as possible a chance to play the iOS version. ( I only get 100 testing slots from Apple ). The Android devices will be covered by Google Beta on Google Play ( I think! ). And Windows, OSX, and Blackberry will be on this site.
That way, many of you who have been following this release closely can get the chance, if you so wish, to play a pretty final, if not an actual final version, before release. Hopefully, that will also mean the game gets a good testing over the Christmas break, and I can do an all formats release early in the New Year.
I’ve been working away for the last few weeks, which has meant that my development has had to take into account that it is being done primarily in bars an restaurants. I know many of you are waiting for the latest version of The Lords of Midnight, but although I have spent some time fixing bugs and adding a few new features, I am not in a position to Build a release version. I have to have access to my desktop to do that, and the few days I’ve spent at home with my family, I hope you can understand that spending time in my study on my computer is not the highest order of the day.
After declaring an end to any changes to Lords of Midnight, I spent some time merging the codebases of the different versions that have been branched out over the the year. Namely, Mobile version, Desktop Version, and Doomdark’s Revenge. I now have a unified code base which means that when I release a update for LoM soon, it can be across all formats.
Once the merge was complete I decided to spend some time working on Doomdark’s Revenge. I am hoping to release a test version soon. The night AI will not be activated but you will be able to wander around the map, above and below ground. And generally check out the UI differences between the games etc. This will then give me a good base to slowly turn on AI features and test them thoroughly up to release later this year. For the record that would be in about 12 weeks!
Once area that I have been working on this week, is tunnels. Tunnels are one of the new features that Doomdark’s Revenge implemented. So I have been slowly working my way through the code base, adding in all the little things that need to be there in order for them to work.
It’s a little different with The Midnight Engine, ( which by the way is the underlying code that powers both The Lords of Midnight and Doomdark’s Revenge ), over the original games, in that there is one code base. Doomdark’s Revenge was released as completely new game, and therefore much of what didn’t remain of The Lords of Midnight was just removed and the new code was added. This is a big issue with my codebase, as my original brief for creating The Midnight Engine was to be able to play both games and in theory create a game that mixes the features from both LoM and DDR. So, if we take tunnels as an example, I could just turn tunnels on in LoM, and everything would just work.
Now, let me try and give you an example of why that thought process gives me a nightmare when implementing something like tunnels.
In LoM a map location is split up into [ Terrain, Area, Object, Flags ], in DDR it is just [ Terrain, Flags ] – both area and object are generated. TME uses an expanded format [ Terrain, Variant, Area, Climate, Flags, Object ]. So the generated areas in DDR are stored, as are the objects. ( For the record, objects change every night ). For both, objects are classed as things you find or things you see. So Guidance, Cup of Dreams, Dragons, etc…
Now tunnels are a flag. A location has a tunnel beneath it or it doesn’t. If the terrain is GATE, PIT, PALACE, CITY, then the tunnel is an entrance/exit. If the terrain is PLAINS, FOREST, HILLS, MOUNTAINS, then it is considered a passageway. Now, this is where things start to get messy.
A tunnel location can only have a critter ( dragon, wolf, skulkrin, trolls ), when it is a passageway. And the location directly above ground can only have a critter when there isn’t a passageway below. So affectively you have two locations sharing the same space but only one critter at the location who could be in either of the two locations.
It seems a pretty straight forward thing to think about, but when your code base works on the concept of a single location, suddenly everything changes.
When drawing the landscape, the frontend asks the backend for the information about a given location. It draws the terrain graphics and any critter imagery that is required. The backend has just told the front end that there is a critter at this location. However, now it has to consider if we are above or below ground, and the type of below ground we are on. Based on that information the frontend can decide if that critter is visible or not.
When at a given location the frontend asks the backend for all the lords that are at a given location. But now it has to consider if that lord is above or below ground. The list of these types of checks goes on and I’ve found myself having to work through the engine making sure that I am always using the correct context. More importantly I am trying to make sure that any logic is in the backend and not in the frontend. Therefore the backend now returns the information in the form of, here is the information at the location requested, this critter is above ground and this critter is below ground. It doesn’t matter that there can’t be a critter in both, that is a backend problem not a frontend one.
A similar thing happens with the discovery map. There are flags on a location to say that it has been seen, looked at, or visited. Seen is a distance thing. Two locations away may have been seen, and you know what terrain is there because you can see it on the landscaping view in front of you, but you might not know what it is called. Looked at is for locations directly in front. You know the terrain and the name. Finally, visited is exactly that, you have stood on that piece of ground. But, you might not have stood under that piece of ground. So now we have to introduce the concept of tunnel visited and tunnel looked at. How about, we have walked down a tunnel and got to the end, and we know the tunnel finishes, as opposed to not quite making it to the end, so we have looked at the tunnel location in front, but because we didn’t visit it, we don’t know if the location after that continues as a tunnel, or this is indeed the end of the tunnel.
That one bit flag in DDR ‘tunnel’ suddenly becomes so much more when you are trying to keep a flexible engine. That one bit flag also creates limitations. Two tunnels adjacent to each other must be connected. You can’t run a tunnel under a palace because a palace is always an exit/entrance. This is used to create a one way tunnel in the game.
I have considered removing the bit flag, and replacing it with the concept of layered maps. You would then have a map for all the terrain above ground and then a map for all the terrain below ground. Following that approach would me that the limitations could be removed and it would allow things like different critters above ground than below. Or types of tunnels. But for now, I’ll leave well alone!
Other things have crawled out of the subterranean landscape… For example, two characters at the same location are not actually at the same location when one is above ground and one is below ground. Thus, the newly added grouping functionality suddenly needs to take into account tunnels!
For those coming back to Midnight, or indeed those new to it, you might want to check out Online Multi-User Midnight – Midnight/MU It’s a great experience. It’s been running now at least 10 years, and you can play the Lords of Midnight Scenario, Doomdark’s Revenge Scenario, as well as a host of newly specially created scenarios. The games have been tweaked and well honed to cater for issues caused by Multi-User play, and a number of new features have been added. But essentially, if you are familiar with Midnight, you will get along here.
Register on the game site and on the forum. It’s a very friendly community. There are usually plenty people around to help you with training games, although it might be a little quieter than usual at the moment due to holidays.
I finally submitted the OSX version of The Lords of Midnight to Apple last night, it’s been a long time coming, a lot longer than I expected. I didn’t start it as early as I expected due to supporting the mobile version until March. Some of it has been because of technical issues, I struggled to get the code, more accurately the resolution code, to work satisfactory. Another part was being burnt out. I hadn’t realised how much getting the Mobile version out, took out of me. I found myself not really interested in developing the desktop version, so I found myself bitting at it and not staying focused. In fact a lot of the code ended up being developed on a Saturday morning while my daughter was diving, like I am now. I have a an hour and a half to kill while she dives, you can only give your full attention for so long, and that was always a good excuse to have my laptop with my and work on LoM.
All being well with the Apple submission process, the game will be available in the Mac App Store for the Summer Solstice. The Windows version needs a little more testing and I need to find a home for it to be distributed. If that all doesn’t happen during the next week in order to hit the same release date, I suspect it will be the week after.I now find myself thinking about the next steps. Jure has already started work on, if not almost finished, the artwork for Doomdark’s Revenge, so there is nothing to hold me back there. I suspect that the actual next steps will be a new build of the mobile version of LoM to include the scaling map, the keyboard controls ( for bluetooth keyboards ), and a few bug fixes that were dealt with during the desktop development. The desktop code is just a different branch of the mobile version, so I just need to roll everything up. Being truthful, I also need to put an advert in the mobile version for the desktop version, it would be nice to pickup at least another 6k unit sales. Continue reading →
I thought I’d post an update of where things are at, at the moment.
I’ve been having a bad run of “can’t be arsed”, this is not just on the Midnight front, but with a number of things. It happens now and then. I think part of this is due to the fact that from October I worked tirelessly on Lords of Midnight right up to release, and then followed the release with two months of updates. In the end, I think it burnt me out a little. That combined with the day job and that I work for some of my clients in the evening as well. The problem is that I have now lost a little bit of momentum and I just need to get that back…
The desktop version is almost ready. I hoped to put it into test a few weeks ago, but didn’t because I was waiting to add one more feature, which is the MAP scaling and movement gadget. I did the temporary graphics, but haven’t implemented it yet. Once that is in I will make a request of Jure for the final graphics and then upload for test and open the forum for testers.
I intend to formally request Jure start work on Doomdark’s Revenge at the start of May, so that is my new goal; I’m going to aim to have the desktop version in test and DR started by the 1st May. And then aim for DR to be ready for at least the Mac App Store by the end of May.