This is a diary I kept while making the game.
People often commented on this and the game itself. Click here to read the MR3 comments
Map and Scripts
10th Oct 2006Whoops! Nearly forgot to put this up today. Must be out of the habit.
I got quite a lot done today. Mostly building a new map and doing the intro cut scene. Neither of which is anywhere near finished yet but I'm happy with the way it's progressing. I'm going to attempt to make the whole level all at once this time around rather than doing things in sections.
I narrowed the bug in Director under WINE down to the way that floats are translated into strings. But there was no way for me to work around it, so it was back to Windows for me. Having used Linux for about a month now, Windows feels second rate in everything except application support. Unfortunately, that's the killer!
Fedora Core, bugs, WINE, maps
9th Oct 2006Thought I'd better get on with MR3 today, but I couldn't decide what to do. Whether to open-source it now, and then continue with it, or whether to finish it off in some form, and then open-source it.
In the end I thought it would probably be better to try to finish it off before open-sourcing it. One thing at a time and all that. My plan, then, is to make the best game I can with what is currently there. I am not going to add anything new if I can help it.
I had a bit of a think and came up with a plan. I feel like being a bit secretive about it for the time being.
The next thing was to start the new map. I have to go off on a bit of a tangent here. I've been using Fedora Core 5 for the last month or so, while I was working on the website for the client. For webdesign, I found that Fedora Core 5 was a significant improvement over windows XP. Apache ran better, MYSQL was more effective from the command line, but the main difference was that Zend Studio (which is this huge Java app) was much more responsive. In windows, if you leave it sitting minimized in the task bar for a while, when you go back to it it takes about 10 seconds to sort it's life out. In Linux, it's ready straight away.
So anyway, to cut a long story short I've been happy with Fedora Core, and the best thing was that both Director and the Windows version of Firefox with the shockwave plugin loaded would run! So I "moved in" and made myself at home safe in the knowledge that when the website was done, I'd be able to develop Merlin 3 under Linux too!
Except that when I tried to save a map it kept getting all these bugs in it. I'm not sure whether that was because it was running under WINE or not, but it seems likely. Anyway, I'll have to revert back to windows tomorrow to test the map editor to see whether it's my bugs or WINE's.
The Future
5th Oct 2006I did the last little bit of the website yesterday morning. It went off to the client and so far they haven't come back with any changes that I need to get involved with so it looks like it is finished. I will need to do a bit more fiddling with it when it goes live but nothing major. By "goes live" I mean gets the proper domain pointed to it.
So for the time being I can think about other things. Yesterday I was pretty tired, and my hands were aching after doing all that work so I decided to give myself some time off.
Doing this work and getting away from MR3 for a while has given me a chance to take a step back and consider whether the way I am currently going about things is really the best way. I have had my doubts for some time but during the last couple of days these thoughts have begun to crystallise into a clear plan of action.
Current Plan
- to finish MR3 as soon as possible and then attempt to monetize it in the following ways:
- sell licences to game websites to display the game
- rely on google adsense to turn visitors playing the game on this website into cash
Flaws in the current plan
- MR3 seems unfinishable in a reasonable timescale.
- Google adsense revenues are dropping across the internet
- I haven't done any market research to see if game websites would be interested in purchasing licences for the game
The most crucial flaw is the first one. When I started MR3, I had lots of grand ideas in mind, and there were a wealth of suggestions contributed by the community that I wanted to include. I gathered together a list of all the suggestions that were in the database at that time that I wanted to consider for use. There were something close to 600 of them. I knew I wouldn't be able to do them all so I made a new list of the very 'best' ones with arbitrary limits to it like, 4 spells, 20 enemies etc. It was tough to decide which suggestions to get rid of and sometimes it was a real bummer to realise that an idea you had become quite attached to was not going to make it into the game.
So, the new list became my to-do list and I diligently began working through it. This was on November 8th 2005. I estimated how long each item on the list would take to give myself some idea of how long it would be until the game would be ready. I have a copy of that list around somewhere and I wll try to dig it out, but from memory I think it was about 180 days. That's a lot. Especially when you consider that only 5 of the 7 days in the week are actually working days. I didn't publish that information at the time because I knew that when that time was up I would start getting emails hassling me about why the game wasn't ready yet. And if there's one thing I hate getting, it's hassle. Especially when I'm doing something which is free. I'm sure you understand.
Anyway, over the course of the year I had to interupt work on MR3 several times in order to earn some actual money. Something which has not changed to this day! At some point I realised that the schedule I was working to had become hopelessly unrealistic. I made a new list which I called MR3-lite and started working from that. This was a much reduced, and much less ambitious list than the original MR3 design. I have more or less worked through that list now, so MR3-lite is more or less what you see before you today. The only major thing missing is music.
So is MR3 finished? A quick play will tell you that is not. There is still months of work ahead to lick this game into shape.
Looking back, it occurs to me that I always wanted MR3 to be a community-based game. I wanted some people to make suggestions, and other people to implement them. However, I also wanted to work on it full-time, and to do that I needed to earn money with it, or at least have a plan to earn money. That plan revolved around selling MR3 as a product once it was complete. In order to do that I felt it was neccessary to keep the source code secret.
From product-based business to services-based
But now things have changed. One thing that has changed is that I no longer believe I can make money from selling MR3 to website owners as a product. I don't believe that MR3 will ever be finished in a way that will sell. However, I am starting to believe that I might be able to earn money by giving away the source code for free. If other people are able to make games with it, and some of those people are able to make money with those games, those people are likely to want to hire me to work on the game engine to make changes they want. After all who knows the code better than me?
So instead of selling the code, I would be selling my knowledge of it. Now, because the code is free, there would be nothing to stop anyone else learning it too, except time and convience. The handy off-shoot of that is that anyone with lots of time, but not much money would be able to make great stuff with it too.
Stealing the Code
All the source code will be published under the GPL. That means that you can take it and do what you like with it, so long as you publish your changes. That means that when you put your game up on your website you are legally obliged to put a link to the source code too. This is to protect the code's openess and make sure that a proprietry company can't come along and lock the code up.
But if publishing your changes seems like you have to give something up, consider this:
1) Fair's fair, I gave you my code, the least you can do is give me yours in return
2) Publishing your code advertises your programming skills and probably increases your chances of getting hired.
Data-based game design
The source code to MR3 was always intended to run other games. I designed it in such a way that it should be possible to make completely new games without doing anything to the inner workings of the source code itself. For example, Rapunzel runs on an earlier version of the MR3 engine. It is quite a different game as you can see. At the time of writing Rapunzel doesn't run on the latest version of the 'core' engine but it was always my intention to iron out the incompatibilities once MR3 was finished. The only differences between Rapunzel and the version of MR3 that was current at the time are:
1) the graphics and sounds
2) the data
3) a few global variable settings
The source code is exactly the same. This is known as data-based game design, because the 'game' exists as data which runs on the engine. Change the data and you change the game. Companies such as Lucasarts used this concept to great effect when they made their SCUMMVM based games. Apparantly Zork had a similar concept and I'm sure there are countless other examples. For me, this is the right way to program games since it means you don't have to start from scratch with every new game.
A new website
I want to give you much more opportunity to get involved with this website. For example, if you decide to take the game engine and make a game with it, I want to make it easy for you to upload it to this site if you should wish to. If people like using the game engine, there will be lots of questions to answer, and I want to make it possible for anyone who wants to to be able to publish articles on this site to help out their fellow game makers. I want to be able to allow artists and musicians to upload their creations if they so wish, for the game makers to use in their games. In other words, I want to make this website primarily a community of game-makers.
To do this, it seems that I need to do a lot of programming. Either I need to program all these features in to this website, or I need to start from a different base and program the features we currently enjoy into that. Of the two, I think that starting from Wordpress as a base is the better option. Like with the games, I will publish he source code for all the changes I make. That means that if you want take that code and improve it and submit it back you can. Also, because programming modules and designing themes for wordpress is easy to do and well documented, there is a possiblity for you to contribute whole items to the site too.
Wordpress is open source and everything I do will be open source too. That means that someone could take all that source code and start a rival website to The Metal Box. That's fine with me. If they really do it better, and no-one comes here any more - I'll join their site!
Ports to other platforms
Another benefit to opening up the source code is that if you want to you could port the game to a different platform. Game-maker for example. Or Game Editor, from which you can publish to Windows, Mac, Linux, GP2X and a whole slew of PDAs and mobile phones. You might have expertise in Flash and decide to make a Flash version. It's all good so long as you publish your source code along with the games.
To the Future!
Ok, I've gone on long enough for the time being. I am very excited about all this. The worst that could happen is that everyone just ignores everything I put up, and if that's the case then it's better I know now, so I can go and find something more useful to do with the rest of my life! But pessimism aside, this could possibly spawn a whole slew of MR-like games. Some will be good, some not so good, but all will benefit from the changes that each author makes to the game engine.
As a programmer, I now believe that my best bet is to get my programming out there for people to use. There's so much potential locked up in that game engine and there's somany thousands of suggestions in the database that I could work my whole life and never scratch the surface. It may mean that in the short term not much happens with MR3 but in the longer term, things could get very interesting around here!
Still doing the website - won't be long...
3rd Oct 2006I am still working on the website for the client today. It's nearly done now, but as you can tell, it's just slightly behind schedule.
I read somewhere that however long you think a software project will take, double it to be on the safe side, and then triple that. :) We've been pulling out all the stops to get this done over the weekend, and it's 99% there.
Demo 0.16 Online
17th Aug 2006Just the few bug fixes that I talked about yesterday. For more details, scroll down on the game page.
Ok, I am pausing work on this now until Sept 30.
Bug fixes
16th Aug 2006Although I'm supposed to have paused, I couldn't resist fixing a few bugs today.
- Merlin turning into a grave whilst dying
- ghost still attacking whilst dying
- game crashes when Berlin kills a unit with last shot after telepoting out
- game crashes when final screen is cleared
I'll upload demo 0.16 tomorrow with these fixes. It won't make you restart your game though.
Demo 0.15 Online!
15th Aug 2006It's another MR3 demo! This time the main change is probably the addition of the goblin mage. There are also bats in the caves for the first time.
Other noticeable adjustments include:
- Army summon spell dims icon when unit of that type is not available
- Energy pulse fires fewer bullets
- Energy Blast Scroll screen made easier
And a myriad of small changes and fixes.
Have fun!
Work on MR3 has now paused. I'll be back at the the end of September to continue with it. In the mean time I'll keep doing the Friday update.
cave bats and credits
15th Aug 2006Forgot to post the new last night and I'll tell you for why...
Recently I've been having a couple of problems. One is noisy neighbours, the other is some RSI issues. I decided the the solution to both of these problems was to buy a laptop. That way, I could get out of the house if the noise got too bad and I would be able to adjust my working position more easily with a laptop than a desktop. So I went out and bought one of the cheaper ones I could find. I deliberately got a low spec one in the hope that
a) it would run cooler and allow me to use it on my actual lap
b) I wouldn't be tempted to load it up with game demos and other distracting stuff - it would be purely for work
I ended up with a Packard Bell from PC World (EUR 820 with bag, norton internet security and microsoft wireless mouse). I didn't want to buy a Dell after watching one of my friends go through months of hell after his hard drive failed one month after the warranty expired.
This is the first laptop I have ever owned, and now that I've got one I have to wonder why I didn't do it years ago. Yesterday, I got to move around various locations finding somewhere quiet, somewhere comfortable, even working outside for a while. It's great!
The day started off with a two hour long power cut between 7:45am to 10:15am. But I thought "hey great, I've got the laptop, I can work anyway! Right, all I need to do is transfer the file across from my other computer... ah." So I didn't get any work done there, but in the future I will be able to, which is a nice bonus I hadn't thought of.
I spent the rest of the morning transferring stuff across so that I could work on MR3 on it.
In the afternoon, I did the following to MR3:
(3,1) too hard
Removed batTree and quadranid cocoon. Added 2 quadranids
bats add to caves [suggestion_4170]
Made new enemy - caveBat and added to cave screens. caveBat is exactly the same as a normal bat except it can't fly over solid backgrounds
credits - increase scroll speed
This should have been a very quick change but in order to get the credits to load on the laptop, I had to install apache and php. I thought I might as well install mysql as well I was at it, since I will need it. This setup isn't quite working properly and I spent a lot of time trying to figure out why. Anyway in the end I got it hobbling along well enough to:
increase speed from 0.5 to 1
Then I started working on the ghost death sound playing too late. That turned out to be more complicated than I thought, and the situation now is that the ghost sound plays correctly, but other enemies don't die. So I'll continue with that today.
So because I haven't finished setting up a webserver on the laptop, I couldn't do this news from it. And when I got home I forgot! So that's why I didn't post. Bit of an anitclimax to the story that isn't it?
I got a couple of very supportive comments about pausing on MR3 - thanks for those guys! That makes it so much easier. To answer a couple of queries:
I do intend to keep up with the Friday updates while I do the other work. However, if I get too busy or if these RSI problems keep getting worse, I may have to stop. But for now, I intend to keep it going.
I probably won't blog about my progress with the website work. Although I suppose if a few more people want me to do that, and the client doesn't mind then I would.
I will release the next demo before I pause (even if it's not ready today) and I will try to put aside some time for bugfixes to it, though I can't promise anything there.
Work to pause on 15th Aug
12th Aug 2006I am going to pause work on MR3 on 15th Aug for about six weeks.
The reason is that I have an opportunity to do some web programming work which will give me a much needed financial boost. The programming work will probably take around four weeks starting from 1st September. However, since the work is based on Wordpress I need to take a little time before hand to get to know Wordpress a little better.
As well as giving me a financial boost, this work will also give me the opportunity to learn and experience Wordpress, which will be relevant to themetalbox.com as I have a plan to build a new website using Wordpress as a starting point. This work will give me the opportunity to find out whether that is realistic.
I hope you can understand my reasons for doing this. In the long term this will definitely benefit this site.
Playtesting
10th Aug 2006I spent most of today playtesting MR3. With the latest bout of changes the game has got easier.
I found a bug in the new reservations system (bound to happen really). It took an age to track down. Turned out it was one number - I needed to change a "1" to a variable "resPos" that was all it was. Sometimes the smallest ones are the hardest to find. :)