Brought to you by our sponsor, caffeine

Tag: games

For the fourth and final year of the undergraduate Computer Science Masters course at The University of Warwick, students team up in groups of around five and work on a thing for the year. That thing can be research-oriented, or it can be a software development project; the latter is the more popular option. It has to be of sufficient technical challenge for a team of that size for the whole year. Our team of five is developing a game about creating and sharing levels in a similar mould to Super Mario Maker, but with our own spin on the concept. Due to the heavy focus on collaboration, we’ve called it Patchworks.

Mobile-Desktop Integration

The first major feature we’re implementing is the ability for Android devices to join in while someone is playing the game. The core of the game runs on a PC, with one ‘desktop player’ controlling the most important aspects of the game, but 1-4 ‘mobile players’ may join in over LAN (Local Area Network). We wanted to capitalise on the appeal of couch co-op games, and having people use the mobile devices they already own in a novel way seemed like the obvious solution.

Early on in development, we thought about what we would want to display on the mobile device. Do we want it to mirror the visuals of the desktop game? This would cause problems in synchronising the state of the game between devices, as every game event needs communicating over the network which could strain the LAN connection. Not only that, but the interface would be crowded on such a small screen if the rest of the visuals needed to take up space. We decided that it would be best to use the mobile devices purely as controllers instead, and our attention turned to what type of controller would work best.

Mobile games often have a controller ‘overlay’, where virtual buttons are superimposed on the game. None of us are a fan of this style, as the buttons are non-tactile and do not feel good to use, especially compared to a conventional gamepad. Nor is this type of controller suited to this type of game, as we don’t have any ‘action’ to display on the mobile screen, so the controller interface is free to take up the entire screen rather than being tucked into a corner. We thought about what kinds of control do work well on mobile, and came to the conclusion that a ‘scroll area’, similar to a mouse, would feel right at home on mobile. Housing this on one side of the screen leaves the other half free to display a range of buttons for different purposes; the buttons act just like any other button would on a mobile device, and while they still lack the satisfying tactile feel of a physical button press, this is the best we can achieve on mobile. Perhaps in the future we’ll add haptic feedback (vibration) on a button press.

Asymmetric Gameplay

The gameplay experience for desktop players is inherently different to that of mobile players due to the limitations and design choices detailed above. The mobile players won’t be controlling a conventional character like the desktop player will; they’ll be moving around a ‘cursor’, similar to how the character Murphy works in Rayman Legends on Wii U. Elements in each level will be interactive for mobile players only – enemies and obstacles can be manipulated to help or hinder the desktop player. Our initial prototype had a UFO being flown round the stage, shooting bullets downwards. We plan to add a range of enemies, some with unique controls, for the mobile characters to control, plus we want to use the accelerometer and/or gyroscope for some gameplay elements, also similar to Rayman Legends. Similarly, ropes can be cut by the mobile players by using some kind of ‘scissor’ tool and swiping through a rope.

Collaborative Creation

The focus of the project is on collaboration, and it is the Level Editor where this shines. A grid-based editor, similar to that of Mario Maker, allows players to place tiles wherever they want in a level. At this early stage in the project, we have implemented simple ‘painting’ of tiles, as well as undo and redo, clear and erase tools, and in the future you will be able to grab/select objects you’ve already placed and customise their behaviour. For example, you’ll be able to set the endpoints of a moving platform, set the length of a piece of rope (solving once and for all how long a piece of string actually is).

Mobile players can join in with editing levels, with most of the abilities of the desktop player, although only the latter can set the level name, save the level, go into Play Mode or move the camera. We turned to games like Ultimate Chicken Horse for inspiration – in that game, players take it in turns adding elements to the level with the goal of completing the level themselves but preventing their friends from doing so. Our goal is collaboration rather than competition, so we opted for complete realtime parallel creation, where anyone can add or remove elements at any point.

Online Interaction

Super Mario Maker worked so well because it encouraged a community of players to upload and share levels with each other. There were YouTube Let’s Plays of levels, there were notoriously difficult levels like the Panga levels, and there were inventive music-oriented levels in which players input nothing and listened to a tune crafted by nothing but enemies falling onto music blocks. All of those levels were only possible to create because of Mario Maker’s tight mechanics and emergent interactions between different level elements. We want to aim for the same sort of thing, with players able to upload their favourite creations once they’ve beaten them.

