15 June 2011

Minecraft

Minecraft is a simple first-person 3D game developed by Mojang, where the player is given free reign to explore a randomly-generated world comprised of blocks of terrain, rather like being immersed in a Lego world created by some isometric demiurge; there's no objective, per se, but the game is based around breaking nearby blocks in order to salvage building materials (like chopping down trees for wood blocks or mining stone for cobbled stone blocks) and collecting other useful resources (iron and gold ore can be smelted into iron blocks - which can be used for armor or stronger weapons or tools - and gold blocks - which is used in the creation of powered railway tracks and other useful objects). Through collecting, crafting and smithing, the player is given free reign to build structures such as wooden cabins, stone castles, underwater cities or aerial palaces - all of which can help keep them safe from the many monsters that roam throughout the land, especially at night, which can kill the player if they're not careful. The game is currently being distributed in a Beta version for 14.95 Euros (around £13 pounds) with continual updates every few weeks, and as of June 2011, Notch, the lead designer, reported that it had over 2.5 million purchases.

I came to Minecraft quite late, comparitively speaking. I knew a lot of people who sang its praises, saw folk playing it on their laptops during lectures, and saw posts about it all over the Internet, but for whatever reason, I didn't really explore it for a while. I knew it was about mining ("Riveting!") and there were zombies ("Innovative!) and the graphics were pixel-3D ("Aesthetically profound!"), but I dismissed it out of hand as being dull without really playing it. Shameful as it may be, it wasn't until my friend Max utterly sold me on the concept by tying it to my interests that I gave it a chance: his description of a "completely solitary survival horror" (paraphrasing) instantly flew in the face of all my preconceptions, and I immediately went to play the free Classic mode on the Minecraft website. And then I got hooked.



Lego Architect

Ironically, the mode I played doesn't even feature the survival aspect that I was lured in with: Classic is all about building things.

As a kid, I had crates full of Lego, I'd design floorplans for buildings just for fun, and I loved building "dens" and forts at the river - building things was always something that really engaged my interest. You're given infinite stacks of various types of blocks that you can find in the main game, and using these, you can build with reckless abandon. I've since found out that it's a common thread amongst players that after building simple structures - a small wooden cabin, or a wall, or a vertical mine running into the center of the earth - they progress into building up. One of the great things about Minecraft is that, unlike Lego, there's no need to worry about gravity when it comes to your creations - you can create a free-standing bridge between the peaks of the two tallest mountains in your world just by peeking over the edge of the block you're standing on and placing a block there. Similarly, there's absolutely nothing stopping you from building a glass castle that floats far above the land and colossal gold staircase that rises up to it out of the sea. In fact, there's so much scope for building architectural delights and megalithic megastructures - indeed, many people have already seized upon and realised some fantastic creations here, such as a model of the Earth, a replica of the Taj Mahal, and the Reichstag.

And that's just the beginning. Classic mode may provide you with infinite stacks of blocks, but it's still a pared down version of what Minecraft has to offer. Just as Lego includes things that aren't just simple building blocks (remember the doors and windows? The tiny bulbs with switches attached?), Minecraft has a number of non-block objects that can enrich the game - but they're only available in the Survival mode that comes with the full game.



Lego Engineer

There's a fair amount of variety to the non-block objects you can get in Survival. Some have simple and obvious functions, such as doors, ladders, and trapdoors, but others can display an emergent complexity that is awe-inspiring- a case in point being Redstone circuits, which can be used to create things as complex as 16-Bit ALU computational devices that actually function within the game itself. Add to this the other objects that can be found in the game - such as wheat and sugar cane that can be grown in crops, minecart railway systems, switches and levers that activate doors or detonators - as well as the other dynamic systems such as the flow of water, weather and so on, and the potential for complex systems in the Minecraft world becomes readily apparent.



But there's another thing that Survival mode adds to the gameplay experience - the thing that led me to trying the game in the first place, and the reason for which Survival is so named.

Lego Survivor

Monsters.

If there's a deep, dark cavern near your base, they will spawn there. If you've neglected to put a torch in one of the tunnels of your mine, that's where they'll come from. If one of the rooms in your home is poorly lit, they'll get in. And when the sun goes down, they'll be everywhere.

In Survival mode, monsters will spawn in places with little to no light - and at night-time, when there's no sunlight to keep them at bay, they will appear all over the countryside. Building a structure is only one part of Minecraft - you also have to use it to defend yourself against these monsters. Zombies walk towards you and take chunks out of you if they get close enough; skeletons fire arrows from afar; spiders drop down onto you and rip you apart; and creepers - by far the most insidious enemy - actually attempts to detonate itself if it gets to within a foot of you, potentially putting a severe dent in both your health and the blocks around it. Oftentimes, there's no indication that an enemy is nearby except for a slight audio cue, which greatly adds to the "horror" element of the game - zombies moan, skeletons rattle, spiders squeak (eurgh) and creepers stay completely silent until they get within a foot of you and make a horrifying hiss that signals the onset of the impending explosion that will take you and your building with it. It's fairly easy to build a structure that can keep the monsters out - but if you're not careful about how you build the interior of that structure, they can actually spawn within the walls of your building. Areas that are poorly lit will spawn monsters that can destroy you or your buildings, which adds a whole new factor to consider when building things like mines - where every nook and crevice should either be easily defensible or brightly lit to avoid monsters spawning there.

