Murder Detective III (Prototype)
Actually he isn’t back… But he nearly was 🙂
At the start of 2014, I had a discussion with an old client of ours about the possibility of producing a third product in the Murder Detective game series. As the programmer I had worked with previously was working full-time at Marmalade Studios, I proposed to handle both art and code on the new game. The engine would be written for iOS and Android using Corona SDK. I created the promo image at the top as a bit of a comedy movie poster by the way – it’s not meant to be taken seriously! Don’t you just love those HE’S BACK posters 🙂
As this would be my first game project providing code, I offered to create an engine prototype at no cost as a ‘proof of concept’. The prototype was based on the popular Cause of Death series of games for iOS. The player is presented with a story by means of dialogue and backgrounds. At various points in the story, the player is shown multiple choice options – which in turn affect the outcome.
The prototype used new story text from the client, combined with artwork from the previous Murder Detective products. Having supplied art for the previous two games, I wanted to make some improvements, including the following:
1. That story content could be added and tested very quickly, and by someone without coding skills. The previous games required that the story text be laboriously converted to a XML format by the programmer making changes and additions slow.
2. The game itself would have considerably more polish than the previous two products in terms of ‘look and feel’.
3. The UI layout would adapt properly to different screen sizes. The previous two games were optimised for iPad and used letterbox formatting (big black borders) when adapting to all other screen sizes. This made poor use of the screen on any device other than iPad.
To address point 1, I decided that all game content should be created using an Excel spreadsheet. Many people (including the client) use spreadsheets, they are an excellent way of organizing data so it seemed like a natural fit. The spreadsheet contained ‘action tokens’ in the first column, followed by game information. So the sheet would look a little like this:
You would develop your game story within the spreadsheet, exporting the data whenever you wanted to try it out on the mobile. If you use sheet tabs as well, there is no reason why your entire game couldn’t be stored in a single spreadsheet! Just write each scene in a separate tab.
Within the sheet you could set the following:
- Which background image should be shown (fade to black for new scene).
- Which background image should be shown (smooth cross-fade for continuity).
- Who is talking along with their dialogue.
- Who is in ‘lead player’ role (if you want the player to adopt a role of someone else temporarily).
- Story text to describe a scene or event.
- Multiple choice options x 2.
- Multiple choice options x 2 with time limit.
- Multiple choice options x3 .
- Multiple choice options x3 with time limit.
- Section names (used to jump player to new story branch after choice has been made).
- Which music should play and whether it should be a quick switch or cross-fade.
- When the player dies (end game).
The sheet doesn’t use line numbers as an indexing method, as this would break any story links / jumps should the story text be updated later on. Instead, I implemented an indexing system whereby each part of the story had it’s own name. You use these section names when jumping between different parts of the story (obviously trying to avoid the ‘you’ve been battered to death’ section!)
I had planned on adding new features to the engine, such as an inventory system and the ability to use objects in a scene. I also ensured that the game would allow self-contained mini-games to be dropped in (blocks of Corona LUA).
The prototype included a full soundtrack for the game, so that the client could get a feel for how the audio would work with the product, and how it could be used to set different moods throughout the game. The audio would have most likely been created by the guys at 93Steps, who provided the audio for the previous games.
It took around 3 months to complete the prototype, but that’s largely because I was learning Corona SDK at the same time! I bought the cheapest Android phone that I could in order to test the touch code – a Huawei Y300i. The screen layout is hard coded for that device (800 x 480) so I would have had to extend the system in order to cater for other devices.
Despite putting in a lot of effort to get the contract, the client decided that he wanted to prioritize a different project – a 3D one along with a promotional CGI animation. I provided a detailed quote for those as well. However, the sheer scale of those projects and my lack of Unity 3D / Animation experience meant that I would have had to outsource the majority of that work. Consequently, I wasn’t able to do the contracts within his budget. Since then, I have learned to code in Unity 3D. And, looking at those same project requirements with my new Unity knowledge, I’m relieved I didn’t commit – there’s no way it could have been done. But I sincerely hope that he did find someone with the skills bring his concept to life in 3D!
I did consider using the engine for a couple of other games. The first, was a Prison Break idea – sort of along the lines of Alcatraz. You basically have to pit the inmates against each other in order to make your escape. I also quite fancied doing a humorous sci-fi game based in the ’70s, complete with abysmal sets and spandex clad aliens. But needs must, I had to look elsewhere for paying work.
As I mentioned, I have since moved on from Corona SDK (and this engine) and currently develop solely using Unity SDK. My background is 3D, so it kind of makes sense to make use of that. If however, you’re looking for an engine similar to this Corona one, then I would consider redeveloping a new one in Unity. I would however, build the story editor into the game itself, so you could edit your story on the move. Right now, that’s something for another time :).
Murder Detective Story & Characters (C) Tournay Software (Australia)
Murder Detective 3 – Prototype
- Categories →
- Corona SDK
- iOS | Android Games