Using the mobile app, people can browse levels on the go and bookmark levels for later. This is somewhat similar to a system implemented in Mario Maker after it launched that allowed you to bookmark levels from any internet browser. Of course, this is all going to require some kind of unified account system – possibilities include using people’s Google Play accounts, although some players may not have one. Uploaded levels and bookmarks will be tied to a user account, and you’ll likely use the same account on desktop as you will on mobile. We also thought about a notifications system that lets players know when someone liked their level, or when they’ve reached a milestone of plays or likes. This could be baked into the mobile app and use Android notifications, and it can also feature on the desktop game homepage (a prototype for this functionality was already created).

This Start Menu is extremely rough.

So far, the project is on track to complete its objectives by the due date, which is around the end of Term 2 for feature-completeness, and the start of Term 3 for the final presentation. It’ll be interesting to see which features we get time to implement, as there are a number of ‘stretch’ features we might want to include.

Next time I make a post, it’ll be at or after the end of term 2 most likely, so I’ll have some amazing screenshots to show off. Watch this space!

It’s tradition for blogs to look back at the achievements and notable events of the past year. It’s been a particularly turbulent one wherever you are in the world and is sure to be remembered for years to come. I keep joking that we’re currently living in the introduction paragraph of some future textbook on historical events; from all the establishment-smashing stuff that’s happened such as Brexit and the election of Donald Trump, to massive achievements in space exploration thanks to NASA’s Juno spacecraft, SpaceX landing a spacecraft successfully and the discovery of gravitational waves, to several horrifying terrorist attacks on multiple countries and countless celebrity deaths throughout the year, it’s easy to see why 2016 will be remembered as a turbulent year. But you can read about all these events pretty much anywhere else on the Internet and I want this post to focus on stuff surrounding game development, as that’s what my blog is for. It’s probably going to be my longest post ever, so hold onto your hats.

Although if you’ll allow me to get political for just a second, I’m pretty pissed that the happiest person this year is Nigel Fucking Farage, the hypocritical, toxic, lying wart. Man of the people my arse.

A review of my 2016

With that out of the way, it’s time to reminisce over the past year of this blog and then look to the future. First off, some boring stats: I posted 21 things this year, including this post. That’s less than once a fortnight, which makes me a liar since last year I vowed to try to post about once a week. Here’s this gem from my “Happy 2016 Everyone” post:

With that in mind, this year I’m going to try to get out one post per week – if not more – so I don’t fall behind and post nothing in a whole month (for example, December was completely dry this year).

This year will hopefully different. I should have enough to speak about, since I try to make a game for every WGD event I can, plus there’s 48 hour game jams such as Global Game Jam and Ludum Dare to give me an excuse to make games. On top of that, I’ll be putting out more posts about Honeycomb Engine which I hope are interesting for you to read. My posts about games should be more analytical and about reflection, while posts about Honeycomb will, for the time being, be technical explanations of the different aspects of a game engine.

Games I’ve made this year

I made or wrote about 6 games this year, which isn’t really that much compared to other years. That’s partially due to the fact I didn’t take part in August’s Ludum Dare this year and I also didn’t make anything for the whole of summer. On the bright side, I’ve had something to show at most WGD events since then, and I also entered Ludum Dare in December. I may as well list them all off here:

Slower Than Sound, for Ludum Dare 34, ‘Two-Button Control / Growing’(which was actually in December 2015, but I only posted about it in January 2016)

My aim with this one was a simple game in which you fight spaceships one-by-one in a turn-based manner, but thanks to a couple of bugs and confusing turn indicators, the idea didn’t really work. It was difficult to know what you were supposed to do as I had no real tutorial, and the gameplay itself didn’t really make much sense. I think the art was nice, but that’s what took up a lot of the time from developing the mechanics.

The premise of this game was simple: craft elements until you craft a ritual, at which point you’ve won. It takes heavy inspiration from games like Doodle God, with the exception that you can move around the world in this one, once you’ve crafted life. Then you can find new crafting elements in the overworld. Some of the recipes were very contrived, so if I were to revisit this game, I’d add more elements and refine some of the existing recipes with the new additions so they make a bit more sense. I’d also work on the UI a bit, although it was perfectly fine for a Global Game Jam entry.

Because I’m a satirical bastard sometimes, I made a terrible clicker game about making games. I think it’s supposed to mock the repetitive nature of working in the games industry? Or I guess the game names and descriptions are meant to ridicule the games made by some developers. Either way, it’s a game where you mash your screen with as many fingers as possible as fast as possible, watch numbers go up and then every 1000 clicks you’ve “made a game”. Just your average mobile game, then. I made it as an experiment to see how different it is to make a mobile game than a desktop one, as the point of the ‘Fuck This’ jam is to use a tool, language, art style or platform you’ve never touched before. Using Unity was a bit of a cop-out, but at least I tried out mobile game development.

The idea behind this was that the dungeons would be randomly generated, and the game would describe them as ‘shapeshifting’. Then I went one further and added powerups that morphed the player into different shapes to give them new abilities, but a couple of them were bugged out slightly so unfortunately it didn’t work out as well as I’d hoped. I did manage to get a few different dungeon varieties into the game, and if I were to continue it further, I’d probably try to nail down the fun factor and make the enemies a bit less bullet-spongey.

This one was fun to make, as I made it in just a few hours preceding the presentation for WGD games that week. I also seem to remember not having had much sleep the night before, so it really was a test of endurance to keep going and get it done. The basic premise is that ghosts flood in from either end of the screen and you have to click them, which makes them fall down. But each ghost had a randomised pattern – all followed a sine wave, but some were faster than others and occasionally a ghost would have an erratic and tall movement pattern that took them off the screen. They also had a z-position, so the ones closer to the screen were easier to hit but spent less time on screen.

If I were to revisit it, I’d probably give each type of ghost a unique movement pattern – some would have a sine wave, some would move linearly, while others might zig-zag and some might fade in and out of visibility while moving.

With this one, I tried to channel my love of chemistry, although I realise that’s a tall order given how much some people loathe the subject. You’re given a series of simple chemistry tests – a distillation, a sodium + water experiment and a flame test – and it’s your job to keep them all going simultaneously. I wanted it to feel hectic and have lots going on at the same time, so I would have ideally added more minigames to the collection. I liked the idea behind it and think it could be a very fun experience if I polished it up a bit.

Honeycomb Game Engine

2016 is also the year I started on my game engine, Honeycomb, as my third-year project for my Computer Science degree. So far, it’s lacking in a lot of features, but it’s definitely on track for completion by the end of text term (and by ‘completion’, I mean of the features I’ve already planned. There’s no such thing as a ‘complete’ game engine I don’t think). As part of my plans for the engine, I want to make an example game with it once it’s feature-complete, so look out for that! I’m buzzing to see what it’ll turn out like.

Games I played this year

I’ve really neglected actually playing games this year. I was discussing it with a friend the other day and discovered I could almost count the number of games I’ve played this year on one hand. And that’s not even just games from 2016, that’s all games I’ve not played before regardless of release date, excluding game jam games. Worse, the vast majority of them are on Nintendo platforms or are first-party Nintendo properties. I really need to diversify my game collection and maybe dig into my Steam collection in 2017! I’ll give a mini-review of the games I played here.

Pokken Tournament, Wii U

Image from http://www.pokkentournament.com/

I don’t play many traditional fighting games. But when Bandai Namco and The Pokémon Company teamed up to make a Tekken game with Pokémon in it, my interest was definitely piqued. It’s a fun game, even if I’m no good at it. I think its main strength is that it’s accessible to people who don’t usually play fighting games, and that’s definitely one of the reasons I like it so much. It’s also refreshing to see a Pokémon game in which the Pokémon make a bit more contact with each other, and with graphics like the ones on display here I’m excited to see what the future of Pokémon on the whole will bring, especially with the Nintendo Switch on the way. I’d love to see a Pokken Tournament 2, hopefully with a more in-depth storyline.

The Legend of Zelda: Twilight Princess HD, Wii U

Image from nintendo.co.uk

