Category Archives: Video Games

Making a puzzle game: ORDER

ORDER_for_itch

Play ORDER here.

Playing with Polygons

ORDER was born from a little experiment in manipulating polygons in Unity. I wanted to see how I could create coded animations which would allow a polygon to change its number of sides.

polyChangeEarly

Initially, I created a polygon with multiple triangle meshes that created a spoke effect. I could manipulate the length of each polygon to change the polygons shape. I then created a little piece of code which checked if each of these spokes was the same length as the boundary of the desired shape. This worked ok, the animation between shapes didn’t look very nice (especially between triangle and square), there was some edge detection problems, and when a number of shapes were manipulated at the same time, the frame rate severely dropped.

So in order to reduce the stress on the frame rate, I had to simplify the system.

polyChangeLater

The best thing I could do was reduce the number of triangles to that equal to the number of sides. Although there are possibly even more efficient ways of doing this, this would likely work for my process.

All ‘unused’ triangles, were bunched together to create a ‘line’, therefore creating the appearance of different sized polygons. The initial limitations of this system is that it could only be used to create regular polygons.

For the animation of the points I used half a sin wave, the rate of change is roughly slow-fast-slow.

Making the Game

I knew I had two things that I could do with the polygons, I could change their number of sides and I could rotate them relatively easy.

Initially the first version of the game, used three sets of controls.

  1. Select the polygon that you wanted.
  2. Change the number of sides of the selected polygon.
  3. Change the rotation of the selected polygon.

Each action would also affect the neighbouring polygons in some manner. Either also rotating them or changing their number of sides.

The issue was very clear, this was horrible to do. It did not feel good in anyway.

So…

I changed the control method so that changing the polygon that is selected, also manipulated that polygon and it’s neighbours. The newly selected polygon has it’s number of sides increased and the neighbours are rotated. This felt better, but was a lot to visually take in. This reduced the controls to one of movement only.

I added a colour change to show which polygon is selected, a small pulse animation to the newly selected polygon, and a delayed rotation animation to give a sense of cause and effect. This definitely helped.

Beating the Game

Finally I needed a winning condition. Ideally I wanted the player to win whenever all the shapes were matching both in rotation and the number of sides. However, I was not able to prove that this was possible for all the different permutations of this. This issue, meant that I could not fairly set it as a goal.

I settled on a fixed goal of having all shapes return to triangles and all pointing down after being randomised.

The next issue, is how do you show that this is what the player needs to do.

I kept adding a range of information in different forms until I think I got it right:

  1. The starting condition of the polygons is the required position.
  2. Text tells the player that “this is ORDER.” and once randomised “return to ORDER”.
  3. Polygons in the correct position pulse, those that are not are static.
  4. A counter indicates the level of order.

Conclusion

ORDER_for_itch

I am happy how the game turned out, it was a fun experiment in Unity and did not take too long to complete. It is perhaps not the most novel of ideas, but I think it at least adds an additional level of complexity to a common grid puzzle structure (changing something changes the neighbours – return to an ordered pattern), by having two methods of manipulation and fixed selection movement between neighbouring polygons.

If you want to play ORDER you can do so here. it may require a Unity plug in to run as well as permission to run.

10 Questions to Consider when Exhibiting Games and Designing Games for Exhibitions

More spaces are showing games for many different reasons. It might be demos for games that are available to purchase, games that are in development or perhaps the game itself was specifically designed to be shown in an exhibition. Whatever the reason there are a few questions that I think we should start asking ourselves about showing games in these spaces. This is not a definitive list but a work in progress, the beginning of a wider conversation we as designers, exhibitors and curators should be having. Games are certainly worthy of a platform and space to be shown, and we can learn a lot from other mediums, art, design, performance and theatre, but there are somethings that games do differently. Therefore we must consider what is special about how people view and experience games and how we can make exhibitions and spaces for games better, for those that attend and those that are showing.

Here are ten questions to start that conversation:

  1. How easy is it for someone else to set-up, are there clear instructions, can you make it automatically load when turned on?

It might be that your game is going to be set-up or looked after by someone else, or you be looking after many different games. Make it as easy as possible to go from a crashed or broken state to ready to play. In the case of games on PCs and Macs put a little extra effort in so the game automatically loads up when you either turn on or reset the system. This will make your life and the life of others a whole lot easier.

  1. Is it simple and clear for a new player to restart the game, do you need a big red reset button?

I’ve seen it happen in a number of places. People play a game for a while and then leave it part way through. If a new player with no experience of the game comes to play at this point they may have missed the ‘tutorial’ or learning experience crucial to the overcoming the next obstacle. In fact people often put down the game when they get stuck, so someone picking up the game at this difficulty spike can stop them getting into the game completely. Your game may well have a menu and a restart option but this may not be clear on its own. Is there a way to have a big reset button so a new player can walk to the system and hit it knowing they’ll go back to the beginning? Something like a MakeyMakey could be used for doing this.

  1. How long does it take to learn to play the game, how long to get a good appreciation of the game?

