Wednesday, 12 June 2013

This Is The End

This is the sort-of end anyway - I hope to continue developing this game with lots of exiting mechanics and perhaps I'll post them here; But in all of the excitement of the end of year show, and just getting everything done, I almost forgot a sign-off post. This game can now be played on Kongregate and Waterfront Games - Don't forget to comment and leave feedback if you play in order to make the game better.

I now have a Twitter where you should be able to find updates of recent work (If and when I remember) and you can also visit my Portfolio if you want to see more or are interested in contacting me.

I hope you enjoyed following this game's progress, and really... just my progress in general.

Goodbye For Now!

Thursday, 16 May 2013

Sounds Good

I forgot to mention last time that I added in Player saving and loading just before I uploaded it for feedback  - it took a little while but the levels now only display if the level has been accessed before. A player can now also reset their progress with a button.
I added the extra level recently too, So I now have 12 levels of increasing difficulty, which seems to fill up the level select screen nicely. Talking of level select screens, I forgot the button on the Level complete popup which takes you back to the level select if you do not wish to proceed to the next level.. So that is now implemented.

Anyway, for while now I have been implementing sounds and music into the game; It's been quite a nice change from the usual stuff I end up doing. all of the sounds I've used are simply heavily edited sounds from freeSFX.co.uk as I really do not have the time or the resources at the moment to make my own. My main focus on sound effects was giving feedback to players on main important aspects of the game, so at the moment I have sounds for plugs going in and out of sockets, powering up sounds, and powering down sounds.
The music which I added to the game was to make the game a little more interesting and polished, I made the music from scratch much like our group game's music. I must admit, it took a little while longer than I wanted it to, but I think it was probably worth it in the end.

My final addition to the game will most likely be a Win-screen that appears when you complete all of the levels - As of yet I'm not sure how extravagant it is going to end up.


Friday, 10 May 2013

Feedback

I posted the new version of the game back up on Waterfrontgames.com and managed to get a few people to play, or at least look at the game's progress. The feedback I received was much more positive than I anticipated; everyone seemed to have a better idea of what to do because of the new tutorial that has been added; One person refused to read the tutorial screen and had severe troubles when new mechanics were added. The progression was seen as quite reasonably paced too. everybody seemed to like the new look, and the added use of the rope and increase in colour intensity of plugs and sockets meant that players found it much easier to see where everything was and to adjust things accordingly. A lot of people spent considerable amounts of time playing around with the physics of the rope itself; Making shapes, swirling and generally using it as an additional toy, which I wasn't expecting.

I need to make between 1 and 6 additional levels in order to make my game bigger and more complete. Adding sounds would be nice, even if they are simple clicks and whooshes of plugs going in and out of sockets. The one main thing that I am really dissatisfied with at the moment is the GUI, and I'm still trying to find some definite answers to making it look better and working out exactly what makes Unity GUI look good without spending years coding and designing lots of individual and messy sections. My research has found some websites and forum posts about making some bitmap GUI's, but they are very vague and/or complicated. I must admit, 2D artwork is not my strong point, but I will continue to try and find an answer to my conundrum.

Another problem I seem to have is that when my game is displayed on waterfrontgames.com, the right side is cut off slightly; this doesn't happening in Unity or the exported version on my PC, so I am a bit confused about that.

Saturday, 27 April 2013

Pushing all of the right buttons.

 So I've been working on the Menu's for the game a bit more recently; I was going to do a interactive menu for the game (such as dragging a plug to a socket labelled "play" to begin), but I decided against it due to the time I have and the fact it would probably make players even more confused.

I currently hate the buttons and most of the HUD due to it being the default look; I need to look into changing it when I've got all of the functionality and content into the game.


After pressing play you now get taken to the level select screen; I think I might actually be getting used to the creation and placement of the HUD elements because I now have it dynamically creating all of the buttons and placing them based on how many levels there are in total; there is room for three rows of 6 buttons, but I would at least like to add one more level to even up the number before I've finished.

When you press one of the level buttons you get taken to that level. I think I found this easier because I've recently done a level select screen for one of my other games, and although the code is completely different, I think the principals I had to cover transferred. 
Once you enter a level, there is currently no way of getting back to any of the other menu's, so I will need either a pause menu of an on-screen button to allow players to do this.


Sunday, 21 April 2013

One level at a time

I managed to get in a screen which pops up when you complete a level; Also learnt quite a few controls for the GUI including colour and size;


the second line automatically updates with the current level; I'm hoping for there to be more information and buttons eventually, or at least a picture.

Tuesday, 16 April 2013

Colours are magic