I’ve never played the original Twilight Princess on Gamecube or Wii, but I’d heard it was one of the best in the series. The first Zelda game I played was Ocarina of Time 3D, and I’ve been a huge fan ever since, so this purchase was a no-brainer. And how right everyone is, this game is one of the best games ever made! The dungeons are exquisitely designed and it feels as if every corner of the world had heart and soul pumped into it. The Wolf Link amiibo that came with the special edition is also the finest-looking amiibo to date. If anything, it’s just made me more excited for Breath of the Wild next year.

Star Fox Zero, Wii U

Image from nintendo.co.uk

The Wii U’s last moments could’ve done without a dumpster fire like this. It had some promise, but it let me down on almost every count. It’s boring, hard to control and I honestly couldn’t make it past the first few levels. I was lead to believe in reviews that the two-player mode was pretty fun and made it somewhat worth buying, but that’s a damn lie, it’s still hard to control and it made my boyfriend sad. Don’t buy it, for the love of all that is holy don’t buy it. I don’t care that reviews say it’s fine once you get used to the controls. In 2016, I shouldn’t have to get used to the controls! I would’ve loved a game that used the Wii U GamePad in an inventive, fun and refreshing way, but this game wasn’t it unfortunately.

The Legend of Zelda: The Wind Waker HD, Wii U

Image from amazon.co.uk

This wasn’t from 2016, but I only got it a few months ago. It’s one of the three games I played this year not from 2016! I also haven’t finished it yet, but so far I’ve been having lots of fun with it. The graphical style is unique and, while the Wii U hardware isn’t the most powerful in the world, no-one can argue that this game looks beautiful. I can’t say much else since I’ve not finished it, but the game and dungeon design is so far on par with other Zelda games. And the sailing sections help to break up the action with something a little different to what you’re used to seeing in a Zelda game.

Beat the Beat: Rhythm Paradise, Wii

Image from youtube.com

It turns out this is a great game to take to a university society dedicated to playing Nintendo games. It’s another one not from 2016, but boy am I glad I played this one! I’ve had the soundtrack stuck in my head for weeks and I’m still concerned for the mental well-being of the dev team. Seriously, can someone tell me what the heck is going on in some of these rhythm games? If you can explain what is happening in Donk Donk, I’ll give you a fiver. My personal favourites include Flock Step, Double Date (pictured above) and Flipper Flop.

Miitomo, Android

Image from nintendolife.co.uk

Miitomo is one of those strange little experimental games, or at least that’s what it feels like to me. It’s similar to Nintendo’s own Tomodachi Life in some respects, but lacking in many aspects. It’s a communication app at its heart and integrates well with My Nintendo with daily and weekly challenges, but it sorta got old very quick. Regardless, I had a lot of fun with it when it first launched, answering very strange questions and hearing my friends’ quirky answers. And if any word describes Nintendo’s very first mobile experience, it’s just that: quirky. I was a fan of the costume crossovers with other Nintendo properties – seeing my Mii in a Link outfit or wearing an Inkling hat was pretty cute. I’d love if they brought out a massive update to make this more enticing and bring players back, but I don’t think that’s on the cards unfortunately.

Rayman Legends, Wii U

Image from ubisoft.com

Another game that’s not from 2016 and also great to play with friends. It’s one of the best couch co-op platform games I’ve played in a while, and it lets you ‘accidentally’ punch your friends into a bottomless pit of death, which is always a great selling point. The music levels are especially amazing, with some of the best level design I’ve seen in a recent game. Somehow, a game this creative came out of the maw of Ubisoft! It can be found for dead cheap and it’s been ported to most systems since launch, so I’d recommend picking it up if you can.

Pokémon Super Mystery Dungeon, 3DS

Image from youtube.com

I loved Pokémon Mystery Dungeon: Explorers of Darkness back on the DS. In the midst of the billions of other Pokémon games I had, it offered something different, as I hadn’t played Blue/Red Rescue Team prior. However, Gates to Infinity, the first PMD game on 3DS, left me a bit disappointed, a popular opinion amongst players. It wasn’t bad by any means, and the concept of building a Pokémon Paradise was a fun one, but it just lacked the depth of previous entries for me. Super Mystery Dungeon was different – it has so much content, I don’t think I’ll ever finish it. The combat is as basic as it’s ever been, although some small additions such as emeras and alliances keep things fresh, and I felt the plot was a lot more refined than that of Gates to Infinity. So far, it’s the definitive Pokémon Mystery Dungeon game for me.