When exhibiting a game, a player will not necessarily have a long time to play your game. There will hopefully be people waiting behind them to have a go, which will add pressure to them. Is the player going to get a suitable understanding of the games rules or controls and a reasonable impression of the game in the time given? If you are showing part of a larger game choose carefully which part it is you show. If you are creating a game specifically for exhibition take this consideration into account at the design phase.

  1. Does your game implicitly state to allow someone else to have a go, after a certain amount of time, after reaching a fixed point?

Again you are probably hoping that lots of people will want to play your game, but games generally are not designed with systems for allowing new players to enter and old players to leave. Consider changing your game to allow for this. At certain points in the game, controlled by time or achievement add an on screen prompt (or non-digital equivalent) that says, ‘You’ve been playing for a while, can you see someone else who would like to play.’ If there isn’t anyone they can keep playing but if there is someone else can have a go without having to ask.

  1. In multiplayer games, could those who have won be encourage through the game itself to look for someone else who might want a go?

In a similar way, multiplayer games should encourage you to share. After a round, match or turn, specifically consider having the winning player give up their spot. Again this can be an onscreen prompt. I have always disliked the often used ‘winner stays on’ rule for game all this does is give the best player more opportunity to get better rather than allowing less skilled players the opportunity to improve.

  1. Who can see your game being played, should it be private just the current player(s), or should it have an audience?

Depending on the type of game and the subject matter there should be some consideration to who can see the game being played. Should it just be the people playing, perhaps they are being asked personal questions or they need a safe space to fail and get better. Possibly showing someone the game before they play will spoil it for them. On the other hand is the game improved with a audience of spectators encouraging and reacting to the players playing. Either way the space and the way the game is set up should really consider that. You can put a curtain around a game, or hide it in a booth. You can put large screens high so others can see them. You can have secondary screens which show the action to the audience specifically.

  1. Are the controls intuitive and clear, do you need to have all those extra buttons accessible when they’re not going to be used?

The worst thing that can happen when learning to play a game is that there are not any clear instructions for the controls. This leads to bashing buttons and hoping things will happen. This is worse with keyboards as there are so many additional potential buttons to try. A simple way to reduce this complexity is by removing the buttons, or highlighting the buttons that are used with stickers or some other markings. A potentially better way is to make a bespoke controller, which through its design communicates intuitively how to use it.

  1. Can you reduce the potential embarrassment that someone may feel if they are not good, or do not understand how to use your game?

A lot of the time we play games in our own homes or with friends, this is somewhere we likely feel safe to fail and get things wrong, and can slowly learn how to play. Picking up a game in a public space and not being able to play can be embarrassing and frustrating. I am not sure what the best way is to solve this in general as it will very much depend on the exact nature of the game and the player, but it is certainly something to take into consideration. If your game is specifically hard maybe having multiple systems, some with an amount of privacy may eliminate the problem.

  1. Could your game disguise the computer and screen, can you hide the familiar technology in cabinets, tables or other bespoke creations?

It is a big challenge but sometimes it is just a little dull seeing rows of computers lined up showing games. I know it makes life and set-up easier but it lacks a little of the potential magic of games. There is potential, given enough budget, time and effort to make bespoke cabinets and tables to hide the hardware in. Instead of mounting screens on walls, they could be behind cutout windows in false walls, giving a flush neat appearance. Instead of keyboards and standard control pads their could be mounted and bespoke controllers. This I admit is a luxury but I think it would help people focus on the games and design rather than the technology used.

  1. What is the purpose of the game, is it advertising itself or is it something that only exists to be exhibited?

Whether the game you are exhibiting is a short demo of a larger game, a full demo for something you wish to sell or something designed specifically for that exhibition the above notions should be considered and potentially embedded into the game. You can design these elements into the fabric of the game itself or you can add a coat of exhibition veneer to an existing game. To make the games exhibition friendly will definitely require more work but it will give the player an experience greater than something they could achieve at home just downloading a demo.

Optisocubes – 30 days later and a Curious Event

optisocubes

Around thirty days ago, I uploaded optisocubes onto itch.io (@itchio), ‘an open marketplace for independent game creators’.

As per usual, I posted the link on facebook and twitter, and wrote a little about it on here. The first day, it was pretty clear that a handful of my close friends had taken a look at the game. However, on the second day I found, much to my surprise, that the game had be put on the itch.io latest featured games list, on their front page.