I've completed mapping texturing the objects now; I think i spent a lot of time on them considering you can't really see them very well in standard game view.


The White sections of the objects are coloured when they have set colours - I left them with no diffuse texture so that it was more clear. additionally, creating textures which did not confuse the player with extra bright and distracting colours was a large part of the texturing process.


Coloured parts of the objects
I'm thinking about adding additional coloured parts to the output part of the hubs, because currently the only coloured part is the plug (unlike the input which has wires and other things)


additionally I added a functional close button to the tutorial popup; at the moment you have to press close on every level and it will re-appear when there is new text on the next level; I may eventually need a global "turn off all help" option.


holding down the space bar now shows this colour wheel overlay; it should help players with finding and deciding what colours they need to use with each-other to get the colours they need to complete the level.


first thing this morning I added a time passed box, just to test and see what it looked liked and how it felt. at the moment it doesn't really fit I must admit.

I think before i get much further, I either need a screen that appears when you complete a level, or a level select screen. or both.

I haven't added any levels recently, But I think 10 or so levels are a good starting point for any game, even if they are mostly tutorials.

Sunday, 7 April 2013

It's not what's on the inside, It's what's on the outside that counts.

I have Been UV Mapping for a while; Before I do much more I need to get rid of all of the untextured and white areas of my models so I can decide what to do with the rest (to make it more user friendly).
here are some awesome white checkerpattern UV's. I'm not going to lie, I really dislike this part, Which is probably one of the many reasons why I stupidly left it out when I made the models.



I now only have the input to UV map now I think.
adding the new UV mapped objects might be difficult, as a lot of the objects now have a lot of information on them which isn't in the 3D file, I have to ensure it gets copied over to the new objects.

I also made some textures for one of the pieces too - I'm actually really happy with how it turned out, it's a shame you can never see it in this much detail in game.

Monday, 25 March 2013

Now, you listen 'ere.

Spent some time recently adding a tutorial to my game; at the moment it is just a box at the bottom of the screen which changes every level explaining the different aspects of the game, I've tried several different ways of doing it but I think I'm on the right lines now. Anyway, when I've finished adding in all the text I hope to add a close button and to make it generally look a bit prettier than it does at the moment. I've had to change some levels slightly and split some levels into multiple levels in order to ease people in a little slower.




Monday, 11 March 2013

Iconic Implimentations

Okay, so throughout the weekend I spent a lot of time creating icons for my game; I decided a long time ago that I wanted/needed icons on my hubs to indicate to the player what the hubs where and a sort of indication of what they did. I also wanted an additional indication of how charged the end hubs are.
after playing around a bit I had to increase the size of the centre of the hubs again so that the icons in the middle were more visible.
This Is the start hub, standard battery to depict that it's charged/source of power

 

This is the end hub - an empty light-bulb to show that it needs to be powered, - the level of the inside rises the closer the hub is to being fully powered.

This is a standard hub; it's just a picture of a connection/extension lead; I researched for better icons to use, but this seemed the most fitting.

This is the colour combiner hub - it's basically a mixer. I thought about changing the sliders depending on what inputs are added, that might be something to add after testing. I would have liked to add colours to the sliders, or icons in general, but I thought that the colours would confuse the colours over the ACTUAL colours of the inputs and outputs.

This is the splitter hub, self explanatory  it seems less complicated than the other icons, so i might need to increase its quality at some point.


Additionally the hubs can be coloured: as I said before, colours might confuse the player, but I could always add in an option to change the colours in an options menu or something. the set colour will have to be determined after i have textured the hub itself (which I think I'll have to do soon)


Wednesday, 6 March 2013

Rock and Scroll

I spent some of today working on my dissertation ,after fixing some bugs on the new wire objects I realised that all of the floppy wires everywhere made the game just as confusing as when they were not in, However, Chris pointed out that the main problem was that the unlinked wires were draping everywhere and making it confusing, I added in some code to disable the wire unless it was being dragged or was already linked and this seemed to fix it very well.

Additionally I fixed the scrolling  to make it easier to use. Now the player can scroll by moving the mouse around then the middle mouse button is pressed down. eventually I think it would be nice to add in different cursors to symbolise the current actions you are taking, but for now I am quite happy with what I have come up with.

Oh, I also played around with what areas of the models are colour coded to make it easier to see, and found a small bug where the plug turns black when you place it on an "any" socket in the process. So I'll have to fix that soon. apart from that, I will try tutorial next I think - I will try not to put off unity's GUI's any longer.

Saturday, 2 March 2013

Wire You Staring At Me.

I've spent pretty much the whole of my spare time in the weekend making the physics based rope for this game.
In the end I didn't actually spawn the rope dynamically through code - It was too fiddly and it is hard to get ordering right (things have to be done at certain times otherwise it doesn't work at all). Instead I placed all of the physics hinges into the output I've made, and then when it spawns I draw over the invisible hinge positions to make it look like rope.

