Injustice: Gods Among Us

DSCF1655.jpg

Thanks, but I’ve been around long enough to know those…..

Number one daughter recommended “Injustice: Gods Among Us” as a good game. She reckons it is a good way to find out who would win in a fight between Superman and Batman. Since you can actually do that.

Yesterday I got hold of a copy. And she is right. Great game. I was expecting a good beat’em’up, but actually it is much better than that. There is also an engaging story mode that tells of Superman gone bad and even though it uses a Parallel Universe as a narrative device (quite the story telling mot du jour at the moment – hello Star Trek and Dr. Who), this does mean that you can have more interesting fights.

I got the game for the Wii U, figuring that the platform could do with some love at the moment. It works very well, with the Wii U controller either duplicating the video screen or showing you the player moves. I really like using the Wii U to play games. It now feels very natural to have a screen in your hands as well as in front of you. In fact, with Wii U consoles now available for around 150 quid I reckon they are a bit of bargain at the moment. Hopefully Sony will do something with the PS Vita and Microsoft with Glass to make the experience available on their platforms.

Anyhoo, we spent a happy afternoon working through various superhero permutations. Recommended.

Hull Collectors Fair

Last autumn they had a Movie Buffs fair in Hull and I went along and bought a few bits and bobs.Today there was another one and so we went along and took some pictures.

DSCF1652.jpg

Predator Jazz Hands

DSCF1638_39_40.jpg

Now, that’s a toy collection

DSCF1644_5_6.jpg

“Good time we had, yes”.

IMG_6960.jpg

What I bought, currently above the fireplace. Number one wife says it is “growing on her”, which is good enough for me. Anyone know the identity of the green guy with the red eyes and the figure to his left?

Pebble Watch

DSCF1624.jpg

So I  was looking something up on the http://www.coolcomponents.co.uk/ site. And I noticed that they had some Pebble watches for sale. They must have backed the Kickstarter at an early stage. Anyhoo, I’ve always liked different watches, and so I placed an order. And today it arrived. And very nice it is too. Very light, but not at all flimsy. And supposed to be very waterproof. You can see what’s inside here.

The watch uses a digital paper screen, rather like the ones in e-Readers. This allows it to display high contrast, high resolution (for a watch) black and white images very well indeed. It comes with a bunch of different watch faces which you can choose from. I like the big text one above. There is also a watch face SDK which you can use to make your own faces using a C program.

DSCF1621.jpg

Obligatory unboxing picture.

I’ve got the watch paired with my Nexus 7. It uses the Bluetooth connection to display emails and appointments and it works a treat. I’ve not got a great feel for battery life yet, but it went through the day without breaking a sweat.

What I really, really, really want to do is make it work with my Windows Phone. I’ve a horrible feeling that this will be rather tricky, even if I pair it with the phone and send data I’ll need to know what the protocol is. This is one of the very rare occasions where I wish I had an Apple or an Android phone, as it works with both of them. Maybe in the future it will be made to work with my lovely Lumia, For now I’m happy with what I get via the Nexus, but a phone connection would be awesome.

They say that Apple and maybe even Microsoft are working on watches like this at the moment. I can see why. I had a Spot watch a while back and I loved it (although you couldn’t really use it in the UK). A well connected, micro framework powered, version of the Pebble would be awesome. As it is, if you fancy something geeky but probably even useful, you should take a look.

Read the Specification. Please.

IMG_6292_3_4.jpg

I think that more software projects fail because of misunderstandings about the specification than for any other reason. The developer makes loads of assumptions about what the program needs to do and the customer can’t be bothered to keep an eye on what is being produced.

I was reminded of this when I was marking the first year coursework today. We set a tightly specified set of deliverables and then each student has 15 minutes to show what they have made. This is a lot of work. It takes five of us two and a half days to work through everyone. And then I have to spend at least two days going through the marked sheets and making sure that all the marks line up.

This year we set some quite complex deliverables and it was very pleasing to see that many students had risen to the challenge and produced some lovely stuff. But some of them had made really nice solutions to the wrong problem, because they had not read the specification in detail. They’d just read enough to convince themselves that they knew what was needed and then gone off and built it. And in many cases they needed to do more work to make their version than they would have needed to make the one that was required. Oh well.

Of course in a teaching situation this is not a huge problem. Folks lost a few marks and we moved on. And hopefully a lesson was learned, which is what it is all about.

One year I’m going to produce a huge, complex piece of coursework with a long and highly detailed description which has, right at the end, the phrase “Please ignore all the above. Just make me a program that prints “Hello World” in large friendly letters.”…

