A change of scenery

CN Tower in Toronto, photographed when I was arriving for the first time.

CN Tower in Toronto, photographed when I was arriving for the first time.

Much has happened since I last updated this blog. When I last posted I had just become Lead Scripter at Lionhead working in Fable the Journey and we went through the Creative Day.

Professionally 2011 had its ups and downs, but  was hanging in there, having my own ups and downs with it, I was a bit unhappy with the way things were panning out, but as in with any place you work, nothing is perfect, and the more you stay there, the more the little things that annoy you become more noticeable

I tend to think that anyone has a honeymoon period with their new work environment of about one year. The second year is when you start noticing the problems and getting annoyed with them, and the third year is when you decide to do things to try to solve those problems. Sometimes you succeed, sometimes you don’t. But you must keep pushing.

It’s at this point as well that you need to evaluate if it isn’t time to look for something else out there. I was halfway through of a project during the three year mark and I decided to see it through.

That was when I was promoted to Lead Scripter, and that bought me another year, which ultimately brought me to a near five year period at Lionhead. The longest I have stayed with a company.

I had a great time, grown a lot and made good friends in the process. I left in good terms, after being offered and amazing opportunity in Toronto, Canada.

So here I am now. Typing this as I anxiously await for Monday to come so I can start on my new role.

Creative Day

Today was Lionhead’s first Creative Day. A day put aside for people to showcase their creativity, mostly resulting from work done in 2 preparation days that were awarded by Lionhead to the Team. So everyone would be able to work on their own ideas, and still make their wages . Absolutely brilliant!

People could apply their skills in any way they saw fit. Which obviously meant that everyone came up, mostly, little game ideas.

There was some AMAZING stuff, a lot of it on Kinect, how cool is THAT! And the whole feel of it was just incredible.

Imagine when you get a studio with 150 +creative minds working on 25+ different projects! It’s just amazing!

I’m not talking about the individual projects, not even mine, but I am sure that some of them will surface at some point (There was press in the room! Very Exciting).

Here’s to an incredibly exciting event, and hoping that Lionhead turns this into an yearly event!

I am an ignorant n00b

Ever so often I come to the realization that I don’t know a lot, and there is an insurmountable amount of knowledge to be acquired out there. The internet makes the access to any information you want or need quickly available, given that you do know how to look for it. And that quick access sometimes can give me the illusion that I know a lot, but that is a lie I try to reassure myself with.

The fact is that this access to information explodes in my face every day. I quickly learn how to do something as and when I need it, and I forget it just as quickly, because the knowledge never made into the long term memory bits of my brain – I read an article about that, but I don’t even remember where (though I can probably find it if I Google it), see.. – When I come to need that information again, and try to scrounge the deep recesses of my memory, I find nothing. Why? Because the damn thing never made there.

This makes me feel as though I am an ignorant n00b at anything I do. I learn fast, well, perhaps I should use some other word rather than learn because that would imply that the knowledge stays with me. Let’s say I can become proficient at something really quickly, but that knowledge more often than not, just vanishes in the haze new information I’m gathering every day.

I was born just before the dawn of the Copy/Paste Generation. So I did still learn several subjects through constant repetitive study, exams, exercises, and so on and yet I have absorbed every single bad habit that comes with the ability of quickly replicating something you found on the internet, be that code, mathematical equations, Photoshop techniques, citations, you name it. I have copied them all. It’s all too easy.

Ask me what is the equation to convert a Vector into a Radians. I can’t tell you that, but I have needed and used that information more than a couple of times in the the past year. Why don’t I learn it once and for all… because the quick answer is there, I just Google it.

Photosynth

 

Incredibly easy to build it with Microsoft ICE and Photosynth

Weekend Advances

I have advanced quite a bit today, as I said I needed to re-factor my physics class, which I did very successfully.

I did learn something pretty cool today. How to properly create constructors for Child Classes.

something along the lines of

public class Parent
{
	public 	Parent(int age)
	{
	// do things with the stuff
	}

}

public class Child : Parent
{
	public Child(string name, age)
		: base(age)
	{
	// do things with the stuff
	}

}

Overloading Constructors is also cool.

Unsafe!

I was trying to create a constructor with an undefined number of parameters, because my PhysicsDynamicClass parameter list was looking like it was becoming unwieldy.

Well, turns out you can do something like this with C# using the params keyword. Excellent I thought and off I went to write the constructor.

I started by converting my PhysicsSimpleConstructor with just two parameters. And this is how it looked like

public CPhysicsSimple(params object[] list)
{
	Position = (Vector2)list[0];
	Rotation = (float)list[1];
}

So I build it, compiled it, and I was hoping that it would be awesome. But I ran into a stupid problem, the way I pass the paramenter when using the constructor.

CPhysicsDynamic physicsComponent = new CPhyisicsDynamic(new Vector2(10,10), 0);

looks fine right? but at runtime C# reads reads the second parameter I passed to the constructor as an integer, and when I do the Casting from object{int} to float (see line three of the first code snippet), C# just can’t do it. WTF?

Which means I need to remember to do this:

CPhysicsDynamic physicsComponent = new CPhyisicsDynamic(new Vector2(10,10), 0f);

And then everything works fine. See the difference? No? Look Harder! Yes that little “f” there After all my parameters and all of the sudden my code became unsafe.

Back to the drawing board.

[UPDATE]

I found a solution for the casting problem. I can use:

Convert.ToSingle(list[1]);

and that will work. That does not make the Constructor less dangerous though.

Free Open Source Pipeline

