Flash Lite Diary: 1.4 Flash But Dull?

Anyway, I continued to look at vector graphics for my newly named crazy balloon clone which is named ‘Balloonacy’ in flash lite. Importing the flashy graphics I had made with vectors into the flash IDE has proved to be just too painful in that many of the drawing functions (i.e. complex strokes and areas fills) I had used in the artwork are basically just not supported it seems when incorporating them into my 1.1 game project, though somehow I managed to get the N80 at least to display them almost correctly?, but this is not an ideal situation to a programmer when you don’t know how or why something works when it really shouldn’t perhaps!

As I did manage above to get them running on the target handset at 1.1 level on several flash 1.1 enabled handsets here, although moderately pleased they still looked a little a bit tatty… at this point I switched to front end graphics being a mix of bitmap and vector graphics as the main game test graphics now – it just looks and feels better and more like a real game. Oh well I tried with the complex vector route but I guess flash 1.1 is just not good enough in my opinion to what I want with just vectors so now I mix and match vector and bitmaps when required.

Onto the code… well I managed to get things working real fast since my last diary entry and now have most of the front end completed as a mix of timeline tweens and actionscript but have since gone from a 32Kb running .swf to a 186Kb one!… this though being due to having not optimised any of the bitmap graphics just yet which with a bit or work and j2me experience of course I will get down much, much lower when this test project nears it’s end.

Regards the main game I have everything running at around 14fps on a real device but it feels kind of bloaty and flaky in terms of running code… my sprite moves ok per frame event, but still feels a little sluggish as compared to my j2me engine – hmmm odd, I press on anyway and look at collision and hit my first real problem to date 😛

I still have (or ‘had’ should I say) the background maze built as both a fairly complex irregular vector based kind of cave wall layer (now non-scrolling) sitting on top of a background sky layer and want to test my player balloon sprite against it for collision… I soon realise that the ‘hittest’ function built into flash lite 2.0 upwards is not included in 1.1 oh s**t and yet another limitation. Without pixel based collision this type of quick and clean level design is now rendered useless… so I go back to box collision (or possibly quicker sphere based) and start to think about more regular square shape tile design for the final game level design – not as nice to actually look at in practice compared to what I had or was going to have. Oh well I guess the ‘lite’ is now getting duller by the day I guess :/

Anyway, I am going to keep this one a bit shorter and it’s not all bad… I have lost some of things I wanted to do in 1.1 (and I still want to do 1.1 at this stage for obvious reasons) but I envisage at least now that the whole thing will be a completed running alpha version with one level in about another 7 man days of bashing away at it, as I have now mastered already the timeline and the way actionscript works with it to produce an interactive experience (i.e. a game and not just an animation heh). When I say mastered I mean I have enough knowledge now of 1.1 to complete the title but I have a feeling that when it is I will still not be happy with it, given that I have had to drop quite a few idea’s just to get the damn thing running well enough via 1.1 on the target devices.

At the time of writing I have added quite a lot of final graphics but have stripped down the game loop to the bare minimum now to work with bitmaps and titles and good old calculated box collision… I could go on about no array support either in 1.1 but I won’t as there are other ways to do it in practice.

Overall then I am doing ok with 1.1 I guess but 2.0 would be the better choice and I still may do this one in 1.1 and then swap to 2.0 for a future project – just don’t know yet!?

What I have now as a front end is working and a few percent richer than j2me would offer for even more development time but the game loop code and graphics are not as good as I hoped for, but with a little sprinkle of my magic dust and modicum of good old luck! 🙂 I reckon I can make it look good enough to potentially sell later on via a publisher.

Worth a quick mention before I go on this diary entry, was the use of labels to frames in the timeline meaning you just pick a frame in the timeline, give it a label (on say a layer called labels) and then just jump to it/them back and forth to do your program run just like real programming heh, as it was I was just jumping everywhere to frame numbers (like line numbers) but they changed every time I inserted a new set of frames (which reminds me of my early C64 6502 assembler days)… the labels are simple of course but at least add a much needed friendly naming convention to the program run order.
And I guess at the end of the day even with some limitations I can indeed build once and run on all my flash phones with different screen sizes including the PC etc. without changing anything – the later being why I press on with flash lite in reality as this bit is really cool!.

At this point my brother pays me a visit and walks in with a newish Nokia with what looks like to the hardened j2me coder a 240×320 res screen?. I don’t know if it supports flash without looking the spec of the device up, but I whack across my latest swf n seconds to his device via bluetooth and it runs without any changes!… if flash is not the future yet, I think it will be later for this one big reason. J2me just cannot compete with this now at least in that I didn’t even have to make a build for his screen size etc. and bye bye porting to a great degree.

I am now designing the final bitmap graphics at least for N80 352×416 and them import and scale them into the 176×208 flash screen stage – why?…
well after several graphic tests it looks much better (and not too much larger byte wise when
optimised) on full screen PC – marvellous! – the mix of vectors and bitmaps work for me 🙂

I hope to spend some more time this week to come on the level graphics next so that I can incorporate the box collision 100% but I can help thinking that 1.1 is not going to serve me well for too long before I move to 2.0 and gain some of those missing features that make 1.1 a bit shallow to actual write a decent action/sprite game with.

Anything you do not agree with then please comment below, as this is just my personal day to day experience of developing with 1.1 in between other work here of course.

It’s been fun to date, but fun with limitations. If I could lose those I’d be excited rather than now just happy with my progress so far – then again I have always been a hard task master on myself, it’s what makes me tick and do this for a living I guess.