Screen Shot 2015-06-05 at 17.04.33

My views for that day reached 189, far greater than my previous two itch.io accessible games FoxStar and Bright:Knight:Kite:Fight, to be honest I was pretty pleased and excited. My game got a small number of nice responses on twitter from people I had no connection to.

Screen Shot 2015-06-05 at 11.04.41

Over the next couple of days, things generally calmed down, I was averaging around 40 views a day with a few peaks above 50 and some lows of around 20. All relatively good I thought. Comments came in about the game slowly (twitter search: optisocubes), three people sent me the amount of moves it took for them to complete it, so I at least know some people managed to finish it. I also sorted some minor issues with the games, animations and making sure it worked in most browsers.

One major improvement I made to the game was to make it playable on mobile devices using swipe controls, at the loss of being able to save your progress and come back to play it. This was the first time I had implemented touch controls on one of my games and it was really nice to be able to show people the game on my phone, even if it was only through the browser and not an app.

Being relatively pleased with how the game had been received I planned to write a post about it, which would have looked similar to what is above, however something strange started to happen.

Yesterday (2 July), just around lunch time I decided to check how many people had been viewing the game, and it was about 150, almost as high as the first day itch.io had it in their featured game list. Then I refreshed and it crept up by another 10. After I got back from lunch it kept getting higher. So much so, that I thought there was clearly something wrong with the data. There was no clear indication where these views were coming from. I could not find anything on twitter or through google which gave me any clue. By the end of the night my views chart looked like this:

Screen Shot 2015-07-03 at 00.57.26

There were a total of 1267 views for that day, I still presumed there was some sort of fault. After a little bit of rummaging online I think I found what caused the peak. I managed to find a link to a daily news letter from EmeraldStreet (@EmeraldStreet), which you can read in full here.

Screen Shot 2015-07-03 at 00.25.28

They posted a little section about the game in their In Other News section:

Screen Shot 2015-07-03 at 00.20.36

THIS GAME IS SIMPLE BUT ADDICTIVE

Somewhere on our travels through the internet we came across a clever game designed by first year students of game art at the University of Auckland. To play Optisocubes, press the key named at the top of the screen to guide the cube onto the blue highlighted square. After you hit the fourth level things start getting trickier. Hint – try changing your perspective on things (think about it being upside-down).

From looking at their twitter and facebook accounts it is apparent that they have a large enough readership to account for that days exceptionally high number of views. They have also written some pretty nice words about the game, so at least someone at their office appears to have enjoyed it.

but hang on one minute…

“designed by first year students of game art at the University of Auckland”

(Please read the following in a calm tone, I’m not angry just confused) I assure you that this game was not design by first year students of game art at the University of Auckland. It was designed and made by me. It actually really sucks to have your hard work and effort credited to someone else, something I have not really experienced before. I do not think it would take much of a look on google to find out who the game creator was, it is not some hidden secret.

Additionally there does not seem (I may be wrong) to be a game arts course at the University of Auckland, there is a minor course titled Game and Play Design at Auckland University of Technology. This information just makes the whole thing all the stranger. I cannot fathom why the game has been credited to a fictional course. This accreditation must have originated somewhere, but I doubt I’ll ever know where.

I guess these things happen all the time, some sort of loss of communication at some point, not that it really excuses it, just always be wary of everything you read it’s most likely written by fallible people. I’ve tried to contact EmeraldStreet via twitter to correct them, but so far have had no response, which is a bit of a shame, I hold no grudge just want to help correct their misinformation, I’m genuinely pleased they decided to include the game in the news letter.

Edit: EmeraldStreet have since, retweeted the link with me credited, thank you to them for their understanding.

In the end some more people had a chance to look at and play my game, who may not have had any reason to come across it on their usual trawls through the internet, and that is always a good thing.

If you have not had a chance to play optisocubes yet, why not have a play.

Optisocubes

optisocubes

Play Optisocubes

I’ve just finished (or at least made publicly available) my next game, optisocubes.

This idea started when I saw a sticker on a friend’s skateboard, it was an optical illusion where two isometric cubes drawn on top of each other can appear to be both solid and hollow. It looked a little like this:

wireframe-2

From there I started playing with drawing simple isometric shapes, and trying to get a cube to rotate and animate.

As you can see my first efforts where not perfect. The cube appears to distort and change shape when it rotates.

After reading up a little more on isometric game art and having another think about how I handled my shapes, I managed to improve the rotation some more and started on the between level animations.

From here it was a matter of designing the levels and making tweaks.

Early feedback I got from Zhan (@ZhanCat) helped me balance the early levels, really slowing them down to ease players into the control scheme and the methods for solving the puzzles.

