Lizzie has drawn a boss to replace my placeholder graphics. She's still not 100% satisfied with it, but it's a million times better than the scaled up chunky mess I was using :) I haven't done a video with it in yet, so check out the screenshots if you want to see it.
With the demo looming I realised I needed to deal with resolution, aspect ratio and clipping.
Thankfully 2D Toolkit takes care of most of it, I just needed to make use of the viewport clipping feature... Chaos! Oh how I wish I'd used it from the start. I had to change all the places where I'd calculated positions based on the screen rather than the viewport. Oof! In all it took about a day, and any problems were caused by me and not 2D Toolkit.
I also had to add clipping to the Vectrosity layer, which is how the UI is constructed. Sounds complicated but all I had to do was draw a black rectangle around the viewport coords above all other Vectrosity lines. Sorted.
Now it all scales to the nearest power of 2 for the games 400x240 (upped from 320x240 because all screens are widescreen these days) resolution screen. Which hopefully means it'll look good even if you get some black bordering (better that than stretching).
For the demo to be even halfway playable it needed a checkpoint system. Each level will have multiple checkpoints. Doing well later in the level is somewhat dependent on how well you did earlier, so the checkpoint system is there to let you go back and do better without ruining your overall progress.
I dug through the code and found most of the places I was keeping state and turned them into serialisable structures (some places required some creative refactoring). Each of these I put into a single game state structure. I can now store and retrieve multiple game states (checkpoints) in a single XML file using C#'s built in XML serialisation.
It's a big relief finally having that implemented as it's a task that's been hanging over me for some time.
The UI for checkpoint loading is the first time I've needed scrolling for the UI. The slider button is much like any other draggable button except it can only move along a specific line. I then just feed the line position value as a percentage into a new scrollable grid layout containing a bunch of wide buttons. A bit of fettling and it was all looking good. Spent more time on this than I expected, but UI's are a well known time sink.
I really wanted the demo completed by now. (Un)Fortunately a whole bunch of urgent contracting work landed in my lap. This is great from a finances perspective (I'm not wealthy, all my game dev is paid out of my own pocket) but has thrown off my schedule by a few weeks.
Playing around with the demo I noticed that I was having trouble keeping the inventory state in my own mind. My aim isn't to overwhelm the player, so I reduced the inventory and fabrication grid to 4x3 from 5x4 and also reduced special attack costs accordingly.
It feels a lot cleaner, I can now remember what I've set it to. This also leads nicely into a simplification of the priority system. Up until now each fabrication slot can have an individual priority, but with the new layout it occurred to me that I could make the top row high priority, middle mid, and bottom low. That way you're not constantly micro-managing fabrication priorities.
I was invited to talk one evening at a local artnchat event. My gut defensive reaction was "No!" so, of course, I had to say "Yes". It was a small affair, but once I finally got over my nerves I enjoyed it. It helped that the venue has two resident white cats, both deaf with different coloured eyes. Cats make everything better. I played a real world pasta (it was supposed to be beans) group dynamic drawing game, listened to a talk by artists using physical movement to 'paint' onto a digital canvas then superimposed back onto the camera footage, and then talked random cruft about making games. My planned presentation soon devolved into comfortable chatting.
I applied for Rezzed Leftfield Collection over a month ago, and now I've applied to The Gadget Show Live event and the Indie Games Collective GDC alternative.
The first Rezzed (in Brighton) played a huge part in my decision to go full indie. Getting into the Leftfield Collection would mean a great deal, and consequently I'm going to be mightily sad if I don't. I'm proud of myself for applying, even tho I know rejection could hurt.
The Gadget Show Live is interested in doing an Indie Zone thing. They're just gauging interest at the moment so I let 'em know I'd be up for it (again because when I got told about it my initial fear reaction was "No!").
For the Indie Games Collective alternative GDC I applied to do a talk on the mental side of indie games development. For some the biggest barrier to creativity and productivity is the battle they have with themselves. I applied to do a talk on the problems I give myself, and what things have worked (or not) in circumventing my attempts at self sabotage.