Four months ago I said coding had begun for Pie Panic, I think I was getting ahead of myself a bit. Soon after I said I had started, I stopped again. Not because of development problems or anything, I think I must have been riding the wave from Ninjah still, but quickly that subsided and I just didn't have it in my to do any coding. I think I was more tired than I gave myself credit for and a period of not coding in my spare time has done me the world of good (Skyrim was a welcome, addictive and time consuming alternative).
The itch to get coding again has come back and while looking through an archive of old games I didn't finish (Thanks (again!) Nim) I decided I'd like to finish making the game Virtual Evil. I'm not sure about the title now, but it's going to be a simple RPG style game. I haven't decided on which platforms I want to release it on, but I am hoping to make it playable with direction keys and two action buttons (so maybe a mobile release too?).
I've never made anything like this before, so I think this is going to be quite a learning process which I will write about here too. I will be making the game in Monkey, but because of the lack of file I/O functions, I will be making the editor in BlitzMAX, which luckily for me is quite simple to Monkey.
I started working on Pie Panic a couple of weeks ago but today was the first day I actually did any coding. Until today I've been doing various bits of research and planning spanning from checking out the average download size of the top 30 free apps on the android market to listing every sound effect I anticipate I will need.
I want to have a simple idea of everything I will need to be doing before I begin any of it. I want to know how all of the various areas of the game will link together, I want to know how I anticipate they will look. I've written down all of the mini games I want to include as well as a brief description of each. I know that no matter how much planning I do, there will be things I haven't thought of, but I really do not want to come up against any "gotcha" moments that could change or affect a lot of the work I've already done.
The coding I've done so far does not relate specifically to Pie Panic (e.g. the screen manager, the graphics system, the sound system and the pause menu system) and I am hoping it becomes a handy framework for any future games I hope to release. Even at this early stage the code seems much more structured and logical than anything I've done before so I am very happy already.
Regarding deadlines, I don't have any specific targets yet, but I am hoping (maybe quite naively) to do everything properly, once. *nervous laugh* Having finished my first proper project in Ninjah, I feel I have a much better idea of the overall process than I did before. I am hoping that I will not find problems similar to the various garbage issues I had with XNA/Xbox. (I am hoping this one isn't a naive notion!).
Ninjah is on the Xbox Indie Games market place and is doing really well. I am really happy with how many people downloaded the trial, let alone actually bought it! Various youtube videos have sprung up and it's heart warming to see people have taken the time and effort to bother posting such things. There is more I'd like to write about Ninjah but I think I will do so once I've had the chance to fix everything that's currently outstanding (this has been difficult because I am getting little in the way of feedback about certain Monkey issues).
So what next?
My initial plan when Monkey was released was to release a simple mobile game based on a game originally made by Dustin Friend but I went in head first and got too far ahead of myself before backing out and working on a game I knew about, Ninjah. I am now confident I can make a good go of Pie Panic and this will now be my focus.
It will be a mobile game available on Android, iPhone and maybe Windows mobile 7 and that's pretty much all I have at this stage
I am very concious about trying to plan as much as possible before actually doing any coding this time, so I am hoping this won't be a case of "make gameplay, then worry about making a game of it!". Time will tell
Ninjah failed peer review because in Spain and France they use a comma as the decimal point instead of a period (it was screwing up the loading / saving). Annoyingly I had actually read that section of the "XNA evil list" but clearly didn't understand it well enough to, you know, implement it. Luckily I was advised by a peer reviewer to cancel the review early, but even then I have to wait until the 24th until I resubmit. I am considering working on Pie Panic a bit more when I can this week until the review either passes or fails
I've put Ninjah on hold until I hear some feedback regarding every draw command causing a memory leak in XNA. I'm reluctant to go too far now because I am not certain it will be fixed any time soon. There hasn't even been an acknowledgement of the problem yet, so I've no idea when things will be fixed.
Until then, I am going back to Pie Panic, or more specifically at this time, handling different size/resolution phone displays. I think it's probably easier than I first thought but could result in stretching; I'll need to see how bad it is on a different aspect screen before going further with it.
I have two projects 'on the go' (and by on the go I mean, started) at the moment.
Upon the release of the game development language Monkey I thought it would be a good idea to start with a simple project. I considered the simplest idea to be working on a mobile version of the game Pie Panic. This game was originally made with The Games Factory by Dustin Friend. Dustin was kind enough to give me the graphics and TGF source and I began work on a mobile version.
Monkey is great in as much as it lets you develop for many targets at once (HTML5, Flash, Android, iOS, XNA and GLWF), however, this became a problem. Because it was the easiest to quickly update and play, I developed Pie Panic and tested in HTML5. This was fine right up until I decided to test it on my Android phone (HTC Desire) and realised it didn't even remotely fit Rats. I hadn't even considered the fact that there are lots of different resolutions for mobile phones so basically I was heading for a problem.
It was at this stage that I decided it was probably best for me to stop and develop an App Framework that could handle different resolutions from scratch. I didn't want to try and bodge Pie Panic on to phones, I wanted to do it properly.
"Doing things properly" has always been a bit of a problem area for me. My intentions start well but in the end everything starts getting a bit messy as I try to fit things together. I attribute this to the fact I never quite know everything I need to do before I start working on things. So, to help improve on this area, instead of working on a completely new game, I decided to redo a game I have made before, Ninjah.
When I was first introduced to BlitzBasic (in 2001?), Ninjah was the first game I worked on. It wasn't any particular type of game, I just wanted a platform game with a ninja rope. In 2007, I wanted to attach a game to my CV in an effort to get a job (any job) in the game development industry. Unfortunately nothing came of this, but at the very least I had actually managed to finish a game (rare for me). This was developed in BlitzMax in 2007 and all said and done, I was very proud of it.
Monkey (still feels weird writing it), is still very early on in its life, but in a month I was able get way past what had taken me 6-7 months in C#. More importantly I've been better able to program in a proper structured way and even though I've almost all of the various aspects coded, it doesn't feel like I am trying to bodge everything together; It's working together properly.
So, I am currently working on Ninjah and I hope to have it on Xbox 360 soonish. I'm not going to pretend I know an estimated completion date because I'm never right. I will be selling it for 80 MS Points (about 1 dollar I think?), and am considering doing the same for a PC release.