On SDKs and licensing…

One of my blog posts about the issues that have affected me with Apple’s decision to remove Lords of Midnight from the App store and Marmalade’s decision to pull out of SDK development was referenced in a Blog post on No Time to Play. I started posting a comment there, but it has turned into a blog post.

Felix the author of the news round up goes on to say:

Dear game developers: either buy a perpetual license to your engine, including source code (otherwise it’s useless), or else stick to open source. Failing that, roll your own. The initial convenience of off-the-shelf code is illusory anyway.

I found myself not necessarily agreeing with the comment per se although it does raise issues that developers should be aware of. So I thought I’d counter the statement in order to bring some form of balance. I think it’s important for other developers to understand the decisions taken as to why to use third party SDKs and not roll their own. I don’t believe that there is a hard rule, a right and wrong way to go about your development, but I do think it important for developers to be aware of the implications of those decisions. For me, I got 5 years of a product. I didn’t consider the risk of Marmalade pulling out of the market, no more than I would consider Unity doing so.

Before I start, here is a list of more high profile apps that were developed under the same system.

  • Backbreaker
  • Cut the Rope
  • Call of Duty: World at War: Zombies
  • Doodle Jump
  • Draw Something
  • Godus
  • Lara Croft and the Guardian of Light
  • Metal Gear Solid Mobile
  • Need for Speed: Shift
  • Peggle
  • Plants vs. Zombies
  • SimCity Build It
  • Tetris
  • Worms

It’s important to understand that The Lords of Midnight was affectively in limbo long before this licence issue raised its head. As an indie game developer not taking his income from the sales of these apps, both LoM and DDR cannot sustain ongoing development – as much as I would like to.

In this case, the decision to use Marmalade, or AirPlay as it was then, was actually made because of its build system. When Mike and I first started working together, he was Windows based, and I was Mac. The Marmalade MKB project allows you to continually create Xcode/Visual Studio projects from the same base allowing you to just pass the MKB project backwards and forwards and not worry about the baggage of any platform specific IDE etc. From that came the additional benefit of all the other platforms.

It’s important to note that as Mike and I first started prototyping and then after Mike’s death I took on the project fully, there would have been no justification in spending the time rolling our own engine to be cross platform. Had we been only targeting one device, it might have made much more sense. The Marmalade SDK is used mainly for the Device Platform harness, the harmonisation of the few low level functionality we needed. The project uses as little of the SDK as it can. Developing a cross platform harness is no trivial task across iOS, Android, Blackberry, Windows Phone, Windows, OS X etc.. and having to keep it all up to date.

At the time, there wasn’t really an option of any other Open Source alternative that gave us what we needed, especially when you consider the cross platform build functionality that we were using.

From me properly starting the project on my own to an iOS and Android release was less than two months of me coding in the evenings while holding down the day job, living away from home. All other platforms followed quickly after that over the next few months. Within 12 months I released the follow up Doomdark’s Revenge as well. I could not have done that on my own and hand roll the SDK. I could not have afforded to by a source code licence on the whim of a project that was likely not to make any money.

From a indie point of view the benefit of that was HUGE – Sales – hard cash! The yearly cost of the licence was easily being covered by the sales, and that has continued to be the case over the five years. A five year sales window that is already much much greater than the original ever had.

There is one important thing to factor into this, and as much as I hate considering it, it’s been the elephant in the room for a long time, and it still remains true; the initial sales of The Lords of Midnight were helped hugely by the fact that people were still aware of the project because of the death of Mike Singleton just two months prior to release. A year later with the release of Doomdark’s Revenge, that was much much less of a factor. If we consider just that one detail in a normal product release cycle – opportunity. Now, I really hope that no other developer finds themselves in the position where the death of someone becomes almost intrinsic to the marketing of your product, but the point is valid, take too long on your product and any form of momentum gained, intentionally or not, could and will be lost.

Now LoM was never about the money, and I’ve been very open about the sales and profits on my twitter feed, but had the game been more financially successful, I might have been able to focus all my time on the project. And that would have been achieved without the time costly overhead of rolling my own PLATFORM engine. I would then have been able to give myself and the project more future proofing, and either roll my own that solved JUST the issues I needed solving, or moved to an open source engine. However, The Lords of Midnight could have been dead within six months, and the time spent rolling my own engine would have been pointless, unless I had a raft of other projects waiting to be developed on the same engine.

So the decision to take on an SDK for quick access to a market made sense. I wouldn’t do it any other way if I had to do it again – although, open source would now be an option.

Now, let’s look at the problem that actually happened. It wasn’t the loss of the licence that became the issue but Apple’s decision to remove the app from the store. Because I had not kept up with releases, even just maintenance ones, latest SDK builds, 64 bit support, etc… I found myself having to quickly try and solve a problem that I had let come to a head. And I had to do that WITHOUT SDK SUPPORT. Just six months earlier and I would have had help, and the problem would have been smoother. Six months later it would have been mute. There would have been nothing I could have done and an already stagnant product would have dropped from the market unnoticed.

For the record, when Marmalade announced their withdrawal from the market, the source code was offered at a price. But I decided that that cost was not justified for a five year old project that had little income and little future anyway. Had I more projects in the market using the system, and more generated income, I think that decision would have been different.

So in closing, my advice to other Indie developers would be..

1. Choose the right tool/SDK for you but really think about why you are making that decision.
2. Consider your time to market, do you have the luxury of time?
3. Keep you toolsets up to date – little and often.
4. Think about the longevity of your app and what the obstacles are to that. How will you remove those obstacles?
5. Maybe decide when to kill your darlings yourself and not let others make the decision for you. đŸ™‚

Related Posts:

Lords of Midnight – Video Footage

Ok, sorry it’s taken so long… but here is a bit of video showing the app running on an actual device. Some caveats…

1. this was taken by my daughter using my iPhone, therefore the quality is poor. But then it wasn’t about showing you the graphics! đŸ™‚ – I will try and do a proper one later. But it may just be that screencasts from the simulator will be better in the future.

2. none of this is final. Placeholder graphics, placeholder ui, placeholder placeholders…

3. this is the first time I have run in on the hardware for some time. I have been through a number of Marmalade SDK changes in that time. This was one of the reasons why it has taken so long – I couldn’t get the deploy to work!

Subsequently, there are a couple of issues. The main one that dragging the main view around doesn’t work, thus the default to click on the left and right side of the screen.

Also, the character selection screen was mid working. So all that you could see was dragging one lord around, with his grouping circle on!

Related Posts:

Lords of Midnight – Video Footage

I’ve been giving some thought to releasing some screenshots of LOM iOS. However, I can’t really see much point. Any screenshots using the current graphics will just show an image of a game running in a development box on my Mac. A game that won’t look to interesting at this stage, because you won’t be able to see any of the intended graphical enhancements. I also have some video footage of the game running that I have used to show some people how the mechanics for the landscaping works. It would also suffer the same issues.

That said, it occurred to me this morning, that maybe what I should do is release some video of me playing the game on my iPad. That would at least show that the game is actually real and not some vaporware concept.

I’m going spend another day thinking about it, and then I might release something over the weekend!

Related Posts:

Lords of Midnight – 1 Year Update

Ok, so I never thought I’d be writing this post. To be honest, I thought I’d be done by now.

It’s 12 months since I first had a discussion about releasing Lords of Midnight for the iPhone and iPad with Mike Singleton. At lot has happened in that year, but unfortunately not a lot on the project.

The delay in what should be a simple project, comes purely down to lack of time. I lost a lot of steam over last year for a number of reasons. There were both technical and personal reasons from my side and Mike had his own health issues that needed dealing with. Between the two of us, the project just fell by the wayside. However, we’ve discussed this at length since the turn of the year, and the next few months should hopefully see a big turn around.

Let me first bring you up to date on what has happened.

The full TME engine was ported to the Airplay ( now Marmalade ) SDK. This allows for the engine to run and target many mobile platforms. Various different libraries were developed to allow much of the UI to happen. And most of the screens that LOM requires have been produced.

The game is fully playable. And I had indeed played much of it on my iPad.

The process now is tying up all the little things required while playing the game, adding a few new features, and then the presentation. The later being no a small issue.

So hopefully, what that means is, there is no reason why the game shouldn’t happen. Everything is in place. It’s just a matter of joining all the dots.

One of the things that I played around a lot with toward the end of last year, was the panoramic view, and scrolling it around with your fingers. Trying to get the process looking and working nice was a challenge. But I think I have a good, if not perfect implementation.

Over the last few nights I’ve been working on the in game map. That should be finished in a functional way by the end of this week. The map auto maps. It works by considering all the locations in your view and then deciding how much you know about that location. So for example, that tower in the distance that you can see, will be added to the map, although you won’t know the name until you are one location away, but that lake sat in the middle of the forest, won’t be. Enemies that you have seen are also placed on the map, for a while. For example, if any one of your lords sees an army in the distance, the army is placed on the map. But they only remain there while one of your lords can see them. After a number of days passing without your lords seeing the army, they are removed from the map.

Currently you can scroll around the map. But I need to put all the niceties that will make the map fully functional.

More soon…

Related Posts:

Lords of Midnight – iOS

Thought I’d post an update for LOM. I realise that it’s been over 2 months since I last had anything to say on the subject.

Firstly, it’s been a busy few months for both Mike and myself. Mine work related and Mike’s more personal. That combined with a little bit of sidetracking on Eye of the Moon.

Two of the issues with this project is time and getting it right. Neither of us are working on project full time and it’s very easy to lose a week before you know it, just because you were overly tired or didn’t feel like sitting in front of a computer. I’m sure that winter is the best time to do development and not in the summer.

The getting it right aspect is about thinking about the project more than actually doing it. Over the last 2 months I’ve been going round in circles about the graphics of the game. I’ve been thinking about a number of different approaches that we have considered for the look and feel, and the way the user interface will work.

The original LOM had a very distinctive look and feel. Simple, but very affective. Somehow with the very powerful modern technology, we have to achieve the same result. I sat down recently and gave some thoughts to the way LOM was going to look, and was not happy. I’ve had firm ideas about the direction of the graphics for a long time. Mike brought new ideas to the party when we start discussing the new game. And in general we had a consensus about the way forward. But then I started to doubt… I kept thinking about Jaws. Jaws works because the brilliant robotic sharks that Spielberg was going to show off all over the place, didn’t work. In the end he had to work around them, utilising them sparingly. The end result, much more suspense to the film.

For LOM, the shark was the graphics. Mike wrung an awful lot from the spectrum, but in the end, the setting of the story was defined by the minimalist graphics – a world full of white snow! So, as you start to up the quality of the graphics you are moving further into working shark territory. LOM was stylistic and I feel it has to remain so. Simple and stylistic.

I discussed this with a few people and then went back to Mike in order to tell him that I thought we were the wrong people to be thinking about the graphics. And that if we continued down the path we were following, I felt we were going to make a mistake. Mike agreed.

So, last week I had a meeting with an artist. Fergus McNeil ( some of you may remember his 8 bit days with Delta4 ) and asked him to take over artistic control of the project. I’ll keep you posted with anything I can on the visuals.

In the mean time. Tonight I am back at the computer – coding!

Related Posts: