Wednesday, 6 April 2011

Unity Tools - Movement

Starting in Unity my first job was to just basically get an object running left and right on a flat surface. Using a very basic blocky placeholder of a chameleon, I imported it into unity and tried to find a script that would allow it to move left and right on the X and Y axis.  As Ecotone is a 2D platformer/puzzle all movement/values in the Z axis will have to restricted and set at 0.

Using the ‘Platformer Controller Script’ I used in the ‘Unity 2D Gameplay Tutorial’ some time ago, I imported the script into my project to use in my prototype. The Platformer Controller Script allows an object to respond to keyboard input, including moving left and right with arrow keys, jumping with space bar and running by holding the alt key whilst moving. The variables speed, gravity etc can be adjusted in the script settings.


The first obstacle I encountered was for some reason the character wasn’t sitting on the plane. It would hover slightly above the ground and run left and right in mid-air. At first I thought it might be something up with the model but then I remembered in the tutorials that the character controller works with a Capsule Collider which is a capsule around the object which determines how it interacts with the rest of the world. The Capsule Collider my object went way below the actual model (See image above) so all I had to do with scale the Collider to fit inside the model correctly.

Monday, 28 March 2011

Ecotone Design Pitch

Ecotone (formerly called Camoleon) was very thrown together project towards the end of Semester 1. I had taken more focus on the other two projects which unfortunately left to this one being neglected compared to the other two. The end result was two very quick Initial Pitch boards with a quick overview of the game and one page of a quickly done level design.
Despite the half arsed-ness of it, our M.A. Tutor Josh said Camoleon was his favourite of all three projects. So the project I spent the least amount of time and effort on got the best marks, try making sense of that if you will. 

Maybe there are subconsciously some reptile-esque influences in the world right now but since I came up with this idea several chameleon characters have started popping up in films. Specifically Disney’s Tangled and Rango, so it seems now my MA show will be under fire from the inevitable ‘You ripped off Rango/Tangled!’ With competitors like that it’s really tempting to just scrap the idea concept and start something fresh but I know whatever I come up with will have some smug pretentious geek chuckle to himself cause he’s seen it somewhere before. 

So my real challenge is ‘man-ing up’ and just going with the concept I have, and try to inject some originality into the important areas. In my spare time I've been reading a couple of Game Design related books I bought off Amazon.co.uk and one in particular is actually brilliant containing almost our entire degree in around 500 pages.

So my current goals for this project are developing some sort of visual design document, whether that's a pitch/GDD/level document or whatever and hopefully, a very basic prototype to demonstrate the game in action.

Ecotone Mechanic Functions + Flashbang Science Internship

As mentioned last semester, myself and another M.A Student Daniel Startin have been in an internship with a company called Flashbang Science for some time now. Our role in the company has been to transform their site to have more interactive elements which will draw children age 6-11 to the website. This included designing character mascots for the company (Flash the Bunsen Burner and Bang the Beaker) which can now be seen on the company website and on their portable trailer they use for science sessions.
 
On top of that, we have been in charge with all the design for the ‘Fun Stuff’ section of the website, working on puzzles, quizzes and flash games. Our current project is ‘Flashbang Tubes’ a pipe mixing game which will be the first of several games to hit the website next month (fingers crossed). The company also has intentions of developing iPod versions of all the games.

Besides that, our Friday morning lectures have started up again and this semester we have to attend them all because nearly half of the DE4201 module is an essay reviewing the lectures! I can’t be the only one in thinking this essay was made literally just to force students to attend those lectures. Thankfully the first lecture with Lightning Designer Claire Norcross wasn’t a mind numbing boring as the previous semester’s lectures had been. With lighting been such a significant element in creating atmosphere and mood in games, I would have appreciated some more relevant lightning techniques as opposed to lightning product designs.

Regarding the Ecotone prototype I’ve managed to create a list of all the mechanics/scripts I’ll need to hunt down/write for the very basic structure of the demo.

- A camera to follow the main character from left to right.
- A player controller so the player can move left or right.
- A normal jump and double jump.
- A collision detection so the player can jump off walls or surfaces.
- A player start for the character to spawn.
- Death Zones
- Checkpoints
- Pushing or Pulling Objects (Rigid Bodies)
- Grabbing and clinging to objects.
- Climbing on walls/ceilings
- Camo changes texture on trigger surfaces
- Material mechanics on specific textures change the physics of the game

The ones in bold are the ones I imagine will be the trickiest to find/write as they are very specific to my game concept whereas most of the others have more than likely be used in other projects and can be found in the Unity wiki.

Epic Backlogging

My main objective this semester is to develop one of my game concepts from last semester, the chameleon texture/property blending game. My goal is to create some kind of basic working prototype using a game engine (likely Unity 3D). Having little to no prior knowledge of using Unity 3D before the majority of this semester will probably be practising and learning how the engine works. Besides that alot of reworking and details will need to be worked out including level designs, all the scripts and animations I’ll need, the mood and atmosphere I want to set for the game and obviously some visual design documents to accompany the prototype. It’s taunting because this project is really jumping in feet first, I have no idea how doable or difficult any of the above tasks will be. I have a feeling at some point I’ll need to scrap alot of my initial concepts.
Camoleon (now titled Ecotone) first needs its main character. The protagonist is the character which will incorporate everything about the game; the player should be able to tell what it’s capable of just by looking at it on paper. However, there’s a surprisingly amount of diversity in Chameleon’s as shown.

