[ASSET] (Released) Particles and alternative teleporters

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
User avatar
LordYig
Posts: 175
Joined: Wed Jul 04, 2012 5:45 pm

[ASSET] (Released) Particles and alternative teleporters

Post by LordYig »

I have a played a bit with the particle system and I have decided to create some simple particles texture files with a set of basic colors to see what can be done.
I managed to create alternative teleporter effects, and with a bit of scripting and some invisible floor plates, the default and harcoded screen effect shown after the teleportation can be replaced as well.

In all I have 18 particle textures, each available in white, red, blue, green, yellow, purple and cyan.
That makes 126 new particles texturtes useable in ParticleSystem objects.

Here is an exemple of the available particles, with six colors shown, missing only the white/grey ones in the picture.

Image

Below are exemples teleporters using some of the new particle effect, the fog is the default texture of the game, i just added the color in the ParticleSystem object.
(The shots have been taken in the editor with a torch in hand. No other source of lights were available, the teleporter lightsource has been turned off.)

Yellow | White | Red| Purple | Green | Cyan | Blue Teleporter
SpoilerShow
Image Image Image Image Image Image Image
Post Update and Realease : 11/05/2012

I have uploaded the files at the grimrock.nexusmods.com site.

You can find the asset archive here : The Asset at grimrock.nexusmods.com

Here are some instructions that are taken from the readme file :

Install Files as follow
SpoilerShow
  1. Copy the "mod_assets" folder from the archive in your dungeon's directory
    found in Documents\Almost Human\Legend of Grimrock\Dungeons\ >your dungeon's name< \
    and merge the folder with the already existing "mod_assets" folder.
  2. Open the mod_assets\scripts folder and you'll find a file named "objects.lua".
  3. Open this file with a text editor, such as notepad, and add the following to the end of the file :
    import "mod_assets/scripts/particles_and_teleporters.lua"
  4. Open >your Dungeon< in the Legend of Grimrock Dungeon Editor
Example Teleporters Usage
SpoilerShow
To use the custom teleporter provided a few configuration steps are mandatory in order to avoid unwanted glitch occuring because of hardcoded elements in the game.

When placing a custom teleporter, it is strongly advised to uncheck the following options on each custom teleporter object using one of the custom particle system provided by this pack.
  • Emit Light : Unchecked
  • Flash Screen : Unchecked
Since the default "Flash Screen" is desactivated, here is a workaround allowing a new custom flash screen effect to played on the player screen upon when a teleportation occurs.

First in order for the following workaround to work it is advised to name each teleporter according to the following pattern : teleporter_< color >_xx

Where the color is either red, green, blue, cyan, purple, yellow or white. And where xx stand for the teleporter number such as 01, 09, 12, or 34. This simple naming convention is used to keep things clear and keep track of the teleporter number and color at the same time.

Once this is done follow those steps.
  1. Create a new script entity in your dungeon and name it as you like. A strong reference to the teleporter function is advised in the name of the entity in order to easily keep track of what has been done.
  2. Paste the following script in the script entity object.

    Code: Select all

    -- Play the right ScreenEffect for the teleporter
    	function FlashRed(self)
    		local teleporter_id = self.id:sub(1,17)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_red_screen_01")
    		end
    	end
    	function FlashBlue(self)
    		local teleporter_id = self.id:sub(1,18)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_blue_screen_01")
    		end
    	end
    	function FlashGreen(self)
    		local teleporter_id = self.id:sub(1,19)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_green_screen_01")
    		end
    	end
    	function FlashYellow(self)
    		local teleporter_id = self.id:sub(1,20)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_yellow_screen_01")
    		end
    	end
    	function FlashPurple(self)
    		local teleporter_id = self.id:sub(1,20)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_purple_screen_01")
    		end
    	end
    	function FlashCyan(self)
    		local teleporter_id = self.id:sub(1,18)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_cyan_screen_01")
    		end
    	end
    	function FlashWhite(self)
    		local teleporter_id = self.id:sub(1,19)
    		local teleporter_entity = findEntity(teleporter_id)
    		if teleporter_entity:isActivated() then
    			party:playScreenEffect("teleport_white_screen_01")
    		end
    	end
  3. Create a hidden pressure plate at the same spot of each teleporter using the "pressure_plate_hidden" object.
    Be sure to configure each pressure plate with the following settings :
    • Triggered by Monsters : Unchecked
    • Silent: Checked
  4. ! IMPORTANT PART !
    Name the new pressure plate objects with same name as the teleporter where it is located adding a custom string to the name such as _flash or what you preferance could be.
    The important part is that the teleporter and the pressure plate shares the same name (ID) up to the teleporter number. This is to ensure that the script work properly.

    For example mine are named as below :
    Teleporter object : teleporter_cyan_01
    Associated hidden pressure plate object : teleporter_cyan_01_flash
  5. Add a connector to each pressure plate to the script entity object.
    Configure the connector with the following settings :
    • Event : deactivate
    • Target : >your script entity object<
    • Action : FlashWhite for white teleporter, FlashRed for red teleporters, etc...
  6. Go for a test run and enjoy.
OLD POST
SpoilerShow
I create this post before releasing any of the files in order to have feedback.

I have a bunch of questions :
  1. First is this usefull in any way ?
  2. Then does the color are to bright ?
  3. Should they be tweaked before any release ?
If this is useful to the community in any way and if this does not needs any tweaks of any kind, I'll make a package and release both the textures files and the lua files this week-end.
If this needs tweaking I'll return to work some more on this.