Lensbaby Bendy Lens

The LensBaby composer is a lens mounted on a ball and socket arrangement which you can twist to change the way that it focuses the light onto the camera sensor.

image

I bought one a while back and every now and then I get it out and have a play. It is quite fun. Very old school, in that it is basically a single lens in a sliding tube. There is no auto focus and you adjust the aperture (the size of the hole the light comes through) by dropping in and out little metal masks that are held in place with magnets. A bit fiddly to use, but the lens itself is pretty darned sharp, and you can get results that would be very difficult to get any other way.

IMG_6570_1_2.jpg

IMG_6547.jpg

IMG_6540.jpg

If you have a digital SLR and you fancy spending some time doing things the hard way, and never being quite sure how the pictures will come out, they are kind of fun.

Taking your Lumia 920 to bits

image

When I was a kid, whenever someone gave me some toy or other one of the first things I would to was take it to pieces to find out how it worked. To my credit, I was usually able to put the thing back together again, although I must admit that as devices have got more complicated I don’t do as much dismantling as I used to.

And the good news is that with the rise of the internets, I don’t have to. The folks at iFixit have recorded a lovely video of a Lumia 920 being taken to bits and then, most importantly, put back together again.

I’m not advising that you should do this kind of thing for fun, but the important part for me is that that I reckon that I could probably get away with having a go. Particularly as all the breakable bits like the headphone and usb sockets are on modules that look like they can be easily removed and replaced.

Even if you have no intention of ever taking your phone to pieces I recommend watching some of the video just to bring home just how much is going on inside that smooth plastic block.

Rob at TechEd North America 2013

TechEd

I’m very pleased to be able to report that I’ve been invited to deliver a couple of sessions at TechEd North America 2013 in New Orleans. I’m doing WPH-B302 “Secrets of using background agents for Windows Phone 8” and WPH-B301 “Speechifying your Windows Phone 8 Applications”. New Orleans is a place that I’ve always wanted to visit, and now I’ve actually got the chance to go there, which is great. If you are going along to the conference (and it looks like it is going to be very interesting) then it would be lovely to see you there. I’ve even got some new jokes just for the occasion.

Grand Finale Three Thing Game and Bash

IMG_6556.jpg

A couple of dates for your diaries. May 30th and May 31st. These are when we are doing our Grand Finale events for the year. On May 30th we will be starting a Three Thing Game and having a Summer Bash. Hull students can take part in either, or both. Tickets for the Bash, with the usual menu of video games, wordsearch, pop and pizza, will go on sale soon. And we will also be registering teams for the Three Thing Game. The timetable is tight, we are only able to run the events after all the exams have finished, and we want to make sure that if you are heading home at the weekend you can still take part.

We will be holding the thing auction at lunchtime on Thursday 30th of May. Teams will build their games on Thursday and Friday with the judging and awards on Friday afternoon. There will be a break for bash activities on Thursday evening. We’ve got Boss Alien, a game company based in Brighton, coming up to take part and help with the judging, and there will be the usual selection of awesome prizes and Lego.

I’ll be kicking things off on Thursday, but then I have to head out to New Orleans and TechEd US on Friday. I’ll be leaving everything in the capable hands of Simon, Martin, David and the rest of the team. In fact, there might even be a staff team in this TTG. I’m only sorry that I can’t take part in it.

Start your Own Business. Why not?

DSCF1601_2_3.jpg

Liz Johnson from the university Knowledge Exchange gave a Rather Useful Seminar on starting your own business today. We had a very good audience which was nice to see. The great thing about a Computer Science student is that they already have a bunch of skills that can actually drive a small business along.

There were some great tips for getting started.

Let people know that you are running a business

