Jump to content

Scripting The Walls In Legend Of Grimrock

  • Please log in to reply
1 reply to this topic

#1 IMG News

IMG News

    Pimpbot 4000

  • IMG Writers
  • 8622 posts
  • Pro Member:Yes

Posted 04 February 2013 - 03:05 AM

In a new forum posting Almost Human has revealed some information about features planned for an as yet unannounced “new Grimrock project.” Legend of Grimrock is an old school RPG dungeon crawler which puts players in the role of a prisoner exiled to Mount Grimrock. To escape they must form a party and make their way through Grimrock's ancient tunnels and dungeons.

Up to now mostly everything in the dungeon has been scriptable. This means that we (and modders) can spawn and destroy alcoves, pressure plates, monsters, items and so on at will. This has proven to be tremendously useful. But one thing has been lacking: the dungeon walls themselves have been living outside the realm of scripting. In fact, for performance reasons they were originally implemented as a special case making them completely static. So, for example, spawning an alcove on top of a wall results in the alcove overlapping with the wall since the wall and alcove share the same space.

We thought about various ways to workaround this problem, but quickly we realised that fixing this problem once and for all means that we should have access to the walls from script and being able to dynamically destroy them. And this is exactly what I have been working on this week. Now everything, including the walls, floors, ceilings and pillars are fully scriptable entities. It is now possible to retrieve the wall entity from the dungeon and call methods such as “destroy” on it. In fact, spawning an alcove now takes care of destroying the wall automatically, so we (or modders) don’t even need to bother with deleting it using script. Likewise, spawning a wall on top of an alcove destroys the alcove automatically. This works for pressure plates and everything else that should replace the existing object automatically. (In modding terms: this works because the alcove and wall entities have the “replacesWall” property set and alcoves and walls have both wall placement.)

We have also added all walls, floors and ceilings to the editor as placeable entities. This way it is very easy to mix and match different wallsets. Another improvement is the addition of onInit hooks to all entities. The hook is called when the map has been loaded and it allows customizing the dungeon geometry easily. For example, we wanted to have huge chasms that span multiple squares with custom objects that are placed at the boundary of the chasm. Placing the objects manually by hand is tedious work so we added a small piece of script that automatically adds them.

Head over to the page below to learn more about further development of Legend of Grimrock.
Return to Full Article - InsideMacGames News

#2 the Battle Cat

the Battle Cat

    Carnage Served Raw

  • Admin
  • 17567 posts
  • Location:Citadel City, Lh'owon
  • Pro Member:Yes

Posted 04 February 2013 - 07:10 AM

Back in the old days ::aims something dark into spittoon:: we used to use 5D space.  Kids these days.
Gary Simmons
the Battle Cat