The drawing and updating script was made completely from scratch - it updates everything and colours the wire according to how it should be, then positions to end of the wire to either the mouse, or the hub it's connected to (even has destruction code). The drawing code is partly done by a plugin I found which is basically a slight improvement (in terms of functionality and lag) to the line renderer which already comes with unity(which is what i would have used if I hadn't found it)

the physics of the rope will have to be tampered with in order for it to have the desired effect, and the texture made to look less bland, but apart from that I'm very happy (minus the past 48 hours of frustration)


Plain white wire, just clicked.

green and red wire connected (and settled, because it currently jiggles for a while after moving)

I think I will re-do the camera movement next, it's the next biggest thing, The biggest I had to do was the physics wire, so it shouldn't be so bad from now.

Thursday, 28 February 2013

The Brain-Bone's Connected To The...

These past couple of days I've been trying to get the physics based wires into my game - I've been collaborating with lecturers and found some help. I've had many suggestions and ideas of how it should be done. The code I found of the internet turned out to be A. broken and B. very computer intensive because it was constantly making 3D tubes with old outdated code. I have come to a solution and that is making a string of physics joints without any mesh or renderer, and using the position of the joints to simply draw a line connecting them all.

I thought I could remove all of the rendering code form the code I found on the internet and get it to work; I did to a certain extent, but after some research it seems to be it wouldn't take long to learn a bit more about physics joints and completely make the code I need for myself.

so that's probably what I will be doing for the next couple of days at least.


Additionally I have made the code I already had in the game much more efficient; some things were being done once or twice every frame, which could have been done once every time the player interacts; so that is fixed now too.

Thursday, 21 February 2013

Tubes

I found a "physics rope" script and a renderer for it on the internet which I thought would be really useful for the sagging/swinging and displaying of the connecting wires (because I have no idea how to do something like that). Unfortunately I have no idea what all the parameters do, how I control it or how to get it to work properly. may need some help with that; so far I have a script which I edited so I could set the start and end position of it, a few lines which are drawn in pause mode, and a lot of strange activity.

Saturday, 16 February 2013

Scaling

I just found some spare time so i played around with scaling the hubs, as they seemed to have a lot of size for no reason;

It's weird seeing it like this after so long, but I think it may help draw the player to the important bits.

I will probably work on adding different icons soon, after I've thought about what the icons are going to be.

Wednesday, 13 February 2013

Timeline Expansions

I almost forgot about this blog temporarily.
Anyway, after reaching my last milestone, I need to set a new one as I hadn't planned as far ahead as now.
my next timeline will be focused on making my game more user friendly and polished due tot he feedback I've got throughout testing; things to do include;

Visual Wires to indicate where the joins go to/from
Tutorial via popup text or (something similar)
Icons indicating the type of hub, and what they do.
Better indication of colours
Better controls for scrolling the level

There is a few other things I may do in this milestone if I have fine, but the date I plan to have the basic functionality of the above done by is 13th of march.

I may have to extend that deadline depending on how hard  find the coding tasks/how much time i have left from other projects.

Sunday, 27 January 2013

Levels And Clean-up

These past couple of days I've been working On a few test levels, clean-up and a few bug tweaks so I can release my test to the waterfront games website (and elsewhere if need-be) for testing.

The first glitch I had was unusual - I couldn't joint a yellow plug to a yellow socket; which really threw me because there shouldn't have been any reason for it. After a LOT of printing values into the console I found that unity defines all of it's main pre-set colours using ones and zeros APART from yellow, which is defined as (1,0.922,0.016) instead of (1,1,0). Typical.

The second problem I found was that despite what I thought, the plugs and inputs and outputs were being instantiated straight onto the main scene, rather than inside of their respective hubs - causing messiness and possible problems in later developments. after a reasonable amount of research I found that making something a child of another is as simple as the following;

Newobject.transform.parent = gameObject.transform;

before parents/child's



