Saturday, 14 July 2012

New Job, New Problems!

So, two weeks ago now on the 29th June to the 1st July I was in Brighton with my friends Lizzy and Charlotte.  On the way to the train station on the 29th I had a phone call and it was Studio Liddell (the studio I previously toured earlier that month) and they offered me a Junior Games Development role!  And I took it!  So, even though I've known this for a while, I didn't put it on here mainly because I've been too busy sorting things out for myself.  Learning one or two new plugins for Unity being one of those things as well as looking at houses for rent.

I start work this Monday and cannot wait.  Ten months roughly I've been searching for a job in the games industry and although Studio Liddell is mainly a "media" company, it still has a small team of games developers.  No more lie-ins though, which will be tough since I'm not used to getting up at 7:45ish every morning,  but I'll get used to it!  Anything to have a job.


HOWEVER, I did mention that there are new problems as well as a new job and one of the problems is finding a property to rent.  I actually have found the ideal one, but due to me not yet knowing my wage, there's no guarantee I'll get it.  Apparently I have to earn a certain wage or have a guarantor that can help me out to get some kind of certainty.  I find out on Monday how much I earn (I hope!) so I can make a proper application, but until then I'm stumped!  The house has been on the market for a month now so with any luck it will stay there for me until I can get things sorted, but the tension from now until Monday is going to wreck me!  Ooooh, what am I to do >_<


For now though, I'm happy with the knowledge that I have a job, that will sustain me!  It's not like I'm currently homeless or anything, it would just be perfect if I could get my own place in an ideal location.  Anyway, guess I'll leave it there, I'll make another entry soon about how my job is going no doubt, as for now ttfn!

Sunday, 17 June 2012

Fathers Day and Typee!

Hey wanderers!  Just thought I'd make a quick entry since I came up with something fun and simple the past two days for fathers day that other peeps might like too!  I made a game instead of a card this year for my Dad and it said 'Happy Fathers Day' when it opened up.  You basically shove letters around the screen, imagine a fridge magnet game using physics to zoom letters about; there is actually a magnet mode too!

The instructions for the game are simple.  Enter a number into the power box from 1-99 and use the left mouse button to push letters about.  The right mouse button will erase letters and you can type in new letters by just pressing a letter on your keyboard (numbers and symbols to come soon!)  Also, you can turn magnet mode of and off by pressing the "Magnet Mode" button, this allows you to click and drag letters about.  If it all gets too messy for you, just press the reset button and start again =)

The link to the game is here: http://bit.ly/LYFxGE

Lemme know if you like it!  Ttfn =D

Friday, 15 June 2012

Studio Tour!

Should have entered a new entry in here earlier this week, totally forgot though since I've been both busy and ill!  I'm still working on the game I mentioned last time that I'm aiming to sell to schools (or maybe give away for free to get my name about) and yet again I'm still not going to put what it is yet!  However, once I get some feedback from a friend of mine who's a primary school teacher I will no doubt begin to explain my madness.