So leave any comments, even if you think this is crap !
Last edited by LordYig on Mon Nov 05, 2012 10:56 pm, edited 2 times in total.
Batty
Posts: 509
Joined: Sun Apr 15, 2012 7:04 pm

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by Batty »

They're useful for sure because even if the new particles aren't used for teleporters they can be used to make other effects.

I like the white one & would use it. I'm not too big on bright colors in a dungeon but using them depends on so many things & I think any color on a particle effect will appear "bright".

Alternatives to the standard teleporter are needed, good work! :D
User avatar
msyblade
Posts: 792
Joined: Fri Oct 12, 2012 4:40 am
Location: New Mexico, USA
Contact:

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by msyblade »

I think it's fantastic. Options are ALWAYS a good thing!! My one concern is that the teleporter lightsource may always give a blue glow even if i'm using an orange teleporter. Have you checked that out yet?
Currently conspiring with many modders on the "Legends of the Northern Realms"project.

"You have been captured by a psychopathic diety who needs a new plaything to torture."
Hotel Hades
User avatar
LordYig
Posts: 175
Joined: Wed Jul 04, 2012 5:45 pm

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by LordYig »

Batty wrote:They're useful for sure because even if the new particles aren't used for teleporters they can be used to make other effects.
I like the white one & would use it. I'm not too big on bright colors in a dungeon but using them depends on so many things & I think any color on a particle effect will appear "bright".
Alternatives to the standard teleporter are needed, good work! :D
I find it very hard to tweak the brightness of the color with the particle system of the game.
If the color is to dark, the effect is not displayed with enough light and turn greyish.
Finding the right value is long trial and error process...
Thanks for the feedback Batty, even if my current settings are not good enough, I guess any modder who wants to could turn them to their own liking when I'll release this.
msyblade wrote:My one concern is that the teleporter lightsource may always give a blue glow even if i'm using an orange teleporter. Have you checked that out yet?
That's true and that's one of the reason why I turn the lightsource off. I think this is another hardcoded element in the game.

With both your response, I'm confident that I'll release this, maybe this week-end, at least to let any modder find their own settings.
User avatar
Neikun
Posts: 2457
Joined: Thu Sep 13, 2012 1:06 pm
Location: New Brunswick, Canada
Contact:

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by Neikun »

The more specific the choices available, the more useful the mod is for all ranges of game modders.
Thumbs up Yiggy!
"I'm okay with being referred to as a goddess."
Community Model Request Thread
See what I'm working on right now: Neikun's Workshop
Lead Coordinator for Legends of the Northern Realms Project
  • Message me to join in!
User avatar
Grimwold
Posts: 511
Joined: Thu Sep 13, 2012 11:45 pm
Location: A Dungeon somewhere in the UK

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by Grimwold »

They look great.

I had a little look at particle systems, mostly to try and get something in place for new spells.. but I was not nearly as thorough as you have been.

Perhaps I could use one of these for my anti-magic zones.
User avatar
Komag
Posts: 3659
Joined: Sat Jul 28, 2012 4:55 pm
Location: Boston, USA

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by Komag »

You could always fake the light with an fx entity rigged to turn on and off at the same time (or always be on or whatever you want)
Finished Dungeons - complete mods to play
User avatar
crisman
Posts: 305
Joined: Sat Sep 22, 2012 9:23 pm
Location: Italy

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by crisman »

Seeing this reminded me that I've already done 4 type of teleporter for myself... and I've forgotten to implement them in my actual dungeon :mrgreen:
SpoilerShow
Image
I think you're teleporters are really good, I don't see any way to tweak them!
Probably the only one i would modify a bit is the purple one, for my personal choice is too pink, nothing serious thought :)
You picked very nice colors, mine look like "cartoon-style" compared to yours :D
- I think his teleporters are better, but if you think even mine are worth sharing I'll do! ;) -
User avatar
LordYig
Posts: 175
Joined: Wed Jul 04, 2012 5:45 pm

Re: [ASSET] (WIP) Particles and alternative teleporters

Post by LordYig »

I have released my files as an asset resource for modders and dungeon creators out there.

Please refer to the first post for a download link and some explanation for installation and usage.

Report any bug you encounter and i'll try to correct them.
Grimfan
Posts: 369
Joined: Wed Jan 02, 2013 7:48 am

Re: [ASSET] (Released) Particles and alternative teleporters

Post by Grimfan »

Hi LordYig,

I'm extremely new to the modding game (just a few weeks actually) and I want to use your custom purple teleporters, but when I try to run your script I get one of those nil value errors (as shown below). I have renamed the two teleporters I am using as myteleporter_purple_1 and myteleporter_purple_2 and joined them to two hidden pressure plates named myteleporter_purple_1_flash and myteleporter_purple_2_flash and connected them to the script, so I'm not entirely sure what I'm doing wrong (though you'll probably see the issue in a nanosecond and slap your forehead in disbelief that I didn't see it too). :?

By the way, the teleporters are working like clockwork otherwise, it's just the scripting elements that are giving me hassles.

Code: Select all

   function FlashPurple(self)
      local teleporter_id = self.id:sub(1,20)
      local teleporter_entity = findEntity(teleporter_id)
      if teleporter_entity:isActivated() then -  attempt to index local 'teleporter-entity' (a nil value) x
         party:playScreenEffect("teleport_purple_screen_01")
      end
   end
Thanks for any help you can give me. :)
Post Reply