After parenting (function inputs/outputs INSIDE functionhubs

Saturday, 12 January 2013

Black is the new White

I managed to change the creation of hubs into a much more versatile array as I was speaking about in my last post - It is a lot more complicated now, but it is more versatile  which should make things a. easier in the long run and b. more fun.

I've also found some time making some hubs using the new versatile creation arrays and the  "any" input/output colour, black. So far I have two special types of hub; a primary colour combiner and an any colour splitter (names in progress). By putting any two primary colour inputs into the primary combiner, you get a new secondary colour (yellow, cyan or magenta).
The any colour splitter simply takes the colour you put into it and makes two outputs of the same colour.

You could easily make a hub which splits one red input into two, or combines red and blue into magenta. But the fact that you can do this with whatever colours at your disposal means that the player will have choice and will have to think about what they are doing. e.g. "Oh, I need to combine these two colours to get ___, but I also need to keep that colour in order to finish.... OH! so I must have to split that colour first so I have one left over."

there was a problems with the black input/output, because if you disconnected something in front of it, it would de-activate and turn back to black again, but it would stay connected - causing problems when trying to re-connect things again (is black, but thinks it is the old colour, or black, which doesn't connect to anything ; so now there is a fail-safe  so that if something is connected turns black, it is automatically disconnected.

There are a few small tweaks I need to make in regards to the "active" light displaying properly in the primary combiner. after that I will perhaps make a few more special hubs, such as a de-saturating hub (any colour to white). I was going to do an any-colour combiner (as well as  splitter) but now I'm wondering why I would ever use it (it would make two plugs into one, which would make things harder and be seemingly useless at the moment).

Might give this projects  small break and work on some of my others which are dragging further behind; we'll see.

all three output possibilities of the combiner plus inactive. note,  all  4 pictures are of the same hub

A few examples of colours put into the splitter, and inactive; note,  all  4 pictures are of the same hub

Tuesday, 8 January 2013

Rainbow Problems

Since my last post I have managed to complete the range indicators (they are not pretty, but they work), add in end hubs (hubs which have no outputs and count towards level completion) and the adding and removal of hubs between levels (after all of the end hubs have been powered). I'm very pleased with what I have done, however I have just come across a major problem:

Currently the hubs that are added to the level are defined by 4 parameters;

X position, Y position, Type, Inside Inventory?

x position defines x position, y for y position, Type is a number which defines the number of inputs and outputs and their colour (based on a numbered list of pre-sets), and inventory is not used yet but will be used to define whether the hub is in the inventory at the start of the level or not.

The problem arises from the "type" parameter; simply because it is not versatile enough. The hubs have far too many options which will need to be changed between each hub and level, and unless I have several thousand pre-sets - it's going to be very difficult to get the options I need.

I've decided the very minimum parameters I need to specify are as follows:
hub parameters needed: X, Y, SpecialType,Inventory?, List of colours (of inputs), List of colours (of outputs).

As it stands I specify the current parameters I need as numbers using a 'Vector4'. It seemed a smart idea when I created it (as I didn't have much of an understanding on unity arrays). Now though it is too simple,and the parameters are constrained to numbers, whereas i need to use numbers, boolean and sub-arrays.

This might be a timely process to figure out, but it needs to be done in order for the game to be puzzling.

As an additional problem, I was thinking about having an "any" input type. This would mean that you could use any colour onto it. This might be possible and useful in the game, but I have no idea how I would show the player that any colour could be placed on it. Currently I use colours to show what colours can be used, and the only real colours I have left are block and grey - and using those might be confusing for the player.

Thursday, 3 January 2013

Simple Fixes


The extra scrolling wasn't so bad when just getting down to it, although i might need chris' help in order to get the background tiling evenly on each level (for some reason it doesn't seem to do it any more, but I can't remember what I changed or had before in order for it to work. I also got the colour display working, and after a few tweaks I got power transfer working too.

Start hub - it knows it is a start hub because it doesn't have any inputs, so it automatically sets it to "powered"
Generic hub, un-powered - this means you can connect the outputs to things, but it won't power them until all of the inputs are powered.
same function hub after a powered plug has been attached to it, all outputs are powered because all the inputs (only one on this) were powered.
I had quite a few problems with removing power after the plugs were moved around. for instance  you used to be able to connect a plug to power something, remove it. and the hub you removed it from would still be powered, I had to change the script on the plug removal a bit to fix this.
 the really nice thing with this now is that you can make a chain of powered hubs, but if you remove the power on the first it causes a chain effect down the line, and they all become un-powered.

My next step i think will be adding distance limits to how far you can drag the plugs - at the moment you can connect plugs over any distance, which A. gets messy and B. doesn't have much of a puzzle element to it.

unfortunately I'm a bit rusty on distance calculations (I've been using box2D to do such things in other projects for so long) I'll have to have another read-up on it.

I'll also have to design a range indicator too... That will be interesting.