Pokémon Go

Image from gameranx.com

You might have heard of this game once or twice. Yes, Pokémon Go is the one game this year that you couldn’t avoid mention of if you tried, and like every other human being on Earth, I gave it a go. While it was fun for the first few days, for me, walking around and catching Pokémon started to get dull. I did have fun while it lasted and it’s wonderful that it got me walking around a bit more in summer than I usually would have. I also took over a couple of gyms for a while despite having few powerful Pokémon (it’s part and parcel of living in a rural town, I guess).

What I like most about Pokémon Go is that it’s made it a lot easier for people to go outside, make new friends and enjoy themselves. And to the countless articles decrying people as pathetic for needing an excuse to go outside, I say sod that; many people find it difficult to work up the courage to go outside because of anxiety problems, or they simply find it boring to go for a walk, and this app has provided what a lot of those people needed – an excuse to open the door. It can only possibly be a good thing that more people are getting active thanks to Pokémon Go and I hope developers jump on the bandwagon of geo-location apps and continue to do good for people’s health in a similar way.

Pokémon Sun, 3DS

Image from ign.com

There’s a lot of Pokemon on this list, and for good reason: it’s Pokémon! When you buy a Pokémon game, you’re almost certainly guaranteed quality, and this year gave us a pair of blockbuster main series entries in Pokémon Sun and Moon. It’s another game I’ve not quite finished yet, but already it feels a lot better than X and Y in terms of story. For one, your friends aren’t made of cardboard and actually have interesting personas, and the story is so far very focused on the island challenge. That’s another plus point for me: the 8-gym system has desperately needed a shake-up for a while, and the island trials do it very well, with the Totem Pokémon being a welcome change from gym leaders.

One thing I’m not a huge fan on is the fact that wild Pokémon occasionally call for help, which is usually not a problem unless I’m trying to catch a Pokémon and it successfully calls for help about 15 times in a row. It took me 20 minutes the other day to catch a damn Caterpie. A Caterpie! And they can do it completely for free, it doesn’t even waste their turn. It’s sometimes good for grinding EXP, so there’s that I guess.

No Man’s Sky, PC

Image from pcgamer.com

Ooooohhh boy. This game sure was controversial, wasn’t it? Well, right off the bat I’m gonna go and make enemies with half of the Internet and say I actually quite liked it. If we’re objectively looking at the game and not the situation surrounding it, I can totally appreciate why the game is not for everyone. It does get boring and there really isn’t much to do, but that’s what I liked about it, crazy as it seems. In a world where every game is vying for your attention by throwing tons of flashy effects and fast-paced gameplay in your face, No Man’s Sky is instead happy to let you sit back and walk around a planet at your own place, appreciating the beautiful pastel-coloured scenery before flying into space seamlessly and visiting another planet to find huge bulks of resources, just so you can do the same thing again.

While the ending was a complete and utter disappointment, I can’t help but feel that this is a game that shouldn’t have had an ending at all. Why would that have ever been a good idea? It’s a game that, at its core, works best when there are no immediate goals or aims, because that’s what made it feel so relaxing for me. I didn’t feel pressured to get to some location in a time limit and was having the most fun when I was idly watching weird creatures run around or just taking screenshots of the breathtaking procedurally generated surroundings. This game really is a testament to the power of letting maths make your game for you.

I’ve not played the Foundation Update yet, but I hear it’s a step in the right direction and I really, really, really hope that Hello Games continue listening to fans and making an effort to communicate, because that’s part of the reason so many people felt so burned in the first place. Oh, and the soundtrack by 65daysofstatic, Music For an Infinite Universe, is amazing and you should go buy it now.

Rhythm Paradise Megamix, 3DS

Image from nintendo.co.uk

If you own a 3DS and like rhythm games, you absolutely owe it to yourself to get a copy of this game. If I were to pick my favourite game this year, I think this would be it. The minigames are so ridiculous, so Nintendo, that you can’t help but love the boundless charm of this game. Each and every game is simple at its core but some are very challenging despite the simple controls and rules. The soundtrack is excellent and it’s stuck in my head worse than Beat the Beat: Rhythm Paradise‘s was. That’s helped by the fact that Megamix is a blend of other games in the series with some original games, so every game in Beat the Beat’s library bar 5 made it into Megamix. If that’s not a selling point, I don’t know what is.