I got some really useful control feedback from Aubrey (@HilariousCow) . You’ll notice if you tap the movement button the cube will rotate back to its starting position. This allows the player the change their mind if they press the wrong button.

I took the game to a London Indie Pub meet, where a few people gave the game a go. I think I’ve definitely found it’s not for everyone. Some people can’t see their way around the optical illusion as well as others. This was even with the additional gradients I added to give a greater perception of depth:

I really go bugged down designing the levels. My method was to generate random patterns and then try to move round the cubes in interesting ways. Once I got them to a specific point, I then put the targets there and attempted to level again to see how difficult it was.

Having to go over the levels again and again to test them was not the most exciting, but it’s interesting to see that there are still a couple of the later levels that I have to re-workout how to solve.

The final piece of feedback I implemented was allowing the game to keep track of the players progress. This means that players can leave the game and come back without feeling they have to do everything all over again.

If you do try it, let me know, I’d love to hear some feedback. Also if you manage to finish it send me a screen shot, I’m interested to see how many moves it takes.

Play the game here.

Tweet #optisocubes

Making Bright:Night:Kite:Fight

To start, if you want to play Bright:Night:Kite:Fight as it currently stands, you can do so here, but I’d advise grabbing some friends to do so first, as it’s a local multiplayer game.

bnkfBanner

A Little Seed

A couple of weeks ago my partner phoned to tell me amongst other things that she had bought a stunt kite. I immediately felt jealous that I was not there to fly it with her. I had to do the next best thing and make a game about flying kites. So that was the seed of this idea.

It was quite late and I decided to break my current rule about working on more than one digital game at a time, staying up till the early hours to get the basic turning mechanics sorted. If you look carefully when the kite rotates it does so around the outer corners, as if the kite is controlled by two strings.

That Problem

One huge issue I came across was trying to get the swooping effect of the kites flying. I spent about 5 hours trying different iterations of, gravity, velocity, drag, wind speed, kinetic energy, potential energy all to no avail. Nothing felt right. It was not until I simplified what I wanted to do that the answer came to me.

As the kite swoops down it gains velocity, as it goes up it loses velocity. The simple and elegant solution was to make velocity directly related to the current height of the kite. Hours of complex physics thinking and multiple lines of code all disappear into a single line of code:

magVel = 1-((canvas.height – p.y)/(canvas.height));

Most importantly it felt nice to swoop around.

Start of a Game

Once I had got this sorted, it was time to add the tail. It was nice watching the kite fly about and looking at the tail follow its path, gently rippling in the wind, but it was not quite a game. Unlike real kite fighting where you cut the line (as it require tension), it was better in this case to start cutting the tails of the kite. To do this required more kites, which was easy enough to add.

More of a Game

So the flying and the tail cutting mechanics were sorted but it was still a interactive play box rather than a game. This is an activity about cutting down the other players, your punishment being a smaller kite tail; your kite looks less impressive without a long tail following it.

The two easiest things to add, were time and points. Time adds a beginning and end to the game, it also allows for replay, especially with 1 minute matches. Rather than removing someone from the game completely, by death for example, all players also hopefully remain engaged. The point system I’m not 100% about but I think scoring more points based on the current length of your tail is more interesting than simply adding and losing points based on hits. I hope it works for this game anyway.

Finishing Touches

So to the finishing touches. After watching an interesting video by Mark Brown (@britishgaming) titled Secrets of Game Feel and Juice I wanted to make the impact of the kites hitting each other a little meatier. I added a very brief 50ms delay when an impact is detected in order to allow players to register it clearly. Also on an impact the stars in the background brighten in a wave outwards from the point of impact. I think these two little elements add a lot to the game in terms of how it feels to play, and improves the sensation of cutting up someone else’s kite.

(You should check out all of Mark’s Game Maker’s Toolkit videos, they’re really useful.)

Not Quite Finished Yet

Not many people have played the game yet, and there is still plenty of improvement that can be made based on feedback. When designing a multiplayer game by yourself the hardest thing is testing it.

Based on the feedback I receive on this early release I will keep improving the game until it becomes something I am truly proud of.

Until then, have a go and let me know what you think.

A big thanks to Zhan (@zhancat) for spotting a bug which meant some collisions weren’t detecting. This was due to the way I’d implemented the game world looping from left to right and having multiple kites for each player to do this. But that’s hopefully solved now. I also tightened up the controls thanks to his imput.

‘What’s Love Got To Do, Got To Do With It?’ a VideoBrains Talk in London

I gave a talk at VideoBrains (@VideoBrains) in February on the subject of love in video games. This is a video of that talk.

VideoBrains, is a great monthly event that happens at Meltdown Bar London (@MeltdownLondon) on Caledonian Road. Check it out if you can get tickets, they sell out fast!