Friday, November 06, 2009

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

Saturday, September 05, 2009

A long needed post about Lua

lua_logo

Lua is a scripting language created in Brazil, more specifically in the (Pontifícia Universidaded Católica do Rio, PUC-RIO).

Quoting their own website: “Lua is a powerful, fast, lightweight, embeddable scripting language.” Which is pretty accurate in my opinion, and probably in the opinion of everyone that works with it in a daily basis.

More importantly though, is that Lua is widely used as a scripting language in games. A lot of major companies use it, and a lot of well known games have published games using LUA. I worked in Fable 2 which is one of them, and I carry on working with it in Fable 3.

Two very important features of Lua in my opinion are the flexible variables, a Lua variable can take anything, integers, floats, strings, tables, enums, and their type can change on the fly so

if a == 1 then
a = ”I changed the variable to contain this string”
end

is perfectly valid.

The other one, and probably the most important feature of Lua are tables. Tables are a way of storing data, much like an Array, but a lot more powerful.

Tables are a sequence of Lua variables, so each entry of the table can contain a different type, and even other tables. And this is just amazing. After you used Lua tables you start wondering why the hell no other language has a feature like this.

I use C# for my XNA personal projects, and I was thinking about implementing a Lua style tables into it just because I miss it so much when I’m using C#.

Of course, these are just a couple of cool things about Lua, there are a ton more.

You can Download Lua here.

Tuesday, July 21, 2009

New Project and doh!

I should be ashamed of myself. I have gone and shelved my last project, yes the space one I was so excited about. But I did it in favour of a much simpler and feasible one and I intend going back to it at a later date.

So my new project is 2D, and is coming along nicely. The last thing I did was plugging in the Farseer Physics Engine to it.

I was thinking about writing my own physics library but then I'd be left with a complexity that I'm not really too concerned about. I took a look at the Farseer Demoes and it looks like it does pretty much I need it to do, and it has nice debug viewing library that it come in handing when trying to figure out what is going one.

I plugged in the Body and Geom in my entities, and a PhysicsSimulator, and shazam, they JustWorked™. But something was wrong, my two entities were not coliding.

After some debugging and deep thought at 8:30 in the morning, I scream DOH! (I have created a new PhysicsSimulator for each entity so they were totally unaware of each other), that's when my wife kicked me off the room saying: "I'm trying to write here!"

She is working on her PhD thesis.

Monday, June 01, 2009

Watch our announcements LIVE

Friday, May 29, 2009

Geek Chart

I just added it to the blog. It is supposed to track my geeky activity and show the world how much of a geek I am, and how much time I spend with Internet Novelties. Just signed up for stumble upon just so the chart would be complete. What a total dork.

It’s AAAliveeee!!!…. well sort of.

Yesterday evening I began to inject some life into my entities by coding the Behaviour Class that goes inside the CSimpleAI Component, my first AI component in the game, which, at least for now, is the very basic Brain of my entities. The cool thing being obviously, that not every entity has a that component.

This morning I finished coding the very basic first behaviour to make into the game. BehaviourGoToPosition, which takes an entity, a Vector in the 3D space(target_position), and a speed value. The AI component takes care of passing the parent entity that it belongs to on the the Behaviour it currently has, and the values I passed as the target_position, and speed where totally hardcoded and arbitrary… calm down there! I’m just kick starting the whole thing.

A added this behaviour to the component as the initial Behaviour and voilà!!!

The entity quickly went where it should be going! OH! The joy of creating “life”!

Monday, May 25, 2009

Progress at last

It’s bank holiday Monday so instead of slacking and playing games all day long I played a bit in the morning then had to drag myself to the front of the computer to tackle the problem I have been long stuck on.

I had no idea how to reference the parent Entity inside the components. It was pretty simple really.

All I had to do was to add a function to my IComponent interface (and implement them in the Components).

EntityBase GetParentEntity()
void SetParentEntity(Entitybase entity).

Now when I add the component that I read from the Data I have in the XML file, I also add a reference to the parent entity.

component.SetParentEntity(this)

it was very simple and it was right in front of me all along, but it took a long thread from people from work to get the idea right in my head.

Now on to implementing SimpleAI. Now we are moving into more complex stuff.

Thursday, May 07, 2009

A blog by email test

A bit of my desk...
My Photo
Name: Hulshof
Location: Guildford, Surrey, United Kingdom

Gameplay and Cutscene Scripter At Lionhead Studios. Also 2D/3D Artist, Writer/Blogger, XNA enthusiast, and Videogame addict in my spare time.

Powered by Blogger

Atom RSS feed Follow me on Twitter Facebook
Delicious LinkedIn Last.fm
Last.fm Last.fm StumbleUpon
YouTube