A brief update from me is long overdue.
So where are we with a week to the deadline ? Feeling like we need two weeks before the deadline.
Souper Bowl is coming along well. It's basically Tapper, but in a soup kitchen. I managed to knock the majority of the game engine out in a day which I was really pleased about, and since then it's been a case of skinning it up, fixing bugs and tweaking the gameplay.
There's one minor gameplay addition to add, and aside from the sounds / remaining visuals / love it's done. Hopefully tonight will see the end of it aside from an hour here and there, and it'll be great to get the first one down and out of the way.
Olli's game is coming along well. The core engine has been complete for a while now ( Even to the stage where he can post code :) ), but we've had issues with the gameplay. It's a pretty original concept, and for a while we thought it was nailed but just lacking visually and sonically and once those were in place it'd all come good. After a lot of chats with the client and standing back from it a bit, we've realised it wasn't there at all.
So Olli's throw a load of new ideas at it which are working really well. It's much closer to the vision I had in my head of how it would play now ( If only that vision had been clearer at the start ).
The w/end is going to be spent sourcing soundfx ( Which I do actually enjoy ) and working on the controller movie which holds everything together. At present it loads and triggers the games, handles the game over etc. but it needs a lot of work throwing at it. Just today we came up with the idea of tooltips within the games just to help people along, and the controller will have to handle these too ( As all the text is translatable, it's better to just have one movie deal with it all and saves each game having to load in their own specific xml file with the text in ).
Lot's and lot's to do. Hopefully Monday's post will be a nice gloaty one where everything is done. Not going to happen, but let me hold on to the dream for a little while.
The controller is well under development now, and over the weekend I hit the first real snag(s).
In the good old days when as1 was king, you'd create an movieclip and load your external swf into that, and then just call a function directly. Nice and easy.
In the slightly meaner days of as2 it's a bit trickier. Let's load the swf in, now where the hell is the main class that I need to get to ? Arse.
Now I'm sure there is an easy way to do it, a way I've totally missed, but this is the solution I've come up ( And it's as long winded as you like ).
I've made a CrossSWFInterface class, which the controller brings in and creates a new instance of. Now by being cunning I know that packages/ classes are placed in the _global name space when they're created. So, each loaded class just passes it's entry point singleton to the CrossSWFInterface class via _global, eg
And because the controller swf is the first one loaded, I know these methods are going to exist in _global by the time the loaded swf sends it's goodness to them.
Then by using static properites in the CSWFI class, the controller class can get all the info it needs from the loaded swf, and visa versa.
Now I'm sure there's got to be a easier, cleaner way, but it escapes me and we're badly up against the clock on this project, so it works and I'll happily admit I'm a dumb arse when someone explains how to do it correctly, but until then I'm happy with this approach.
I did mention snags at the start didn't I ? In my vain attempt to be a grown up Flash coder I use mtasc ( Which is so sexy ). The one issue with it I found this weekend was that you can only ever have one entry point to a swf ( ie, mtasc expects a class called "main" to be there, it's what it calls to run the code in the swf ). You can't change it to anything else, that's set in stone.
This is all cool normally, but I want to create seperate packages within my project file for the games themselves, but I can't have a different main class for each of them ( eg, main_game1 won't work. mtasc just wants main and nothing else will do ).
But this bad boy came to my rescue, hamtasc. Basically it's a "hacked" version of mtasc which allows you to define the entry point. Never has something so out and out geeky made me so happy.
I'm hoping tomorrow to have the controller in a useable state so I can start focusing on the game I've got to do ( "Souper Bowl". Tell me that's not genius ), so it'll load in and hand over control to the game etc.
I'm getting so close to doing something fun...
The project has finally been green lighted, we're off and running.
Completed the road map tonight, so all the dates for deliveries are set, which is nice 'cause we know how much time before we have to panic.
The project has grown ( They never seem to shrink do they ? ) but because of the delay in getting the concept signed off it's going to be split into 3 distinct phases for release ( It was two previously ).
It's good in many ways, it means the quality won't suffer because of trying to cram too much stuff in before the deadline ( Which is set in stone, it's got to coincide with something, and there's no moving it ), and I've done my share of episodic games, it's always proved to be a nice way to work when you're dealing with a lot of different games.
As to the code, the "controller" movie's development has already begun. Doesn't do a great deal atm, loads in a bit of xml, displays some buttons and not much else. The start of a project is always slow where you're arranging classes and spending as much time thinking as coding to ensure you don't code yourself into a corner.
One aspect of this project is that it's got to be translatable, so I've done a button class which resizes to match the text inside. No biggy, but just one of many things which need to be thought about when the text can change.
I really need to have an interesting blog entry soon, it's all very worky right now :)
So all the design docs have been done, some more vague than others, but they're done and sent for sign off...
The client has come back with quite a hefty amount of feedback already which is going to alter how we go about developing the project, and has expended the scope of it quite a bit, which we're going to have to factor in ( Both budget and time scale wise ).
To touch on the project itself, it's a collection of mini-games which follow you as you go through life, from toddler to retirement age.
And that's about it for now. Hoping to get final sign off on the concepts soon so we can start the actual coding.
( Yeah its a boring blog entry, but projects aren't all flv clips and moving sprites, but hey whilst you're along for the ride you're going to have to take the rough with the smooth along with us ).
Hopefully going to go back to what the stimunation blog used to be, and focus on the actual development of a game from start to end.
It's always tricky 'cause everything has a NDA these days, so it's often a period of 4 weeks or so when you can write very little about what you're actually working on, and then ta dah, here's the game everyone, let us know what you think ( And retroactively answering questions about its development ).
With this project there is still going to have to be a slight viel of secrecy, but I'm hoping we can still give you some ins and outs of it's development along the way.
So I guess we can call this day 1. And day 1 is... writing up the design docs day. Not the most fun thing in the world, and to be honest I'm a firm believer in games evolving rather than being planned out to the nth degree, but this is a game made up of lots ( Around 12 ) of sub-games and a five week turnaround so we really need that structure in place.
This project is a first for me too, in that I'm more project manager than coder ( Due to prior commitments rather than a huge desire to wear that hat ), so more of my time is going to be spent making sure our client is happy, ensuring that olli and Elliot ( Our artist on this project ) know what's going down and when and other such organisational feats.
I think that's about it for this post. I've still got 11 docs to write today which should keep me off the streets, and hopefully they'll be signed off without too much alteration so olli can start getting down and dirty with the code as soon as possible.