For now though, I managed to get a tour around a studio at an undisclosed location and I think it went quite well!  The location is being left a mystery because competition for jobs is fierce and to be honest, I REALLY want this job!  The studio itself was very nice and had all the necessary tech to do great work with!  The job itself is a games developer job and the studio itself was looking for someone with a range of talents, from designing levels to coding to 3D work.  All of which I can do plus more =)  They aren't hiring right at this moment but they are looking for people, I'm just lucky I came across someone who worked for the studio who offered me an informal interview/tour!  Always nice to meet a fellow techie, especially one with far more experience in tech related stuff than yourself (since there's a massive chance to learn new stuff), the rest of the team seemed friendly and hard working too!

Apart from that, I've been working on creating player profiles that save player options and data for my game and being ill!  Hayfever caught me off guard, suprise attacked me out of nowhere and I had a runny nose for the rest of yesterday, along with some sort of stomach bug =(  I'm better now though, so back to work!  Twas also my birthday a while ago (18/05) and I got a nice new A4 notepad from my Dad which I've now begun to fill with notes and code, so much more space than the A5 one I was using before.  Finally, I've started to eat Kellogg's All-Bran cereal and believe me, it's so much better -without- milk; I'm pretty sure with milk it tastes like what wet cardboard would taste like.  That's all for now, no work to show as of yet since all the work I'm doing is for the primary school game!  Ttfn!

Saturday, 26 May 2012

Currently...

Today I'll make a post that isn't purely based on ideas and whimsical thoughts!  That's new isn't it =D  I'm currently working on a simple PC game that I think, I still need to do more research, I will be able to sell to schools.  I'm not going to put down what the game is yet, as I'm keeping the idea under wraps since I think I'm actually onto something useful for once, but when I develop it more and get my target audience interested, I'll definitely post more stuff up =)

Apart from that, things are going pretty slow, the heat makes it super difficult for me sometimes as it drains me of all my energy.  It's nice to get out and walk about in the sun though, as we pale folk in the north of England don't get that much and it always seems like a time of celebration when we do!  It's a time when people wearing fake tan might actually get away with it for once, unless of course they are orange, the sun over here won't do that to you really unless you lack responsibility.  Maybe I might get tanned this year by the giant glowing ball of fire in the sky, but to be hoenst I doubt it, my skin seems quite resistant to the rays.  I'm going to go off to a roman event at a local park later, whether I go in or not will depend on how packed it is; can't stand going to events and then waiting around for ages!

Anyways, I don't really have that much to show this time around, but I do have a screenshot of the game that I was working on that inspired me to create a game for schools!  I created a full demo before moving onto the school idea, but I'm not making it available for the public to play just yet, as it has a few bugs still left in it.


That's it from my today, enjoy a sunny Saturday!


Later Note:  I walked my dog and went up to the roman event (my dog is now KO'd and is lying near a fan to cool off), wasn't very impressive though!  No legionnaires or anything, just some "gladiators" hitting each other with shields and swords and spears!  There were a few stalls, but to be honest, I was expecting something four times as large; it only took up a quarter of the park!  Ah well, maybe I'll have a roman army BBQ or something to appease my need for ancient times, bake some chocolate crunch shields =D

Saturday, 28 April 2012

The Search for a Job!

Not put anything up here recently because I've been occupied looking for the ideal job, which I've found and applied for.  It's at Traveller's Tales in Knutsford, which isn't too far from where I live and from the look of it they have a Junior Artist position available; at least it's listed on their website!  So I sent in my application about a week ago now and I'm waiting to hear back from them, I've also been working on a galleon since it's been ages since I've done any interesting modelling.

The light project is on hold for now as I've not had much interest in it and without any income I can't really justify working on it.  I do such projects to try and get peoples attention/inspire other people, but if I don't have a crowd or can't find one then I can't really spend money on it.  I'm going to put my experiment up on YouTube to see if I can find any interest there, but I guess it might be just plain old uninteresting to other people or perhaps there's no true practical purpose for such a technology.  If however I do get interest in the idea, then I'll resume my work on it since I'll be able to justify the expenses I come across in developing such a tool.  It'd be great if I did get the job at Traveller's Tales, that way I wouldn't feel so guilty about spending money without having a way of recovering it!

For now, I'll upload a few pics of the galleon I've been working on, I only just started texturing it yesterday and so it's not fully complete yet.  Took me about 6-8 hours to model and tweak it, consists of 4842 quads / 9434 triangles and has five different UV/texture maps to it.  One for the cannons, one for the ship's hull, one for the sails and one for all the other wooden bits of the ship like the railings.


The above render along with the two lower renders show the ship with plain colours applied.  Two different versions are shown, one with three sails to the stern of the ship and one with two.  I'm still deciding which I like best, but three sails seems to be quite popular amongst the people I've asked.  The ship itself isn't meant to be a perfect representation of a galleon, just something similar to one, I might use it in a game also when I've finished it.  Some simple sailing/pirate game, where you have to go collect different crates bobbing in the water whilst destroying enemy ships.  Who knows!


  

The two lower renders show two screenshots of the ship as it currently looks, I'm just testing out different wood textures right now, like I said the galleon is meant to be a simple representation more than an accurate one and slightly stylized so I'm not going to be putting loads of detail into the textures!



Right now I'm experimenting with decking, I think it's too dark right now so I'll be playing around with lighter planks.  The outside of the ship definitely needs a lot more work on it, still haven't decided the type of wood texture I want to use for it yet, right now I prefer it without any since it looked slightly better as plain colours.  I'll have to mess around with it and see how I can make it look better.

Here are a few more screens of the ship, this time wireframe shots of the cannon, sails and hull.  There are places where I can make the mesh slightly more triangle efficient (you could say tris efficient, instead of tres efficient =D) but I've decided to go against that since it would mean having more pieces of geometry to group together.  Here are the shots!


The three different blocks for the cannon base have varying heights, I could separate these and have simple cubes there instead which would take away the edges that cut across the sides to join the geometry into one piece.  However I think it's better to use those few extra tri's to make the base one whole mesh, less faff when moving stuff around in either Maya or a game engine.


The sails for the galleon are also double sided, not to say that they have faces overlapping each other perfectly (I can't stand models that have those), but instead they are thick and don't consits of jsut one poly plane cut into pieces.  I gave them depth to give them a bit more life, I tried using single planes but they looked to thin and didn't suit the rest of the ship.


With the hull of the ship I could actually take the holes for the cannons out and replace them with just a dark rectangle of a dark brown colour, but since I've not really got any limits to my modelling here I thought I would put some holes into the mesh.  From the lower image it looks like the main deck of the ship is just a rectangle, meaning that all of those divisions it has would be pointless, but there is a slight curve to it's side edges meaning that I need those divisions in so that the deck suits the shape of the ship.  If I ever wanted to have more detail on the ship, I would most likely separate the deck's UV map from the galleon's UV map and have two separate texture maps for them both, but right now having them on one suits me fine.


Finally I'll upload the current UV maps for the ship.  I say current because sometimes as I go along and texture something I find that the UV maps aren't efficient enough or something isn't placed right so I need to go and change them!


 Cannon UV Map

  Sails UV Map

Hull UV Map

Wood UV Map

Look-out Posts UV Map

That's it for now, didn't want to leave this blog to get dusty like one or two others I once had!  If you have any questions or are interested in my work please leave a comment here and I'll get back to you!  I'll try and upload more stuff soon, ttfn! =)

Wednesday, 18 April 2012

Unity Light Experiment - Video Demonstration

 

Here's a quick video demo of my Unity Light Sensor experiment in action =)  Excuse the goofiness, I don't often do videos for the web!

Unity Experiment with Light Sensors!

Well as I said yesterday, today I'll post up some images of what I'm doing with using light as a way to control games, just a few though since I'll also put up a video demonstration at some point too.

So, I'll start with the ship model I'm using for my experiment, this is what is being controlled in Unity by the light.  Everything you see in this blog, if not noted otherwise, has been made by me.  I'll endeavour to put links up to any external resources I use too.


Above you see my spaceship model and it's landing pad.  The pad is 1456 triangles and the ship is 2688 triangles.  I'm not really fussed about being topology efficient here or having a specific polygon budget, the main purpose of this ship is to give me something interesting to work with.  I'd much rather work with a spaceship than a cube, making a cube move isn't very exciting but applying something like this model to my experiment makes it a little more interesting and inspiring.  I've yet to texture it, but I'll get round to doing that sometime in the future if I use it for a proper demo or game!

Next is the program I'm using to conduct my experiments.  I'm currently using Unity 3.4.1, as 3.5.1 has bugs in it which means I can't actually carry out my experiments with it.  The specific bug is one where I am not able to get axis data from customised games controllers, which is very annoying, but anyway!  Below is my setup for the experiment, very simple, just the ship and landing pad, a ground plane and two rows of cubes to help tell me how fast I'm moving.  I've also got a light in there too and a couple of cams.




To finish, I have my hardware, in this case what I need to produce different axis/analogue signals for my experiment based on light.  The hardware is as follows: 1 U-HID G, 1 Lilypad light sensor, 3 small brass screws, 3 crocodile/alligator clips, 3 female to male jumper wires and a male Mini USB-B to male USB-A cable.  For those of you who don't know, when I refer to cables by gender, it means whether you can plug them into something or whether they can be plugged into, if you get my meaning!  Below are the items I'm using and how they are set up, I've included close ups of the U-HID G (Top Left) and the Lilypad light sensor (Top Right) .


I've mounted my light sensor on a small wooden based I quickly put together so that later on if I wish I can put longer screws through the wood and have the cables attach to the screws at the bottom instead of the top; just to keep things tidy.  Plus the light sensor is now secure, instead of moving about with the wires that are attached to it as it would if it weren't screwed down.  I will no doubt make something that looks a little cleaner for a final product, something a bit more sci-fi!  In the bottom image you can see everything put together, the three crocodile clips are attached to the screws that touch the three different fixtures/mounting holes of the Lilypad light sensor.  The mounting holes represent 5V power in, Ground and Signal.  The other ends of the crocodile clips are attached to the male to female jumper wires which attach to the U-HID G USB interface board.  The U-HID G is then plugged into a computer via the male Mini USB-B to male USB-A cable.


The U-HID G USB interface board comes with it's own software allowing you to configure it's input/output.  For those of you who don't know what a USB interface board is and didn't read my last entry, it basically allows you to plug different kinds of sensors and output devices such as motors and lights into you computer.  You can then controls the motors and light with your PC or use the sensors attached to the interface board to control different aspects of your computer or a game.  With the U-HID G, only the top left set of nine pins are used.  The top left is orange, the bottom left is purple and the top right is blue.  The U-HID G has only nine pins and the top right is always used for ground shown in blue, you cannot change it, but that works just fine for me.  So, from the labels you can see that orange represents a 5Volt output and purple represent an Analgoue Axis.  Refer to my last entry to learn about analogue axis!  With these pins set to power and ground my light sensor as well as receive it's signal via the cables and crocodile clips, I can now move onto the actual experiment.


The image above shows the basic concept of how this experiment works.  To the left of the image we have my hand holding a small LED torch; in this case our light source.  Below that we have the light sensor that is now plugged into my PC and is acting as a controller.  I will show the code for how this works below.  To the right we have my model spaceship and it's landing pad below it.  The arrows represent movement, in this case it represent me moving my hand up and down which results in the light sensor getting more or less light.  When I move my hand down and the light sensor gets more light, the spaceship moves down and when I move my hand up and the light sensor gets less light, the spaceship moves up.  This way I can control the spaceship by moving my hands and the light source.  I actually made a small light strap for my hand, but I blew out the LED and it went up in smoke, hence the LED torch! 

Anyway, from this image you can now see (if you didn't see it a while ago) what I mean by using a light as a game controller.  This experiment is limited to one light sensor at the moment, I do have another one, but I've been busy working on just one so far.  I also need to get some proper light straps made for my hands so it's easier to control the light before I begin to use two sensors.  As mentioned in my previous entry, the Lilypad sensor can be put in the shade and won't pick up much, if any, light if you are indoors which makes the sensor's default analogue value -1.  This experiment is very basic, there are much larger USB interface boards that could be used which would allow for multipe light sensors to be used, maybe you could use one of each of your hands and feet.  I'm controlling height in my experiment, but anything can be controlled by the light sensor, like rotation or acceleration or rate of fire or.. anything!

Here's the simple bit of code I'm using to control my ship using the light sensor.  You'll need a bit of Unity know how to figure out how this works though!


So that's it for now, that's all of the experiment covered, from the idea to the software to the hardware to the experiment itself.  I'll get working on a short demo video to show it in action, not sure when I will be putting that up though!  I'll have to set my webcam up first then edit together the footage from that and the footage from whatever I use to record my screen, so it could take a while.  Please comment if you're interested in anything you've seen here, I know it's a very long post to follow, but I believe in detailing things as thoroughly as possible =D

Here are some links to the items I mentioned in this entry:

U-HID G (Buy and Use): http://www.u-hid.com/home/uhidg.php
Lilypad Light Sensor (Buy): http://proto-pic.co.uk/lilypad-light-sensor/
Lilypad Light Sensor (Arduino use): http://web.media.mit.edu/~leah/LilyPad/08_sensors.html
Jumper Wires and Croc Clips: http://proto-pic.co.uk/

Hope these help and that you found this all interesting, ttfn!

Tuesday, 17 April 2012

So, tonight is when I make my first blog post.  I'm not going to upload any images or anything just yet, I'll no doubt do some of that tomorrow, but I wanted to get a first post in anyways to just talk a little about what I'm doing.

I actually thought a lot about trying to patent this idea or make people sign an NDA to view it, but you know what?  Screw it, I'd rather have people know what I'm doing and be able to talk about it than keep it "secret" or have people keep quiet about it.  So if you like it, trumpet it about and make sure you at least whistle my name too!

The idea is to use light to control games; yes, it's been done before to an extent.  It's not something entirely new, but no one seems to be taking advantage of it which I can't understand, it's very easy to do and has many cool applications.  So, what do I mean by using light to control games you ask? I'll explain, but first an explanation about axis that will in turn help my own explanation!  Of course, feel free to skip the next paragraph if you know how these things work.  When you use a handheld controller, like one for most kind of video games consoles these days, they have at least one analogue stick.  These analogue sticks have plenty of uses and the way they work is simple:

The stick has two axis that it moves on or two "directions".  The two axis are x (left and right) and y (up and down).  The x and y axis both have a number assigned to them, when the stick is not being used the axis value is 0, because the stick is centred.  When the stick is pushed all the way up or all the way to the right, the axis value is 1 whereas if the stick is pushed all the way down or all the way left the axis value is -1.  If the stick is not pushed all the way in any direction, then the axis value can be anywhere between the number -1 and 1 depending on where the thumb part of the stick is moved to or what angle/direction it is moved towards.  An analogue stick has 360 degrees of rotation normally, so for example if the stick was pushed towards an angle of perhaps 45 degrees then both the x and y axis would have positive values, values above 0.  If the analogue stick was pushed towards an angle of 285, then the x axis would be negative (because the stick is facing left) and the y axis would be positive (because the stick is facing up).

These axis values can then be used by programmers/coders to control certain aspects of a game, whether it be the movement of a character, vehicle or in-game camera.  Thus concludes my explanation of analogue sticks and axis.  Now that you understand a little more about axis, I'll back to my idea of controlling games with light and how that works.  Currently I'm experimenting with a light sensor, they're used in things like corridors where lights need to come on automatically when it gets dark.  By supplying 5 volts of power to one and attaching it to a PC via some form of USB interface board (a USB interface board is like an experimental games controller in this case, you can attach all forms of sensors, lights and motors to it) you can get axis values from it depending on the brightness of the room it's currently in. 

The sensor I'm using is not very powerful, which is perfect, as it doesn't take in light that isn't directly applied to it.  What this means is, even if you have curtains open and light coming into your room, you can put the sensor in a shadow of an object and it won't take in light.  So, instead of moving an analogue stick to change axis values, we now have light.  Covering the sensor up completely gives an axis value of -1 and shining a bright light into the sensor gives an axis value of 1.  The sensor in this case only has one axis since the way the value is changed can only be changed in one way, light or not light.  Using these values is just the same as using axis values from a typical handheld console controller, but way more fun and way more frustrating.  I'll be posting up some images from my test application/game made with Unity tomorrow and then I'll get putting a video demonstration together as well!

For now, I hope this has outlined the work I am currently doing, if you find all of this difficult to understand then keep an eye on this space; the images and video demonstration I will put up will explain it much more easily than words!  Ttfn!