I’m trying to create a free open source Pipeline just so I can advice new starters to get up and running to a nearly professional standard with no money.

Inkscape seems to have been successful in the Vector Graphic Area.

This is a doodle I made in very little time. Don’t mind the actual quality of the drawing skills, I just wanted to knock something up very quickly to test the drawing. It works.

Wall-E vs Zax

Wall-E vs Zax

For imaging I compromised with Photoshop Elements which is already immensely better than anything else I tested. Paint.Net, Gimp, Picasa. Photoshop LE comes free with some cameras, and it’s £77 on the Adobe Store. You can pick it up on Ebay for half of that. Worth every penny methinks.

Story Telling vs Game Playing

I just read an article by David Braben on the Develop Magazine. Kudos to the Magazine to get an industry’s veteran on board. I’m sure Braben has a lot to teach us all.

His first article is called ” What’s the Story?” which is a reference to pitch sessions when you present to your publisher what your game is going to be. In the article he approaches the current state of storytelling in games. I agree with most of what Braben said. But mainly the finishing sentence of the article. “Let’s do our best to avoid having ’story’ games or ‘gameplay’ games almost as different genres” .

Let me start by adding here a bit of evidence.

Story Telling vs Game Playing

Story Telling vs Game Playing

This picture was taken from one of the white walls in the meeting rooms of the Fable development floor, and pretty much sums up my feelings of what the current state of interactive narratives is in; A constant battle between Gameplay and Interactivity. Even in games like the Fable* series that rely heavily on story, as RPGs usually do, there is still this uncertainty about how to sew gameplay and storytelling together. Thus we end up with a patch work of voice overs, in-game “interactive” cutscenes, in-game “non-interactive cutscenes”  and FMVs. It’s an everyday effort to fit all of this together as seamlessly as possible.

Half-life, and specially Half-Life 2, made the whole “interactive cutscene” work very well, though they did have the first person paradigm on their side, which immediately places the player in the “head” of the main character, in this case Gordon Freeman who is undeniably a blank slate. It was a brilliant first stab at a truly interactive narrative albeit linear. But the industry as a whole has evolved very little since then. Fable II tried the “Gordon Freeman” approach with it’s hero, with an added layer of flexibility so the player could “paint” the character the way they wanted, and it certainly added a layer of fun to the process, but the third person does not enjoy of the same immediate identification that first person does, creating a bigger challenge when it comes to trying to create drama; specially because the player has the control of not only the camera, but the protagonist as well.

On Fable II we tried very hard to steer away of non-interactive cutscenes, but there were points where we simply had to trap the player and take his control to be able to convey some important information or a more dramatic piece of the story. We did our best to justify all those moments, but we are still left with an overall feeling that we are trying to trick the player into believing on the interactivity. There is an excellent virtual shackles comic that illustrates somewhat I am talking about, If you haven’t played Fable II and are planning to, you might want to avoid clicking the link below, as it contains a key moment of Fable II’s story: The Power of Cutscenes

The main problem I witness every day is the fact that story design and gameplay design are two processes that are incredibly disconnected, yet intrinsically interdependent. The fact that the game playing and interaction paradigms are not taken into account when the story and dialogue are written leaves us with sometimes unwieldy large sessions of story exposition, where the player has just to sit there and watch. On Fable II the decision to eliminate cutscenes and allow the player to still have control of the character and camera at virtually all times backfired a bit, because although the player had the control, there was little or nothing to do other than sit and listen, which added an extra level of frustration, and a lot of negative reaction even from people from the team, who understandably begged for the return of normal cutscenes. It’s like we waved the key to the ultimate release from cutscenes in front of the player, but never actually handed them.

Personally, the most successful interactive cutscene on Fable II, wasn’t even classed as an important interactive cutscene  and it wasn’t even done by the interactive cutscene team. The scene I’m referring to, *SPOILER ALERT*, happens after the hero is shot down by Lucien and wakes up as a child. The whole section after waking up, and leaving that dream world, plays as a very well executed interactive cutscene, you can barely distinguish gameplay moments from the story. Your sister Rose is always with you, talking with you, hinting at what to do, and once you decide to leave the dream and she screams at you not to, that, to me,  was the single most impactful dramatic sequence of Fable II. Everything connected seamlessly, there was no sitting and waiting for anything to happen in front of you, and all the narrative just happened in consequence of your actions. Genius, and yet, inexpensive.

If we want gameplay and story to go hand in hand, we need to start thinking about them not as separate pieces, but as one single entity. Much the way we accidentally did with that session of Fable II.

*Before anyone asks, I will refrain from talking about anything related to the development of Fable III, as the game isn’t out yet, but I can shed some light with some of the process we had on Fable II.

WordPress Now!

Right. This is a transitional period, so everything is blue as you see.

Blogger gave me a long run, but it’s now time to part with it since it won’t support FTP publishing anymore. So I have decided to move into a fully installed tool in my website. The tool of choice was now WordPress because it was free, and compatible with my hosting plan.

Hopefully it has enough customization possibilities so I can give it the look I want. Well Path Constraint has a long overdue makeover anyway.

Here’s to new and exciting times.

Forza!!!

Well it’s 17:13 on a Friday, I am waiting for the new version of the Editor to load, compiling the game and building assets at the same time so I can start Monday with a fresh build!

So here is something I did this yesterday morning, It took me about an hour on the Forza Vinyl Group Editor, and 112 Shapes.

Now I have a more complete version up on the Store Front, just look for Lionhead.

Lionhead

Lionhead2

Lionhead3

WordPress Themes