Ghost Monsters

Ask for help about creating mods and scripts for Grimrock 2 or share your tips, scripts, tools and assets with other modders here. Warning: forum contains spoilers!
User avatar
David Ward
Posts: 103
Joined: Wed Jan 07, 2015 11:44 pm
Location: Vancouver, BC, Canada

Ghost Monsters

Post by David Ward »

We've searched around but haven't found any ethereal monsters. Has anyone managed to pull off graphics to make regular monsters look like...ghosts? Ethereal? Seems like a tall order, but if anyone has managed to do this, we would love to put those graphics into the game we're making.
User avatar
THOM
Posts: 1267
Joined: Wed Nov 20, 2013 11:35 pm
Location: Germany - Cologne
Contact:

Re: Ghost Monsters

Post by THOM »

Not (yet) portet over to LoG2 but have a look here:

http://www.nexusmods.com/grimrock/mods/198/
THOM formaly known as tschrage
_______________________________________________
My MOD (LoG1): Castle Ringfort Thread
My MOD (LoG2): Journey To Justice Thread | Download
User avatar
David Ward
Posts: 103
Joined: Wed Jan 07, 2015 11:44 pm
Location: Vancouver, BC, Canada

Re: Ghost Monsters

Post by David Ward »

Very cool. Seems like ethereal monster graphics would be tough to make, even with a graphic editing toolkit, because of the see-thru textures involved. It's not just a different skin. Thanks for the link.
User avatar
maneus
Posts: 246
Joined: Mon Jun 17, 2013 10:42 pm
Location: Switzerland

Re: Ghost Monsters

Post by maneus »

Why not set at the materials.lua "blendMode = "Additive" ?
This makes a ghost effect too.
SpoilerShow
Image
Last edited by maneus on Mon Feb 09, 2015 9:12 pm, edited 1 time in total.
User avatar
David Ward
Posts: 103
Joined: Wed Jan 07, 2015 11:44 pm
Location: Vancouver, BC, Canada

Re: Ghost Monsters

Post by David Ward »

Is that right, maneus? Will have to try this.
Emera Nova
Posts: 146
Joined: Wed Jun 11, 2014 1:31 am

Re: Ghost Monsters

Post by Emera Nova »

Where in the script would you put in the blendmode? Is it inside the monsters script or in a different lua file?
User avatar
THOM
Posts: 1267
Joined: Wed Nov 20, 2013 11:35 pm
Location: Germany - Cologne
Contact:

Re: Ghost Monsters

Post by THOM »

In the material definition:

Code: Select all

defineMaterial{
	name = "skeleton_bow",
	diffuseMap = "assets/textures/monsters/skeleton_warrior_bow_dif.tga",
	specularMap = "assets/textures/monsters/skeleton_warrior_bow_spec.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = false,
	blendMode = "Additive",    -- !!!!
	textureAddressMode = "Wrap",
	glossiness = 20,
	depthBias = 0,
}
THOM formaly known as tschrage
_______________________________________________
My MOD (LoG1): Castle Ringfort Thread
My MOD (LoG2): Journey To Justice Thread | Download
minmay
Posts: 2770
Joined: Mon Sep 23, 2013 2:24 am

Re: Ghost Monsters

Post by minmay »

Blend mode list

Making ghostly monsters like the ones on that Nexus page is really easy. All they did was change the colours and brightness of the texture a bit, change the blend mode, add really simple particles, and paste an extra decoration onto the shield.
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
User avatar
David Ward
Posts: 103
Joined: Wed Jan 07, 2015 11:44 pm
Location: Vancouver, BC, Canada

Re: Ghost Monsters

Post by David Ward »

Cool, great tips, didn't see this until now. Thanks guys. Let there be ghosts~
User avatar
Eleven Warrior
Posts: 736
Joined: Thu Apr 18, 2013 2:32 pm
Location: Australia

Re: Ghost Monsters

Post by Eleven Warrior »

Hi this is the new Ghost code if anyone needs it. It works for me. I hope this is correct guys.

Code: Select all

defineObject{
	name = "skeleton_archer_ghost",
	baseObject = "base_monster",
	components = {
		{
			class = "Model",
			model = "assets/models/monsters/skeleton_archer.fbx",
			material = "skeleton_bow_ghost", ---overrides original texture--
			storeSourceData = true,
		},
		{
			class = "Animation",
			animations = {
				idle = "assets/animations/monsters/skeleton_archer/skeleton_archer_idle.fbx",
				moveForward = "assets/animations/monsters/skeleton_archer/skeleton_archer_walk.fbx",
				strafeLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_strafe_left.fbx",
				strafeRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_strafe_right.fbx",
				turnLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_turn_left.fbx",
				turnRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_turn_right.fbx",
				attack = "assets/animations/monsters/skeleton_archer/skeleton_archer_attack.fbx",
				attackBack = "assets/animations/monsters/skeleton_archer/skeleton_archer_attack.fbx",
				getHitFrontLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_left.fbx",
				getHitFrontRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_right.fbx",
				getHitBack = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_back.fbx",
				getHitLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_left.fbx",
				getHitRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_right.fbx",
				fall = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_left.fbx",
			},
			currentLevelOnly = true,
		},
		{
			class = "Monster",
			meshName = "skeleton_archer_mesh",
			footstepSound = "skeleton_archer_footstep",
			hitSound = "skeleton_hit",
			dieSound = "skeleton_die",
			hitEffect = "hit_dust",
			capsuleHeight = 0.7,
			capsuleRadius = 0.25,
			collisionRadius = 0.6,
			health = 120,
			protection = 5,
			immunities = { "poisoned", "sleep", "blinded" },
			resistances = { ["poison"] = "immune" },
			traits = { "undead" },
			exp = 90,
			headRotation = vec(90, 90, 0),
		},
		{
			class = "SkeletonArcherBrain",
			name = "brain",
			sight = 6,
		},
		{
			class = "MonsterMove",
			name = "move",
			sound = "skeleton_walk",
			cooldown = 2,
		},
		{
			class = "MonsterTurn",
			name = "turn",
			sound = "skeleton_walk",
		},
		{
			class = "MonsterAttack",
			name = "rangedAttack",
			attackType = "projectile",
			attackPower = 14,
			cooldown = 4,
			animation = "attack",
			sound = "skeleton_archer_attack",
			shootProjectile = "cold_arrow",
			projectileHeight = 1.35,
		},
	},
}

defineMaterial{
	name = "skeleton_bow_ghost",
	diffuseMap = "assets/textures/monsters/skeleton_warrior_bow_dif.tga",
	specularMap = "assets/textures/monsters/skeleton_warrior_bow_spec.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = false,
	blendMode = "Additive",
	textureAddressMode = "Wrap",
	glossiness = 20,
	depthBias = 0,
}
Post Reply