When you're digging your way down to the center of the earth, with only the light from a torch at the entrance to guide your way, it can be terrifically unnerving to see just the faintest sliver of movement in the darkness behind a nearby passageway, the chilling ambient echoes of a yawning crevasse below you, or the indistinct clatter of bones inside an empty room. Even though Minecraft's horror elements are not at the forefront of its marketing (or even the gameplay itself), it's still quite effective at putting you in the right mindset when you've only got three torches left and your home base is half a mile of poorly lit tunnels away.

Lego Overachiever

In addition to the gameplay, there are a number of factors about the developers themselves that make me excited about the future of the game. For example, a couple of months ago, Achievements were implemented that function similarly to the Xbox 360 feature of the same name. However, rather than have Achievements for otherwise meaningless, banal tasks such as collecting 100 of a particular item, Notch implemented Achievements that led the player into trying out things in the game that they might otherwise have not known about, such as an achievement for baking a cake, which requires finding out how to gain milk, eggs, wheat and sugar, or smelting iron, which requires constructing a furnace and finding iron ore. Notch also implemented a Stats system that measures particular data such as how many hours the player has played, the number of blocks they've created or destroyed, and so on.

As well as this, the overall commercial success of Minecraft is inspiring: despite having no publisher and only being advertised through word-of-mouth, the total sales of Minecraft's versions up to and including Beta was estimated at $33 mil in April 2011. Mojang also recieved pride of place at E3 2011, where they announced that versions of the game would be coming to the Xperia Play and Xbox 360 Arcade.

Implementing Achievements could have been seen as jumping on the bandwagon of console systems like the Xbox 360 and Playstation 3, but having a split between Stats and Achievements seems to demonstrate Notch's strong awareness of game design principles - he's not being reactionary and simply tacking features on to follow the lead of Sony and Microsoft, he's giving actual willed attention to the features that get added to the game. Not only that, but Notch's knowledge of what makes a good game comes through in every element of Minecraft to the extent that his sales are phenomenal. If Mojang maintains this awareness towards enriching the game with each feature added, we could have an even more dynamic and evolved gameplay experience when the full game is released.

Lego Pioneer





This review only concentrates on the stuff I have first-hand experience with - there's still so much to discover about the game, such Multiplayer mode and being able to customise the game through Texture Packs and Mods. Minecraft is still technically in Beta, and what you pay for is what you get - an unfinished game. Notch has claimed that the full version will be released on 11/11/11, and will be being updated continually as long as there is a large userbase for it. But even in its unfinished state, it's well worth the £13-ish it sells for, and it's so compelling and addictive as it is right now that it's hard to imagine how immense and exciting the final product will be.

12 June 2011

[myGameDev] Caledonian Summer Game Jam 2011


Over the past few days I've been taking part in a week-long Game Jam, where the goal is to make a game in just five days, organised by the course instructors. This is a small chronicle of what that week was like, and what I think I got out of taking part. If you'd like to download our game, The Rapture, unzip the file here and run the .exe (works best on 800x600 resolution). Comments are very welcome!





Day One - Inception & Design

The first day of the Game Jam involved a good number of students from each year of the course coming in to form teams and begin planning their game. As there were only a handful of first years, most of whom were all friends anyway, myself and the other first years decided we'd band together and make a somewhat large seven-person team: me, Chelsea, Leanne, Suneil, Robert, Reiss, and Alisdair. We were then given a theme which we could build our game concept around - "frenemies: friends and enemies" (though we did not necessarily need to stick to it if we had a game we really wanted to pursue). We were then given a half-hour to generate ideas: Chelsea had come up with the idea of a game where the player plays as God during the Rapture, taking Saints and Sinners from Earth and placing them either in Heaven or Hell, and we happily settled on that idea.


Most of the day revolved around some administration and then designing the game. We made a schedule so that everyone could indicate times during the week where they wouldn't be able to work on the game, as well as setting up an online group for us to contact each other, a shared Dropbox folder where we could pass around our work and share it between home computers and the games lab on campus, and a group blog where we could journal how the game was going. Other teams set up their own blogs too, a list of which can be found on Brian's first entry on the Game Jam here. We also decided on a name for our team - which was "Bodily Harm" until we realised we might get some really weird followers on our blog, until we settled on "Team Nyan", in reference to one of the greatest Internet memes of all time, and a name for our game: "The Rapture." Clear, concise and catchy.