I’ve got almost every perfect on this game, the hardest of which so far have to have been the Left- and Right-Hand Remixes and Lockstep, and I’ve got real close a couple of times with Final Remix, but I don’t think I’ll ever get a perfect on Machine Remix. Fuck the part near the end with the onions.

It’s not just games

Not everything I do is to do with games. Okay, most of it is, since most of my life is playing games, computer science, or the illegitimate child of the two – game development. But more importantly, there are some achievements I made this year that I may as well stick here, since I’ve talked about basically everything else I’ve done this year. First off, I got a boyfriend! He’s called James and he’s absolutely adorable, which I keep telling him just to get a relatively blank face in return. I would put a picture of us up, but he might kill me, so no. I’m also not sure if such a picture exists, we’re both rather shy. Second of all, I’ve continued my successful academic record at uni so far and achieved a first in my second year – a slightly higher first too, up from 71% to about 74%. Since second year is weighted twice as much as first year and both those numbers were rounded, that leaves me at about 73% overall, which is fairly comfortable into a first, although I hope to do even better this year if I can.

We also finally got Nintendo Society recognised as an official Warwick SU society (or, we will be next term). For those that aren’t aware, societies are like after-school clubs basically, and there’s a lot of variety in the types of societies found at Warwick, but one that didn’t exist when I joined was one purely for Nintendo fans. So for about two years now, a few friends and I have been working hard to set the society up, and we’ve been running unofficially for about that length of time anyway, which I think may have swung the SU’s vote. We mainly play Smash 4, but there’s also a lot of Pokemon and other Nintendo games at some of our events. I’ve also unleashed Rhythm Paradise on the society and watched them crumble, although we eventually beat Remix 10 on Beat the Beat. And lately, we’ve diversified our events to include other Smash games, which I’m terrible at. I think I’ll stick to Smash 4 and just Link everyone into oblivion with my dash attacks in 8-player smash instead.

Looking to the future, 2017

Ah yes, the future. I’m not psychic, but I can at least make educated guesses at what 2017 might hold for me. Firstly, I’ll get a version of Honeycomb done. It excites me to no end thinking about how far I might get with Honeycomb, and what sort of games it might be capable of making. It’s running using the Vulkan API, which is basically OpenGL’s baby. Vulkan gives more power to the programmer, which means I’m responsible for setting almost everything up where OpenGL would’ve done stuff for me, but the end result is that games don’t need to rely on bulky graphics drivers quite as much, removing driver overhead and resulting in increased performance. Hopefully it means games developed with Honeycomb end up being fast.

Also in 2017, I hope to make more games than in 2016, since 6 isn’t very many. I’ll aim to enter as many game jams as I can and try to make something really cool over summer this year. Above all else, I hope 2017 can be a happy and successful year for you all, even if 2016 maybe wasn’t the best year for everyone.

Feeling random today, so I’m starting a new series of posts where I give examples of the code I have used in my games, written in Javascript, and for use with Unity. Today I will post some code that will run when the player falls off a level. First you need a collider of some kind placed below the level; make it wide enough so that your player always lands on it when they fall of the level, and as far down as you want (but not so far it will take ages to fall to it). Make sure the collider is a trigger, then attach to it a script containing this code:

This code basically checks if the collider falling into the trigger is tagged “Player”, and if so, it will send the message “Die” to the object, which will call the Die() function in any scripts attached to the player; this is useful for putting some respawn code in the Die() function, so the player gets respawned whenever they fall off the level. If the object isn’t tagged “Player”, then it simply gets destroyed, so enemies and scenery will just disappear rather than fall indefinitely. Just remember to tag your player as “Player”, and then you’re good to go! Also, it would help if someone could tell me why WordPress is colossally bad at letting me indent text, it was a pain to type this post, but I hope it helps anyway.

—————————————————

I’m also making progress with Project Spikes, and another update will come around pretty soon. For now, a teaser image!