Picking the appropriate type of chameleon isn’t as simple as just picking a style I like, there a several important factors that will affect the style I go with. The first is my own limitation, there’s no point me trying in doing some amazing Pixar-esque cartoon chameleon with lip syncing. The second limitation is what mood/atmosphere I want to create in my game. If it’s a stylized cartoon world, full of colour and just a light hearted platformer or whether I want to appeal to a different audience. On top of that, I have little experience (or patience) for modelling software so unless I plan on commissioning someone else to model for me, it’s gonna have to be a very simple design.

The early sketches (above) show some of the working outs with the shape and position of the joints. I wanted the Chameleon to be somewhere in between cartoon and realist, but one of the important elements I want to get across is making him appear vulnerable and physically weak. My plan at the moment is for there to be no enemies in the prototype instead the enemy/obstacles are the environments and nature itself. The chameleon should feel weak and insignificant in the scale of the world so it’s important he doesn’t look or come across as tough or brave but instead frail and scared.

One the trickiest task’s I see ahead of me is deciding whether the chameleon is going to run on two or four legs. For simplicity sakes I imagine two legs would be easier to animate, but the chameleon will need to use all four legs when climbing anyway so maybe not. My MA tutor Josh suggested it could stand on four legs but run on two legs as it picks up speed which is a good idea, but it might be harder than it sounds.

Tuesday, 25 January 2011

Unreal Engine + Unity 3D

After doing some research on both Unreal Engine 3 and Unity 3D I spent a day on each following tutorials and getting an idea for the tools and components each engine offered. The Unity 3D tutorial I followed was a step by step guide on how to create a simple 2D platformer using the assets and scripts provided by the tutorial.


Unity 3D Tutorial:The first thing I noticed about Unity that triggered alarm bells in my head was it's heavy reliance of scripting. Unity works with components which consistent of small Javascripts which tell the engine what to do and where to do it. After initially getting the hang of the scripts Unity's GUI is actually really user friendly and pretty simple to understand, it uses most of the same features as the Unreal Engine including lightening, built in physics, geometry building etc. Looking at the long long list of tutorials this engine seems really deep and powerful, almost overwhelming. The tutorial I finished (above) gives you a run down on how to make the game run on a 2D plane (basically just ignore the Z axis) and how to add scripts to GameObjects to make them react in an appropriate manner.

For anybody interested the tutorial can be found here: http://unity3d.com/support/resources/tutorials/2d-gameplay-tutorial.html

Unreal Engine 3 Tutorial:This tutorial was featured in the Mastering Unreal Technology guide book I recently ordered. It's basically a 'crash-course' on the main tools in Unreal. Including applying physics to game objects, particle effects, Kismet, texturing etc. This tutorial was more in depth and covered a broader range of areas in Unreal than Unity.

Semester Two Direction

Semester one concluded with my project of three separate documents containing detailed level designs for three different game genres. They included an action/adventure (God of War), an action/adventure (Legend of Zelda) and an unique concept themed around stealth and platforming (Camoleon). Starting the new semester, I need to decide on a direction to take my MA in. I am confident in my design abilities but my ideas are worthless unless I can prove they work and more importantly, are as fun in reality as they are in my head. For that end, I feel the focus on Semester Two should be finding a way to take my designs off the paper and into reality.
There are several options open to me, modelling software or game engines. To be honest I’ve always been intimidated by modelling/game engine software. I don’t like not having full control over my work and a machine often decides to ignore what you tell it and deletes things spontaneously. On top of that I don't have much patiences for computers, at least with my design work I know Photoshop will work if I want it to. Our tutor seemed to heavily push a game engine called 'Unity 3D' on a few of us. At the same time I have recently begun looking into the 'Unreal 3 Engine'. It feels like a bad idea to learn two complicated game engines at once, so I'm going have to make a decision on one of these engines soon.

I think it's important to consider my 'post degree' career, which of these engines is going to be more useful in getting me a job? From that perspective Unreal seems more logically, lots of the game developers are using the Unreal Engine to develop their games these days so it would be a useful skill to add to my CV. On the other hand Unity seems more 'indie' friendly and apparently offers alot more flexibility and creativity than Unreal.

I’ve always admired independent games but I can’t say I’ve ever really been into them that much, the aspect of video games that’s always appealed to me is being able to interactive with fictional worlds. Games have the potential to be one of the most powerful narrative mediums when they get it right. Sadly they rarely do, most titles are plagued with abysmal dialogue, zero atmosphere and clichés so overused it would make Michael Bay cry.

Developers still don’t appreciate the unique storytelling tools that this medium has and continuously ‘borrows’ from filmmaking (very often doing a poor job at that). Millions and millions of dollars pour into AAA titles, so why are so many games failing in this subject? 
It’s been really inspiring to see indie developers getting stuff right that big developers aren't. In a Semester One blog I mentioned what a great job Limbo (PlayDead Studio) did at creating such a strong moody atmosphere. Likewise, Amnesia (Frictional Games), is one of few genuinely terrifying games on the market. Amnesia has probably done more to evolve the horror-survival genre than any other big AAA game has done since Silent Hill 2. On top of that the innovation in the indie markets even the itunes charts is significantly more impressive than most best selling console games.

So whether to focus on a engine that the big developers use...or the small ones. I think the next step to take is to try both and see which I get along with best.