We settled down in the university's social area and threw ideas around, discussed and debated particular methods of gameplay and after a couple of hours decided upon the core mechanics of our game: the player uses the mouse to click on sprites of saints and sinners who are randomly spawn and wander about on the game screen - clicking on them takes them off the screen and sends them to Heaven or Hell, depending on what mode the player is currently in. Sending Saints to Heaven and Sinners to Hell nets you points, but putting Saints in Hell or Sinners in Heaven makes you lose points, and as the levels of The Rapture progress, it becomes more difficult to accurately click on the Saints and Sinners as they mill about faster, or their sprites become smaller, and so on. Players win each level by sorting all of the saints and sinners, gaining points for whether they are in the right place, and advance to the next level; they lose if they are too slow with sorting the souls into the right place and the screen becomes overpopulated. As the game goes on, the player gets access to special effects in the form of "Miracles" which clear the screen of a certain type of soul, or entirely. After this, we made a list of the daily goals we'd have to reach over the course of the week:

  1. Designing the Game
  1. Building a Prototype
  1. Building the 1st Iteration
  1. Testing/ Building the Second Iteration
  1. Testing/Finishing the Game.

Lastly, with our game pencilled out, we went to the games lab, sorted ourselves into roles, and began work. Chelsea and myself worked on game art assets, Suneil and Leanne were in charge of audio, music, and updating the blog, and Reiss, Robert and Alisdair were programming the game itself. Before 5pm, we had already reached the first milestone we had set for ourselves (which was simply to design the game), and had gotten an early start on the next.

Day Two - Prototype

For all of Tuesday, the group worked towards building a prototype for The Rapture. For me, this meant designing the Graphic User Interface (GUI) for the game. To quote what I wrote over on my first post on my team's Game Jam blog:

The Graphic User Interface may not be the first thing that comes to mind when one has to think of what makes a great game - but it can certainly contribute to making a bad game if it's implemented inefficiently. The GUI is what seperates the player from the game itself, and as such it acts as an translator or intermediary: or, in keeping with our theme, an intercessor, allowing for a communication between the player and game. The player must be provided some means of providing an input to the game, and also to have a way to have information output back to them. In terms of our game, our input is mouse-clicks (to select souls to send to Heaven or Hell) and pressing the spacebar (to switch between Heaven Mode and Hell Mode, allowing the player to choose where to send them); our output is the game screen itself (of course), as well as the quantity and type (Saint or Sinner) of souls in Heaven and Hell, the player's score, and whether or not they're in Heaven Mode or Hell Mode. Feedback is pivotal in a user interface, not only in terms of the information about the game session regarding score, time remaining or similar, but also in the way the player manipulates the user interface: if a buttonpress does not come with some kind of feedback, the player will be at a loss to determine if the game actually received the buttonpress - this can be easily rectified by playing an appropriate sound (aural feedback), animation (visual feedback) or physical sensation like vibration (haptic feedback) when the button is pressed. All of these things must be represented in a user interface to make sure the player has the most rewarding experience possible when interacting with the game. Phew.

Day Three - Iteration 1

Day three was more GUI designs: I designed the GUI for the levels themselves, as well as for the menu system.


Day Four - Iteration 2

Day four was yet more GUI work, this time tweaking the numbers for GUI elements' dimensions and co-ordinates just to make the overall layout look more professional.

Day Five - Final Product

The final day went by pretty quickly, helped in part by the fact that we had met most of our milestones during the week. I was half-expecting that by Friday we'd be trying to catch up with the goals we had set, but in fact we'd managed to keep ahead all the way throughout the project, which was amazing. We lagged a bit towards the end of the day - partially 'cause we had finished everything we needed to, and partially because we had a mini group party near the end of the day for one of our team-members, Leanne, who had had a birthday recently. There was cake, irn-bru and pringles involved - afterwards, everyone was too full of deliciousness to feel up to tinkering with the game any further (except Suneil, who spent a while working on an ark with animals inside for the Flood animation).

Overall

In summary, I can honestly say without a hint of hesitation that the game jam was not only enjoyable, it was entirely successful too. It was amazing working in a team that didn't flag behind as the days went on, and who were all motivated to making the game the best they could -- part of that was because we had all opted into the Game Jam and sacrificed our own time for it, so the only people there were folk who really wanted to get something done, and I think it really showed.

I learned a fair bit about working in a team - especially since I was working alongside people I hadn't worked with before - and about Unity and Photoshop, as there were various tips and tricks I picked up just from having been experimenting with new ways to get particular tasks finished.

I also learned that I really need to brush up on my visual design skills - the GUI of The Rapture was good in some places, but I found it very finicky designing an interface that would look good in all resolutions; as well as that, while I feel that a number of the textures and icons I designed were good on their own, when they were combined, the overall theme lacked a sense of visual coherence and synergy, and due to the underuse of borders on my part, often looked somewhat unprofessional.

All in all, though, it was a great experience, and were it not for the fact that I'm utterly exhausted, I would take part next week, too - though I am definitely taking part in the Global Game Jam next Winter. So, without further ado, I think I'll get some well-deserved rest. Goodnight!