Archive for January, 2013

Titan Attacks mobile – Developer Diary #3

Tuesday, January 15th, 2013

(click to enlarge)

It’s been a while since my last Titan Attacks developer diary and that’s due to two things:

1) I spent a couple of weeks banging out a new version of one of my games called Holiday Bonus GOLD and it launched on iPad/Android/PC/Mac in December. It was a spur of the moment thing to make that game but it should generate some good money (it got to no.2 on iWin.com!) and give me more indie “runway”, which is always a good thing.

2) I had a couple of weeks of lounging around, playing games and doing family stuff over Christmas

Anyway, here’s what’s new since the last update:

– I finished ripping out all old code and media from the project which I’d copied from another of my games. It always feels good to have this step done so that your new game is 100% “clean”.

– Added a tank that can fire multiple bullets and a basic background.

– Added a control method where you can move your finger anywhere to position the tank instantly and it autofires on finger down. However, it turns out this method won’t work because you sometimes need to be able to position the tank under a parachuting alien and catch it without shooting it. So I’m tweaking this control method to require a second finger to fire.

– I’ve been doing a ton of GUI code and that started with a new TVisualComponent class that I then extended other classes from. For some reason I never did this in previous frameworks (this one is technically my 5th framework and it’s shaping up to be the best one yet).

– Created a TSliderControl class and hooked it up to the player as another control method along with a fire button. See the image below (click to enlarge). As you slide your finger around in the rectangle the tank moves the full distance across the screen. This will be really useful on iPad. It feels smooth and good to use.

– Made an options screen so I could change control method on the device and then test it and get other people to test it. The final game will also allow you to change control method.

– Made the controls and buttons work with multi-touch on phone. This took quite a lot of fiddling to get right, but I properly understand the “problem space’ now.

– Got basic settings data saving/loading so that the game can remember the last control method you used.

– Improved my Screen Manager system to handle modal screens and multiple screens active and/or visible at once (e.g. show in-game menu over game-screen and call another dialog from that). I already had something basic that worked but this is a lot more flexible for the future and will require less code to add pop-up dialogs.

– Added a button down state and a bunch of other mini GUI tweaks/fixes that seemed to take forever as every time I changed something I spotted something else.

– Made mouse/finger up operate buttons instead of mouse/finger down. This turned out to be pretty complicated, especially on iOS as I’ve made it keep track of which finger first presses down on the button so that it can still activate it even when it moves away (but is not lifted up) and comes back to the button. In all my previous games the buttons activate on mouse/finger down which feels snappy but it’s not how OSes do it and nor how most decent games on iOS do it, so I changed my framework finally to handle this.

Next up

– Changing layout based on device orientation. Already components spread out and centre based on different aspect ratios but I want it to be dynamic.
– Tilt control method
– Finish tweaking/testing “easy” control method of placing finger where you want the tank to be.
– Add in first enemy.

OK that’s it for now. I’m going to meet Cas (from Puppy Games) and Cliffski (Positech games) on Wednesday, so I’m aiming to get more stuff to show them such as the game changing layout based on device orientation. All this GUI/framework stuff doesn’t move the game forward gameplay-wise but it’s a solid base for me to build this game, and future games, on.

Yes! Beat the FTL Boss (Video)

Monday, January 14th, 2013

At last! I finally beat the FTL boss ship on Normal mode 🙂

This time I had a better equipped ship with a cloak and a teleport, both of which came in very handy during the boss fight as well as earlier in the game.

The main weapon I had was the Glave beam which takes a long time to charge and consumes a lot of power but is hugely effective if the enemy has low shields and you can make the beam go over 3 or 4 rooms.

The first two boss fights went pretty well except I lost 3 of my key crew members during the second fight and then the 3rd fight went poorly but I just managed to clinch it before I died. I made a few mistakes of course – sometimes I just miss things because there is so much going on. Anyway, I’m pleased with the win and I hope that you can learn a new strategy that works for you from watching the video.

Here’s a video with commentary. Enjoy!

Argh! Defeated by the FTL boss again

Saturday, January 12th, 2013


(Click to enlarge)

I was sooooo close to beating the game on Normal. The boss ship had hardly any hull left on the 3rd fight but in the end it just pummeled me with lasers and missiles.

I had won the previous two boss fights pretty easily with my full power shield, epic evasion capability and serious firepower. Also all my key crew members were fully leveled up in their skills. However 4 of my crew got wiped out so I only had 3 people left to run around and put out fires and repair things, which meant my mega ship wasn’t fully operational.

I also had the following Augmentations:
– Long Range Scanners (helped me pick a decent path though the sectors)
– Automated Re-loader (made my weaponry even more deadly)
– Advanced FTL Navigation (I used this on the final level to get to a repair base before the 3rd fight)

Well my adrenaline was high on that last fight I can tell you. I really thought I was going to make it, but then it all fell apart. Gah! So disappointing.

Anyway, if it isn’t already clear, I 100% recommend this game. It’s brilliant but super-addictive so watch out!