We recently went to EGX – the UK’s biggest games event and we had a very productive time! It wasn’t all fun and games as our team, consisting of Nathan and Berni – the company founders – and Sarah – who kindly volunteers as our community manager – gave a talk at the show.
For the first time this year there was an EGX Fringe Theatre with a schedule “consisting entirely of panel sessions proposed and delivered by the EGX community”. We proposed a session called: “Lessons from game Development – If you build it they will come. (Spoiler: They won’t)”
The blurb of it was: “Join the team from Centrifuge (makers of Interference and other casual games) as they discuss their gamedev journey over the last few years and share the incorrect assumptions and mistakes that they made along the way. Featuring panellists Nathan, Berni and Sarah.”
We were pretty pleased when it was accepted and we were given a slot on The Fringe stage at 2pm on the first day of the show. We didn’t expect many people to come as it was the first day and no-one really knows who we are. Imagine our surprise as we were setting up the AV for the presentation – the room started to fill up. Then a class of school children came in with their teachers and there was standing room only!
We really enjoyed talking about our game development journey so far and framed the session as: Assumption followed by Reality then Advice.
Assumption: We’ve had an interesting idea, and made a game. Let’s send out a press release, and people will talk about it
Reality: You can contact the big sites, but you’re probably not going to be as interesting as the other press releases they receive
Advice: Start small
Try your local press (they’re always interested in new stories in their area)
We met with our local business editor and she covers any new developments we have
Look for more specialised website/magazines
When we released Interference on Windows 10 we sent press releases to sites like Windows Central, because it’s more relevant to their readership
Contact individual journalists who are interested in your type of game
Don’t rely on sending messages to a general tips address
Nathan talked about the actual making of the game, Berni talked about social media, awards and PR and Sarah chatted about managing and engaging your community.
The 45 minute slot flew by and we only had time for one question from the audience, although a few people stayed behind to talk to us afterwards. It was nice to see so many other game developers in the audience and the comments we were getting were that it was refreshing to hear a realistic and honest account of what it is like to start small and make games!
One good thing about having a slot on Thursday was that we then had the rest of the show to relax, play games and enjoy networking with other game makers and players. Well, that and the fact that we could get in early before the masses!
If you’d like to see our talk then we’ll be editing it soon and throwing it up on YouTube. Will put the link in here soon!
If you’ve been reading our blogs you’ll know that we have been campaigning on social media to get Microsoft to put our drawing and describing game, Interference into the Apps for Windows Ink Collection – a curated collection of apps that are perfect for the Surface devices and pens.
Each day we would post on Twitter and Facebook our plea – along with a gif of a particularly good drawing that we’d had submitted to the game that day.
… when Jen from Microsoft got in touch and said that they would have a look at it. Seems we didn’t have many recent reviews – as we have forums in the game so players usually say nice things about Interference in there. We put out a plea to our players for a few new reviews in the Windows Store and got them. Then we were told that we could have Interference in Apps for Windows Ink for 30 days – to see how it went.
It is so great as we’ve had lots of new players already and get emails from the Windows Store to say that our trends are up.
It’s good to know that persistence pays off – we’re not sure how long we will be in the collection – but long may it last!
With this being our first game jam, we weren’t quite sure how to plan or how to manage our time. As the jam started at 02:00 in our time zone, we decided the best idea would be to check what the theme would be, then to go to sleep hoping that we’d subconsciously come up with some ideas overnight.
By the time we were actually ready to start (after recording and editing the weekly Interference update video), it was Saturday afternoon – about 11 hours in to the jam. We’d had time to think about the theme (“A small world”) for a while, and decided to do something based around looking at a petri dish through a microscope. We’re both fans of puzzles, so decided to make some kind of simple puzzle game.
Berni quickly came up with the idea of showing the player a petri dish with various “bugs” in that would have several attributes (eg colour, shape) and the player would have to apply the correct drugs to make the bug shrink (but using the wrong drug would cause it to grow). For example, a spiky yellow virus would grow if given a round yellow drug (wrong shape), but would shrink if given a square yellow drug (correct colour, correct shape (well, it has corners!)).
I’ve been spending my spare time learning about Unity, so decided this would be a good excuse to play around with that. My experience consisted of reading “Teach Yourself Unity Game Development in 24 Hours” and doing half of a Unity course on Udemy, but I hadn’t actually made anything from scratch. Still, never hurts to have a go at things.
For the first few hours, I had a go at implementing the system Berni had devised, but – if I’m completely honest – didn’t have much success. I managed to set something up where you could drag coloured shapes onto other coloured shapes, and then they’d change size depending on whether the colours matched or not. It sort of worked, but didn’t feel very fun – you just piled drugs on to one bug, then moved on to the next. Berni suggested making different bugs grow at different rates, and introducing bugs that had two colours, but I thought it was getting a bit complicated (and whilst I could cope with changing the colour of a sprite renderer in Unity to make different coloured bugs, I had no idea how to handle things with two colours – swap in different sprites, rather than colouring the same sprite?).
I suggested that we keep things simple: display the bugs in a grid, then have the player add drugs which would affect adjacent cells. You’d have to work out the correct placement in order to get the right combinations of colours. To make it a bit more interesting, we’d make the grid out of hexagons. I mean, that can’t be too hard to work out, can it?
Several hours (and a few pages of scribbled notes) later, I’d finally made a system that could generate a “circle” of hexagons, given a number of layers. The problem with hexagons compared to squares is that it’s harder to refer to a particular hexagon – in a square grid you can say something like (1,4) and it means “one along, four up”. The problem is that whilst one row of hexagons will fit into that, when you do the next row everything is shifted across by half a hexagon. I eventually implemented this by assuming that rows would alternate between sitting on even numbers and odd numbers on the grid. It seemed like a good idea at the time (just shift everything by 0.5 on every other line), but in hindsight I think there’s probably a better solution involving adjusting the Y axis of your grid to go at an angle. By the time I realised this, I’d already done a lot of implementation, so decided to leave things as they were.
Next was dealing with drugs being dropped into the grid cells (or “hexes”, as I called them in the code). That was pretty simple – Unity’s collision system took care of most of it. Whilst a drug was being dragged, we kept track of any hexes that it collided with, and when the mouse was released we dropped it into the last empty hex it touched. This just involved setting its position to the same as the hex and setting the drug’s parent to the hex. At this point, we also check the colour of the drug, and then set the colour of the hex to match. If a drug is picked up again, we set the colour of the hex that was its parent back to white. To change the adjacent cells, we check the two above, the two below, and the ones to the left and right – six in total. Well, I say six – one of the obvious things that I forgot to check was whether those hexes actually exist (eg if the cell is on the far left of the grid, then there won’t be any cells to the left of it). Fortunately, that was easy to fix once I’d realised my mistake.
I’d written a lot of code in the last few hours, so decided to do something else for a bit – making some sprites. I’m not much of an artist, but thought I could probably manage something that looked a bit like a virus. Using the excuse that I was aiming for a minimalist style, I came up with a few varieties that looked OK. They did seem a little boring, though. One of the things that had just been covered in my Unity course was animation, so I messed about with that quickly, setting a simple animation that made the sprite shrink a bit then grow (as if the virus was breathing). Surprisingly (for a change that took about two minutes), it looked pretty good and made a big difference. It gave me the idea that the viruses shouldn’t be removed when treated, just suppressed – so they’d become active again if you moved a drug away or added the wrong drug next to it. I quickly made another animation that made the virus shrink and stop moving.
To test things out, I made a script to pick random hexes and spawn viruses of random colours, then edited the “do stuff when a drug is dropped” script to check the colour of any adjacent viruses and set an “isSuppressed” flag if the drug colour matches the virus. That triggers the animation to change from “idle” to “suppressed”. I was rather pleased when I ran the game, saw a few viruses spawn and start “breathing”, then stop when I placed drugs next to them. It was starting to feel like a game! We made a minor adjustment to the drug sprites here – adding a “C” to the centre of them – to make it more obvious when a hex contained a drug.
Something that I’d learnt from the Unity course was that adding sound makes a big difference, even if it’s just a small thing. I didn’t want to spend ages looking though lists of sounds, so just grabbed a microphone and recorded myself making a “pop” sound. Playing that when a virus spawned made things feel better, but it still seemed that something was missing. We thought that perhaps a sound for when a drug was picked up or dropped would help, so I recorded a “chk” sound. Almost there – but the whole thing was a little quiet when you weren’t doing anything. We added a bit of background music (a track from our friends at Vivid Muzik), and everything came together 🙂
It started to feel like things were almost done, but then I realised the big oversight that I’d made. Whilst the virus spawning system seemed to work well, it was just picking random hexes with no consideration for whether the puzzle would actually be solvable. I’d not had to write anything like this before, so wasn’t sure if there was a standard approach for it. In the end, I reasoned that if I made the game generate a solved grid, then pick viruses to spawn based on that, it would always be solvable. It appears to work, but perhaps there’s an edge case that I haven’t thought of!
I spent a few hours on Monday putting together a basic UI, instructions for the game (just some simple buttons and images), and a “plot” (you’re a scientist trying to prevent a pandemic) and the whole thing started to look like an actual game. On Monday afternoon we packaged the game, uploaded it to itch.io and submitted it to the Ludum Dare site – a few people have already tried it and left encouraging feedback.
I’m proud of what we managed to get done in a weekend (I think that our active time on the game was probably under 40 hours), and I’m tempted to add a bit more polish and release an updated version after Ludum Dare is finished. There’s a few things that would need changing, like trying to increase the replayability: at the moment, the grids are programatically generated – it would be interesting to generate levels based on a seed value (so different players could try the same level, and see who could solve it the fastest). Another improvement would be to calculate the optimal solution for each grid, so players could see how many steps over par they are.
Having spent a good few hours playing around in Unity, I’m very impressed with it – things that I expected to be tricky to implement were a lot easier than I anticipated, and being able to build for web, Windows, MacOS and Linux at the same time is excellent.
We’re definitely looking forward to the next Ludum Dare, but have decided to try and make a small game each month as a break from our big projects – it’ll give us a chance to try out random ideas without having to work out a long term plan for them. If everything goes to plan I’m going to document the process and share the results at thelab.wearecentrifuge.com.
Nathan has been wanting to take part in a Game Jam for quite a while – so when we saw that the Ludum Dare game jam was about to take place – and they were celebrating their 15th year – we decided we would give it a go this time.
Amazingly, as we are busy most weekends, this particular weekend everyone cancelled on us and we had an entire weekend to ourselves – we took this as A Sign and resolved to definitely try to make a game in just one weekend. We have never done this before so we thought it would be a great challenge and possibly fun 🙂
The first step was to vote on the possible themes on the LDJam website – these had already been posted by other users and game jam enthusiasts. The actual theme of the competition would be announced at 2am (UK time) on Friday night while we were sleeping. We were hoping that it would be “Keep it alive” as we’d thought of a really great idea for that – but when we stirred in the night and checked our phones we discovered that the actual theme was Small World.
We tried to go back to sleep and hoped we’d dream up a really good game idea before morning. We had a brainstorming session as soon as we woke and talked about what Small World could encompass:
there are already games out there already featuring small worlds that are fought over because they won’t fit everyone on
small world can also mean child-sized things
small world theory where everyone turns out to be connected to everyone else – could we make a game about that or would it just end up being too massive?
then, we had the brainwave that small world could also mean – microscopic!
That idea really got the cogs turning and we came up with superbugs – a game where you’re in a science lab and peer through a microscope at viruses in a petri dish. The aim of the game would be that you have to kill them off with combinations of drugs before they grow too big and become Superbugs – and resistant to ALL drugs.
We’d start with a few simple levels , where you just have to kill one virus with a drug of the same colour. This would be scaled up to many viruses – some needing multiple drugs and others needing colour combinations to kill them off.
As Nathan, our developer, is halfway through his first course on Unity – we thought we’d make the game in that. It seemed like a good way of testing his understanding so far!
Our first prototype was one petri dish containing the viruses – but it wasn’t very interesting and did not need a lot of skill. Also it was difficult to animate the viruses and get them to interact with each other.
Then Nathan came up with the idea of hexagonal cells – like a beehive – where each drug would affect the cells around the target one. This would make it into a proper puzzle game. It also allows for drug colours to be combined to make the other colours needed.
We didn’t have any access to sounds – so Nathan did the sound effects himself and recorded them to put them in the game. I especially like the “pop” as each virus explodes as it is eliminated by the correct drug combos!
One of the hardest parts of making the game so far is working out how to automate the production of each level to ensure that it is still solvable. They do it with Sudoku – so it must be possible!
Check back in a few hours for part two, where we’ll show how the game turned out and how you can play it!
First, before I begin this post -we have exciting news. As mentioned in a previous blog post we have a two-pronged approach to raising money for our new game development. Both seem to be going quite well, as today we were informed we had gone through to the second stage of the UK Game Fund application process! We are very pleased about that.
The other possible money-raising idea is now TOP SECRET – so can’t say much more about that at the moment. Keep checking the blog!
So, today’s topic is User Engagement. Now that we have a popular and fun game – how do we look after our players and keep them coming back day after day?
The nature of Interference is that nothing happens immediately. The players choose to draw or describe in a game that has many steps. So between 15 -33 are needed to complete each game. However – that makes it a strength – as we email the player to let them know when their game has finished. This means they will come back to see how their game ended up and how their own contribution affected the game outcome.
Another hook is that we allow other players to “like” individual drawings or descriptions, so that players will log back in or open the app to see how many likes they have got. Players can also comment on games once they are finished which helps to get the players engaged with each other.
We also provide a forum area – where we as the game devs can give updates and news on the game and future developments. It also means that any player can start a thread – related to the game or completely random. It had resulted in some interesting topics. There’s the “Where is everyone from” thread created by a player that gives us useful insight to all the countries where Interference is played.
They have even used the forums to make up their own word games such as “Last and First” which has been going for three years now! It really has reinforced Interference as not only a casual game – but a social one too.
It’s good to see the same players returning again and again. We want Interference to be addictive!
Obviously there have been minor incidents where there has been disrespect on the forums – but this is dealt with by the moderation system and players are warned that if they abuse the system they will lose the ability to post on there.
Recently Nathan and I went on a free PR course – run by a local media expert Nigel Howle, which we won as part of the perks of being a finalist in the Business Boost Awards. We try to take advantage of such opportunities – as we are on a start-up budget (i.e. zero!) and we love to learn!
One of the other participants were a local firm that make company videos and they advised us that a company will get much more engagement with their advertising and social media if they include a video. Apparently the ideal length is just 60 seconds – as not many people will keep watching after that.
That is why this year we have resolved to do a short weekly video update for Interference in 2017. That means that everyone will be able to see the people behind the games and maybe we will get some new players too. The only problem is that when the first one was due – we were both struck down with ‘flu! But, a resolution is a resolution – so we did the video anyway – in our pyjamas!
I’m sure you can find it if you look on Interference. Hopefully the next one will be a little more professional!!
We’d love to hear ideas from other game devs about how to engage players – get in touch!
The next blog will be about – how to get your games noticed and find new players!
Microsoft are a huge global company and are always hooking up with other big organisations to improve life through technology in so many areas. But, Microsoft also look after the little guys who just make games too – which is why we love them!
Ever since we started making Interference – our first ever game – they have given us so much help and encouragement along the way. Even though we are just two people making games as a hobby they couldn’t have been more encouraging and helpful. We got to know some of the evangelists and they would often call up and ask how things were going.
Back in 2012 when they were launching Windows 8 they set up a fantastic place in London for 18 months called Modern Jago – where developers, designers and artists could work and meet for free in a disused school in Shoreditch.
Sadly for us we couldn’t make use of it frequently as we live in Staffordshire – but Microsoft invited us to many free events there over the months.
We attended the Windows 8 Launch there, the Critter Awards and also the Future Publishing’s App Generator Awards where our game was one of the 10 winners. We were given lots of equipment (laptop, tablet, phone) which really helped with our app development at the time. We were very proud of being selected at the Windows Elite who were first to store with a Windows 8 app.
They certainly know how to put on a party too! There was always free food and drinks and unusual entertainment such as Mixology lessons, Oxygen bars and Make your own T-Shirt Sessions. They were also responsible for introducing us to the awesome Rayguns Look Real Enough band and the tiger onesie!
Since then we have both quit our jobs to become full-time developers and have been accepted on the BizSpark programme which gives us so much more help for our indie games studio. We gain Visual Studio Enterprise with MSDN Subscription, $150/month of Azure Credits, Office 365 Developer, and Windows Store membership. We also get the ability to sign up for 4 Technical Support Incidents for our start-up.
This is saving us a fortune in storage costs each month as Interference – being a drawing game needs a lot of space! So, the first thing we did was to relaunch the web version of Interference – optimised to work on all devices. Then came the UWP (Universal Windows Platform) Windows 10 App – even though we are constantly being asked for an iOS and Android app by our players.
Nathan, our chief geek explains “Developing for Windows is so much easier than the other platforms because they have the best development environment in Visual Studio and in the language, C# a lot of annoying details are taken care of automatically like downloading something in the background is much easier to implement than in Java or other languages.”
So, our shiny new Interference Windows 10 App is now in the Windows store and the wok begins on the other versions…wish us luck!
PS Before that we are launching our brand new word game (on Windows first!) called Loose Vowels. Look out for announcements soon!