People like HMRC (Her Majesty's Revenue and Customs) like to be told if you are earning money. If they find out from someone else that you are working – which is pretty much guaranteed as soon as you get paid something by another company – then they might get upset and give you a hard time. Your landlord might need to be told if you are working from home, particularly if you customers back to your place for meetings. This will also affect your household insurance. If you are driving to customer meetings and delivering stuff make sure that your car insurance covers this. If you are starting a business alongside an existing job, it makes sense to tell your employer. They could get rather cross if they find out, and you might be able to work with them to leverage some useful synergy (proper business talk eh?)

Cover yourself in respect of liability

Perhaps the most important one here. Make sure that you have insurance that will cover you in the event of a dispute with a customer. Nobody starts a job thinking that it could all go wrong and you could get sued, but it can happen and you need to have protection. This is kind of expensive, but you can pay by instalments, or get insurance for each job in turn. The price of not doing this is very scarily high.Of course this insurance will count as a business expense, so you can count it against tax that you would be paying on the work.

Take Care Over Your Name

If you are going to give your enterprise a name, spend some time picking a good one. Practice saying the business name and make sure it sounds good to you. Think how it would sound to someone who rang you up. (I thought this was wonderful advice). See if you need to protect your name, and make sure that you are not using the same name as someone else, that could end really badly.

Get Help

You will need as much help as you can. Use skills from helpful family members, even if it is just as a sounding board so that you can make sure your ideas aren’t too wacky. There are lots of agencies who can help you find grants and all kinds of other things, starting with the Knowledge Exchange on the university campus. The Platform Expo folks in Hull are also a great source of resources, particularly if you need things like office space and help setting things up. Look up Microsoft BizSpark for free software.

One piece of advice that I heard from another source was that if you are not sure whether or not you need funding, you probably don’t. If you need money, for example to buy a new machine or some stock, you will really know that you need it. Don’t just think you need to get cash just so you can get started. If you have your trusty laptop, a good network connection and can afford to live, then for a developer that is probably all you need.

Do what you like

If your business is a success you are going to be spending quite a lot of time doing it. So try to find something you enjoy doing. If you have a hobby that could become a business, that is not a bad way in, either way, if you do it right you should avoid the “Monday morning feeling”. And maybe even become rich.

If you want to find out more, go here:

http://www2.hull.ac.uk/administration/enterprise.aspx

Heartotron Wins Microsoft UK Global Game Jam Competition

StoreScreen

I always tell students to enter all the competitions they can because, you never know what might happen. You probably won’t win. But then again, if you don’t enter you definitely won’t win.

Simon, David, David, Lewis and myself formed a team to take part in the Global Game Jam earlier this year. The theme was heartbeats and, after a little discussion, we decided that a game which pits your heart against all kinds of incoming bad things might hit the spot. Our game was made even more interesting because we also managed to capture heartbeats and synchronise the gameplay to them, which was nice.

After the competition was over David and Simon kept working on the game, submitted it to Windows Store and then entered it in a Microsoft competition.

And we won. A Windows Phone, some cash, a T shirt, a nice pen and key ring each. And a chance to go down to Reading to visit Microsoft UK. Amazing.

I’m actually feeling kind of guilty at this point. After Simon and David took over I didn’t really contribute a great deal to the on-going project. But my background music is in there and they have still based the game on some of my suggestions. I think I was the one that said “We should colour the blood some shade of red….”

If you own a Windows 8 device you can get hold of our prize winning entry by searching the store for “Heartotron”. If you think you can do better, then enter next time….

Thanks so much to Microsoft to organising the competition and choosing our entry. Great stuff.

Rather Useful Seminar: Start your own business

image

If you want to find out more about starting your own business and how to develop ideas, then you should come along to the Rather Useful Seminar on Wednesday this week. Liz Johnson of the university Knowledge Exchange will be giving tips on product development and business formation.

If you’ve got some applications out there, or an idea for a product, or are looking for a way to get started, then you will find the presentation extremely valuable. Especially if you are thinking of setting something up over the summer break.

The session is on Wednesday 24th April at the usual Rather Useful Seminar time, 1:15 pm, in the usual place, Robert Blackburn Building LTD.

Make a Font from your Handwriting

FontDemo

I came across this a while back, via a tweet from Ed and the website The Cheese Thief. Today I actually got around to playing with it. It works rather well, as you can see above.

All you have to do is download the form, fill in the boxes, scan the form and send it to the web site. You get back a TrueType font of your own handwriting. All for free. Go here to make your own personalised font.

Sprites and Distances

Space Killlers Backdrop

At the moment quite a few of the first year are working on a “Space Killers” game. Above you can see my sample screenshot from the specification. You can see that my graphical design abilities are around the same as usual.

The idea is that the player (the green object) must survive in brightly coloured space while all around are trying to kill. Collision with any game object is instant death. Survive until the clock counts down to zero and you are rewarded with another level with more, and nastier, things in it.

One of the game objects is the “Master”. This is the one that looks a bit like a fried egg in the above screenshot. (Note to graphics department, fix that please).

Anyhoo, a Master sprite will sit and do nothing unless you get too close. Then it wakes up and chases you. To make this work the game needs to be able to work out how far the master is from the player. In my solution I have a sprite class:

public class Sprite
{
    public Texture2D SpriteTexture;
    public Rectangle SpriteRectangle;
    public Vector2 SpritePosition;
    public Color SpriteColor;
}

This contains stuff that we need to position and draw the sprite. The Update method for the parent sprite just uses the position vector (which I use to decide where the sprite is on the screen) to set the SpriteRectangle value (which I use to decide where to draw the sprite).

public virtual void Update(SpaceKillersGame game)
{
    SpriteRectangle.X = (int)(SpritePosition.X + 0.5f);
    SpriteRectangle.Y = (int)(SpritePosition.Y + 0.5f);
}

My sprite also contains another method, DistanceFrom, which is used by code in the Master sprite to decide how close it is to the player.

public float DistanceFrom(Sprite otherSprite)
{
    float dx = SpriteRectangle.Center.X -
               otherSprite.SpriteRectangle.Center.X;
    float dy = SpriteRectangle.Center.Y - 
               otherSprite.SpriteRectangle.Center.Y;
    return (float) Math.Sqrt((dx * dx) + (dy * dy));
}

This is how it works. It turns out that the Rectangle class contains a Point value which gives the coordinates of the centre of the rectangle. I can use the X and Y components from this to work out the difference in x and y between the two rectangles. I can then use Pythagoras Theorem to work out the distance between the sprites. Pythagoras said “The sum of the squares of the sides of a right angled triangle is equal to the square of the hypotenuse”.  My code works out the sum of the squares and then takes the square root of this to work out the distance value.

image

Hopefully the above diagram will make it all clear. If not, just enjoy the pretty colours.

My Master sprite then contains the following statement in its Update method (Update is called on the sprite to make it update itself. It is given a reference to the game that is currently active).

if (DistanceFrom(game.Player) < MasterRadarRange)
{
    ChaseActive = true;
}
MasterRadarRange is a value which controls how far the Master can “see”. If a player gets closer than the radar range the flag ChaseActive is set to true, which triggers the chase behaviour in the Master sprite.

Useful 3D Printing Text

image

Chris (the author the above) was kind enough to send me a copy to take a look at. You can download your own from Amazon for the princely sum of 2 pounds 22 pence. If you want to know what 3D printing is all about, how it works, and some ideas about how you could build a business based on 3D printing technology I reckon it is well worth a look.

This kind of text is perfect for electronic publishing as the field is very fast moving and I hope that Chris is able to keep it up to date. The writing style is conversational and the content is packed with little nuggets of information that must have taken quite a while to put together.

Hull Digital April Meetup

DSCF0444_5_6.jpg

Just a week after the event, some notes from the Hull Digital April Meetup on the 11th.

I was a bit late arriving, but I did get to see some interesting stuff about Model View Controller (MVC) in JavaScript from Duncan McMillan. He’s a web designer and developer at Art and Soul. MVC is a very popular way to structure an application, and it was interesting to see how it can be employed when you are writing a web based client program with complex behaviours. If you want to find out more about this technology Duncan suggested the site todomvc.com as a good place to start.

Of equal interest, to me at least, was the Paper application that Duncan used to present his talk. This made for some lovely looking slides. The application is interesting for another reason too; they are using the “freemium” model to sell the program. The starter version costs nothing, but before long you are paying for extras to give you different fonts and sketching tools. I rather like this way of selling a program. It means that you can only pay for the things that you are going to use. It also means that you will take the trouble to learn how to use a feature once you have paid for it, and that you are not overwhelmed with features in the program when you first start using it.

Next up was a chat from Stephen Lewis who was talking about the latest developments in PHP. I first used this ages ago. I’m so old that I can remember that PHP stands for “Personal Home Page”. It is a server side scripting language of great power, that integrates really well with databases. I used it to run PHPBB, a bulletin board system that for many years powered the forum in our department. Stephen was telling us that the language is still moving forwards, with object oriented support and lots of other goodies goodies. I’m not sure his talk will send me back to writing PHP again, but it is interesting to see that such things are still moving forwards.

All in all an interesting evening. And I even got a free drink.

Raspberry Pi Take 2

DSCF1580-Edit.jpg 
The audience, still smiling at the start of the session.

We had our second Raspberry Pi session today. Good to see more people keen on spreading the word about the fun you can have with computers. And the Raspberry Pi is a great vehicle for that. If you want a really nice guide to getting started with the Pi, one of the folks that came to see us yesterday, Mark, has put together a most excellent guide which you can find here. You can also find the notes from the last session, along with another set of smiling faces, here.