It’s war! A Tiny World War postmortem

Link to my game – (ratings and feeback very much appreciated!)

@BigDaveIsCheap’s LD23 video roundup featuring Tiny World War (at 3:40)

Timelapse of the creation of Tiny World War

Preparing For War

Having followed LD for yonks it was finally time to bite the bullet and jump in with both feet. I was so excited to spend the weekend entirely devoted to the hobby I love, I couldn’t wait to get started, so preparation was no problem whatsoever. The first thing I did was

Tip #1 – Buy McFunkypants “The Game Jam Survival Guide”

And from this flowed forth much insight and timesaving! So I decided on Flash and Fllixel since I was familiar with the tools and could easily share the game – and I got my toolchain all setup and ready with a HelloWorld app that built and ran. I won’t reiterate all the great tips in McFunkypants’ book, I recommend you buy it! However, as a happily married chappy one of the most important tips I will add here is

Tip #2 – Plan the weekend around your loved ones

I can’t overemphasise how important this was. With my lovely wife on board (and guaranteed a place in the credits ;) ) I not only felt free to indulge gratuitously in my hobby, but I had a superbly supportive playtester, motivator, and carer on hand making sure I ate, drank and slept in appropriate proportions! Going out for dinner on Saturday night not only helped me chill out and come down from the intense day, I woke up after a great night sleep full of ideas for day 2! Speaking of ideas: Continue reading

Tiny World War Video Review!

@BigDaveIsCheap has featured Tiny World War in his roundup of Ludum Dare 23 games! I’m so thrilled to have had my first ever review, it starts at 3:40 in the video but the whole video is well worth watching as he shows off some great LD entries that all deserve attention. Thanks Big Dave!

 

Ludum Dare 23 + 2 weeks

Decisions decisions…

It’s been a hectic couple of weeks post Ludum Dare, and I’m really pleased with the feedback Tiny World War is receiving. Based on early feedback I added a quick post compo version where you can dive at the enemies to knife them, but really it needs proper weaponry. People like the sounds, graphics, special effects and the challenge aspect. Also the humour and theme has gone down well. On the negative side the balance isn’t great and it’s quite short – still, I’m hopeful of a decent overall score! I’ve rated over 50 games now and have around 40 for mine, with a week to go, so I’m hoping to get a “fair” rating.

The big question is – what’s next? Well this is where decision time kicks in… I want to port the game to iOS first and foremost, but as I mentioned in an earlier blog post, the thing I miss about iOS programming is the ability to share the prototype with the world! Enter the Axel Game Library! Flash but optimised with stage3d so it runs superbly on iOS! So basically like my original experiment with Flixel and the Air packager, but this time with a happy ending… So I can code away happily in flash and deploy to both platforms! Main objective now, port Tiny World War to Axel, then polish enough for release and get it out there! Going to have to add touch controls but hopefully not too many other changes will be needed. As always, I’ll post progress here.

Ludum Dare 23

I’m planning to enter my first Ludum Dare this weekend for the 10th anniversary LD 23! I’m very excited to participate in this great event having followed them with interest for far too long without joining in.

I’m planning to use Flash and Flixel to make the game as accessible as possible. DAME for tilemap editing, sfxr for sounds and hopefully garageband for music. Chronolapse will provide the screen capture.

I have quite a few game ideas lurking around, it’ll be a matter of seeing what integrates best with the theme or perhaps the theme will provoke something entirely new, who knows? Either way, I’ll write up here how I got on…

iOS progress update

I’ve been working hard on the iOS port of planet and I’m pretty happy with progress, though I’m conscious of feature creep which I need to keep at bay. My wall of TODO post-its is getting excessive at about 130 items!

It’s also less rewarding developing for iOS since it’s that much harder to share progress! The only way I’m finding to get feedback at the moment is foisting the game on friends and family who are a) not major gamers and b) too kind to tell me what’s wrong with it. Tricky one…

Latest updates:

  • AI implementation mostly complete, need to add pathfinding and tilemap ray casts
  • New underground tileset
  • Improved onscreen feedback for controls
  • Particle system upgrades
  • Object spawners

With Ludum Dare 23 coming up I’m going to take a break from “planet”, I’m excited to continue with it after LD though, come too far to let it drop now and just need to get over the wall…

iOS progress

The iOS port is coming along really well, latest additions are

  • Seamless “hub world” allows player to move between levels without loading screens
  • Custom exporters for DAME to allow loading sprites, text triggers, box triggers
  • Box trigger teleporting to different maps
  • Text panel (see flash version)
  • Mechanic with pods opening when shot to reveal trapped people
  • Various entities added: tripods, drones, zombies, followers

Loads to do but pleased with how it’s going and finally getting somewhere with objective-C :D

Flixel iOS Tilemaps

First version of planet for iOS

Following up on the previous post I’ve taken a break from adding content to the flash version of the game in order to begin the process of porting to iOS. I was immediately faced with the dilemma of sticking with Flixel (for which a nascent iOS port is available), using the adobe Air packager to repackage the flash version, or moving to something entirely new i.e. cocos2d.

Having experimented with the Air packager I found the framerate was much to low for this game so that narrowed down the options. Next on the list to try was Flixel iOS. I was already biased towards choosing this because of my positive experience with Flixel flash and the community, but my worry was the lack of tile map support. This game uses tile maps on different layers with different properties in quite a complex way – much too complex to hand create – so I needed a robust extensible solution. There was some prior art here from Flixel member initials who has made a kind of tile map editor. This uses multiple Flixel tileBlocks to represent long platforms. This works great for their game, but was not an option for me for two reasons. Firstly, the tile blocks can only support either auto-tiles (a regular layout that selects e.g. a top-right-corner in the appropriate place) or random tiles – neither of these approaches is good for my game where the top-down view has little geometric regularity. Secondly the method of encoding the block sizes requires manually editing rub values in a png to set the width and height of the block – this would be way too labour intensive for this game. So what to do?

Fortunately it turned out that FlxTileBlock was already doing 99% of what I needed for full time map support. It creates a rectangular openGL triangleStrip and sets up both the vertex coordinates and texture coordinates according to the random/autotile algorithm. All I needed to do to enable full tile map support was get it to read which tile type to place at each coordinate, rather than a random generation. The simple addition of an integer array of size widthInTile*heightInTiles did the trick for this purpose. The final step was to add a very simple csv parser (copy paste from any number of websites) and voila! The performance is great, we can have as many tile map layers as we like and the flash world exporter “just works” (thanks DAME).

So what’s next? Well these tile maps don’t have the physical properties that are needed e.g. collision detection and pathfinding so they are high on the list. After that I need to make my own Lua exporter for DAME in order to load sprites and other entities into the map, plenty to do!