I received a notification from a user last night saying that there were problems sending remote record requests because of a login issue. I just wanted to update to say that I have replicated the problem with my own account, and so I plan to work on fixing this issue this evening, as soon as I get home.
Based on a tiny bit of checking I think it should be a fairly trivial fix, but that’s without knowing the true details of the problem.
I will update again when I know more, and will get a working version on the Android Market as soon as possible.
I made some changes to my Sky remote record app for Android available on the market today. The changes are fairly basic, and are mostly there to make the user experience a bit better.
For example, if your recording fails then you receive a screen where you can choose to test your login details on Sky’s website to make sure you’ve got them correct, you can also view the help on my site, or open the preferences to change your username and/or password.
The update will make it much easier for people to be sure their details are correct and solve any problems they may encounter when setting up remote record requests with Sky.
One of the most important parts of the entire game is the ability to shoot at the bad guys. For this you’ll definitely be needing some bullets (and I’ll get to the bad guys soon).
I thought adding bullet sprites would be quite complicated because it would involve finding the angle to be fired at, the start position based on the position and rotation of the character sprite, but that turned out to be quite simple in the end.
Rather than use any complicated mathematics I determined that the centre of the character sprite is something that won’t change because the character is on top of a non-moving tower. I modified the Sprite.java file in the Rokon files to include centreX and centreY values. If I eventually let the character sprite move then I will need to make sure that value gets updated, but that’s a very minor issue.
I create the bullet sprite when the user presses the trackball button, or the centre of the directional pad if that’s what the device has. The bullet sprite appears at the centre of the character sprite and has X and Y velocity applied to it like so:
To begin developing my game I downloaded the latest Android SDK and set up Eclipse as explained in great (and hopefully up-to-date) detail on Google’s instructions page.
Once this was working I got the latest version of the Rokon game engine and extracted it into my workspace folder. I imported the existing project into Eclipse and added my own class to the list. I copied one of the examples into my own class and then removed the com.rokon.examples class and files. I changed all references of the com.rokon.examples class to my own class in files like the AndroidManifest.xml file. I missed a few places at first, but Eclipse is pretty good at telling you what’s wrong. I found it helpful to clean the project using the Project->Clean menu item to make sure no errors were left over from before certain changes.
Once I had eradicated all errors from Eclipse I ran the source in an Android Virtual Device. To my immense surprise it was working!
I went into the code and started to strip out all the bits I didn’t want. I kept one sprite around, but changed the sprite texture to my own arrow, and made it considerably smaller.
That was all pretty easy, and I thought things were going to well until I realised that I now needed to get down to the harder stuff. The user would need to aim in different directions from one point, so I needed a way for the person to change the angle. My first thought was to use the scroll ball that appears on most HTC devices these days. I thought that might be a bit of a problem though, because I was planning on using the scroll ball press as the trigger, and that might lead to people accidentally pressing it when they didn’t want to.
I decided that it would be cool to have the character point towards where the user pressed on the screen. The problem with that is that code is required to work out what angle to rotate the character by depending on where the character is, and where the player has pressed on the screen. I managed to find various little bits and pieces online that helped me come up with a decent solution.
That looks very complicated, but it’s not that bad, really. The angle is worked out using the position of the centre of the sprite and the position of the press on the screen. I’d explain it in more detail, but that might take a while. You may notice the +90 near the end of the rotation line. Unfortunately that’s a bit of a hack to add 90 degrees of rotation to whatever angle is given to me. It works, so I’m fine with that for now.
Now when I run the “game” I see an arrow on the screen. If I press on the screen then the arrow points at where I pressed. If I move my finger while it’s pressed then the arrow follows my finger around. A good start to coding the actual character.
I decided that I wanted to get a bit more into Android development, and I decided to go with a game this time. I have made a game for Android before, well, a kind of puzzle more than a game. It’s called Petals Around the Rose, and it basically just sits and waits for user input before anything happens. So it’s not a real-time game. This next game is going to be very different.
My aim is to make a game called Bring It! that is along the lines of the tower defence games you see quite a lot of, but with elements of games like More Rooms by Sean Cooper and Burn Zombie Burn by Doublesix Games to it.
The player will control a single character in a tower and will begin the game with a basic weapon. Waves of creatures will begin to invade and try to reach the character, and the player must kill all of these creatures. As the waves progress the creatures will get stronger, and/or come in different numbers. The player will have the ability to earn better weapons, or upgrades for current weapons. There may also be the possibility of moving to other towers depending on the level. The towers will not all be the same and will differ in strengths and weaknesses.
I am writing the game (for the time being) in Java, using the Rokonengine for Android. This uses OpenGL to create and manage the graphics.
I have never written a real-time game before. I have never written anything using OpenGL, or any other similar library. I have only ever written two things in Java. These are the hurdles I have to overcome to get a working game.
I’ve decided to release a trial version of my Sky+ Android application Remote Recorder so that it’s a bit more accessible to people who want to try it out before they commit to a (refundable) purchase.
The trial version is limited to one recording request for now, but that may change in the future if people want to try it a bit more. For now I believe that one recording is all it takes to get a feel for the application.
Along with this new trial version I have made some minor changes to the full version of the app. There are now some more robust checks in place to see if your login details are correct, and to find out if your remote record request was properly received by Sky.
To find either version search for Remote Recorder on the Android Market and pick the one you want. Any feedback is greatly appreciated.
A month ago I wanted to set something on TV to record from my phone because I was out of the house. I was aware of the Remote Record option available on the Sky website, and that I could send an SMS to a specific number to set it up, but the website is a real pain to use on my phone, and I couldn’t remember the phone number, or what to send to it anyway.
I figured there was probably an Android application for sending a remote record request via the web, and there actually was. I was very pleased, until I saw that is cost quite a bit of money. This was when I came up with the idea of writing my own Remote Recorder application.
After a lot of my evenings and weekends spent on it I finally have a working application that I’m satisfied with enough to release to the general public.
Search the Android App Store for “Remote Recorder” and give it a go!
Remote Recorder has a very basic interface. You enter the name of the show you want to record into the search box and results are returned for you to choose from. Once you’ve chosen a show a list of show times and channels is retrieved and displayed to you. If you long-click on the show description then a remote record request is sent to Sky and they forward it to your Sky+ or Sky+ HD box. Hey presto, your show gets recorded. 🙂
I was just reading a news article about Steve Ballmer’s reaction to the recently announced Google Chrome operating system when I stumbled on this little gem:
“I don’t know if they can’t make up their mind or what the problem is over there, but the last time I checked, you don’t need two client operating systems.”
A quick look at Microsoft’s website tells me that Windows 7 is going to be released in “Starter”, “Home premium”, “Professional”, and “Ultimate” versions. There are more versions available depending on where you live because of Microsoft’s legal obligation not to force Internet Explorer on everyone in certain countries.
These are admittedly just different versions of the same operating system, but then we have to consider Windows Mobile on smartphones. That’s a entirely different operating system because it’s designed for a different type of device. Perhaps Microsoft should be reminded of their Zune. That runs a version of Windows called Windows CE (or Windows Embedded Compact). This is similar to the uses of Google Android and Google Chrome OS. Nobody would run a full version of Windows Vista on a mobile phone. It just wouldn’t be practical. Why should it be any different for another company? Do Apple run a full Mac OSX installation on every iPod and iPhone out there? You bet your ass they don’t!