MONSTERS by LEKI (CLOSED)

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
uggardian
Posts: 75
Joined: Sat May 19, 2012 5:53 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by uggardian »

Doesn't that armor look like the one stormcloaks wear in Skyrim..?
Anyways, great work. Ghoul is the coolest one, I think.
However, some of those are in desperate need for custom sounds.
User avatar
Leki
Posts: 550
Joined: Wed Sep 12, 2012 3:49 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by Leki »

uggardian wrote:Doesn't that armor look like the one stormcloaks wear in Skyrim..?
Anyways, great work. Ghoul is the coolest one, I think.
However, some of those are in desperate need for custom sounds.
Well... To be honest, I am not sure what you mean... :?

Model: In the Human Warrior script, in the description/credit part you can read that the source mesh and texture is based on original Skyrim model. Whole mesh is strongly modified to fit into Grimrock etc. This threat is called "Source..." And a lot of people use my custom monsters as a source for their own - usually a texture - modification (see skeleton warrior: sword, for example), so there is not a reason to change visual at all. Sure, I rearange and colapse individual source textures into one, and remaped mesh to fit on it. It's part of modification, because there is problem if grimrock model use more then 2 textures etc, so you have to work witho one or two textures. But thats all. I do custom textures only if I need it - for my personal mod, but there is not a reason to publish it - and usually I make my own texture a weaks later after monster publication. So if you wanna different look, just make your own texture.

Sounds: There is known bug that custom monster can do animation events like attacks, but there is some problem with playSound(), so you cannot hear any walk or attack sounds, custom or not.
I'm the Gate I'm the Key.
Dawn of Lore
uggardian
Posts: 75
Joined: Sat May 19, 2012 5:53 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by uggardian »

I'm sorry if I was unclear..
I meant with the sounds, that according to the video of bowman (for example) he uses the same sounds as the ranged skeleton warrior. The bowman could really be more interesting with his own walking sounds. Well, all I have seen are those vids, I haven't tested any of these in game yet. Are those videos of the latest versions of the monsters? Anyways, hope you don't get the wrong idea, because your monsters are AWESOME! :lol:

Was that there part you didn't understand? No? Sorry again, tried to write a post as short and simple as possible. Maybe it was too short.. And of course, my english skills aren't as good as they should. :(
User avatar
petri
Posts: 1917
Joined: Thu Mar 01, 2012 4:58 pm
Location: Finland

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by petri »

Leki wrote:Sounds: There is known bug that custom monster can do animation events like attacks, but there is some problem with playSound(), so you cannot hear any walk or attack sounds, custom or not.
What is the problem?
User avatar
Leki
Posts: 550
Joined: Wed Sep 12, 2012 3:49 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by Leki »

petri wrote:
Leki wrote:Sounds: There is known bug that custom monster can do animation events like attacks, but there is some problem with playSound(), so you cannot hear any walk or attack sounds, custom or not.
What is the problem?

Thanks for your assistance,
petri! Here is an updated older post:
Monsters like skeleton_warrior_sword has definition like this one:

SpoilerShow

Code: Select all

defineObject{
	name = "skeleton_warrior",
	class = "Monster",
	model = "assets/models/monsters/skeleton_warrior.fbx",
	meshName = "skeleton_warrior_mesh",
	animations = {
		idle = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_idle.fbx",
		moveForward = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
		turnLeft = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_turn_left.fbx",
		turnRight = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_turn_right.fbx",
		attack = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_attack.fbx",
		attackBack = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_attack_back.fbx",
		getHitFrontLeft = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_front_left.fbx",
		getHitFrontRight = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_front_right.fbx",
		getHitBack = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_back.fbx",
		getHitLeft = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_left.fbx",
		getHitRight = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_right.fbx",
		fall = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_get_hit_front_left.fbx",
	},
	moveSound = "skeleton_walk",
	footstepSound = "skeleton_footstep",
	attackSound = "skeleton_attack",
	hitSound = "skeleton_hit",
	dieSound = "skeleton_die",
	hitEffect = "hit_dust",
	capsuleHeight = 0.7,
	capsuleRadius = 0.25,
	collisionRadius = 0.6,
	health = 120,
	sight = 4,
	attackPower = 9,
	accuracy = 10,
	protection = 5,
	immunities = { "poison" },
	movementCoolDown = 2,
	noRecoilInterval = { 0.25, 0.5 },
	exp = 90,
	lootDrop = { 100, "legionary_spear", 100, "legionary_shield" },
	healthIncrement = 15,
	attackPowerIncrement = 5,
	protectionIncrement = 1,
	brain = "Melee",
}
as you can see, there is a part of sound definition:
SpoilerShow

Code: Select all

        ..	
        moveSound = "skeleton_walk",
	footstepSound = "skeleton_footstep",
	attackSound = "skeleton_attack",
	hitSound = "skeleton_hit",
	dieSound = "skeleton_die",
        ..
in grimrock_assets\sounds.lua you can find "skeleton walk":
SpoilerShow

Code: Select all

local function monsters()
..
	defineSound{
		name = "skeleton_walk",
		filename = "assets/samples/monsters/skeleton_walk_01.wav",
		loop = false,
		volume = 1,
		minDistance = 1,
		maxDistance = 10,
	}
..
end
in grimrock_assets\animation_events.lua you can find "skeleton walk":
SpoilerShow

Code: Select all

..
defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
	event = "footstep",
	frame = 9,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
	event = "footstep",
	frame = 20,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
	event = "footstep",
	frame = 31,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
	event = "footstep",
	frame = 42,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_warrior/skeleton_warrior_walk.fbx",
	event = "footstep",
	frame = 55,
}
..
As you can see, it's easy:
You have sound deffinition, and you have animation event definition. In monster definition you have to write "sound_name" of your custom sound. When monster is walking, there is animation_event and this events calls sound in defined frame.

Here is custom monster script:

SpoilerShow

Code: Select all


--
-- BARBARIAN AXE AND SHIELD
--
-- Legend of Grimrock Custom Monster
-------------------------------------------------------
-- monster definition
-------------------------------------------------------

defineObject{
	name = "leki_barbarian_axe_shield",
	class = "Monster",
	model = "mod_assets/plugins/barbarian_axe/models/barbarian_new_axe_shield.fbx",
	meshName = "barbarian_mesh",
	animations = {
		idle = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		moveForward = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
		turnLeft = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_turn_left.fbx",
		turnRight = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_turn_right.fbx",
		attack = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_attack.fbx",
		getHitFrontLeft = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		getHitFrontRight = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		getHitBack = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		getHitLeft = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		getHitRight = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
		fall = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_idle.fbx",
	},
	moveSound = "barbarian_walk",
	attackSound = "damage_human_male",
	hitSound = "damage_human_male",
	dieSound = "damage_minotaur_male",
	hitEffect = "hit_blood",
	capsuleHeight = 0.4,
	capsuleRadius = 0.3,
	collisionRadius = 0.6,
	turnAnimSpeed = 1.0,
	attackAnimSpeed = 1.0,
	health = 80,
	sight = 4,
	attackPower = 30,
	accuracy = 10,
	protection = 10,
	immunities = { "poison" },
	movementCoolDown = 0.5,
	coolDown = { 0.5, 1 },
	evasion = 1,
	noRecoilInterval = { 0.25, 1 },
	exp = 680,
	lootDrop = { 75, "snail_slice", 10, "snail_slice" },
	healthIncrement = 30,
	attackPowerIncrement = 9,
	brain = "Melee",
	protectionIncrement = 1,
}

defineObject{
	name = "leki_barbarian_axe_shield__patrol_2",
	class = "MonsterGroup",
	monsterType = "leki_barbarian_axe_shield",
	count = 2,
}

-------------------------------------------------------
-- sounds
-------------------------------------------------------
defineSound{
	name = "barbarian_walk",
	filename = "mod_assets/plugins/barbarian_axe/sounds/barbarian_step.wav",
	loop = false,
	volume = 2,
	minDistance = 1,
	maxDistance = 10,
}


-------------------------------------------------------
-- animation events
-------------------------------------------------------

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_attack.fbx",
	event = "attack",
	frame = 20,
}

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
	event = "footstep",
	frame = 3,
}

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
	event = "footstep",
	frame = 18,
}

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
	event = "footstep",
	frame = 34,
}

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
	event = "footstep",
	frame = 52,
}

defineAnimationEvent{
	animation = "mod_assets/plugins/barbarian_axe/animations/barbarian_axe_shield_walk.fbx",
	event = "footstep",
	frame = 60,
}


-------------------------------------------------------
-- materials
-------------------------------------------------------
defineMaterial{
	name = "barbarian",
	diffuseMap = "mod_assets/plugins/barbarian_axe/textures/barbarian_d.tga",
	specularMap = "mod_assets/plugins/barbarian_axe/textures/barbarian_s.tga",
	normalMap = "mod_assets/plugins/barbarian_axe/textures/barbarian_n.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = true,
	blendMode = "Opaque",
	textureAddressMode = "Wrap",
	glossiness = 20,
	depthBias = 0,




But, if he is walking, you can hear only first step - does not matter if in monster script is defineAnimationEvent defined. Attack works without problem. Party gets hit on defined frame, so event"attack" is ok, I guess. But event "footstep" does nothing. And "attakc" also does not play defined "attack sound".

As you can see there is not "turn" animation_event definiton in script, but ingame you can hear the sound. It's in the beggining of animation - the same as walking and you can hear it once as well.

For human bowman I used skeleton archer walking animation, as you know. Current version is without walking animation events, only attack. It sounds in the same way so I wrote there walking events and it's ok now, so I will update bownam files soon, but it does not solving human warrior problem.

Bowman is ok, because I just copied skeleton archer animation and renamed it. Warrior has whole new walking animation. So maybe there is smth wron in export and frames are corupted or smth like that... But if it's the proble, why the attack event doing damage damage to the party is ok?

I can loop walk sount 3x to mimic his sounds, but its piece of shit and the same happens for attack - I don't like to fake whole sounds. Any ideas?

Last edited by Leki on Thu Oct 03, 2013 11:06 am, edited 1 time in total.
I'm the Gate I'm the Key.
Dawn of Lore
User avatar
Leki
Posts: 550
Joined: Wed Sep 12, 2012 3:49 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by Leki »

uggardian wrote: I meant with the sounds, that according to the video of bowman (for example) he uses the same sounds as the ranged skeleton warrior. The bowman could really be more interesting with his own walking sounds.
Ah... Ok, I see.
Well the custom sounds is the same issue as a texture. The main problem for a moders is to create a new animated model. So I focused on this one and my monsters really are only some kind of, let me say, "basic sources". This thread is some kind of "ready for next customisation" model repository :roll:

You have to custom them to fit them into your mod. Is's easy to do your own sounds (there is a lot of free sound libraries and you can use free tools as AudaCity is) and associate them with your version in your monster script. In other words - your archer can scream as maniac or speak frensh etc.

Monster videos I posted are usually WIP video (I usually post WIP screenshots as well). It's way how to get some feedback from community. You can see an archer in WIP texture etc. But it shows the monster mesh and you can see what it works and it's enough. It's not my point to show or publish "complete monsters" because they will reflect only my point of view and each moder needs "something a little bit different" ;)
I'm the Gate I'm the Key.
Dawn of Lore
User avatar
petri
Posts: 1917
Joined: Thu Mar 01, 2012 4:58 pm
Location: Finland

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by petri »

Leki, I think your custom monster does not define the footstep sound. Try this:

Code: Select all

footstepSound = "skeleton_footstep"
I don't see why the attack sound isn't working. Hmm...

You could also try triggering the sound effects directly from the animation event, like this:

Code: Select all

defineAnimationEvent{
	animation = "assets/animations/monsters/tunnel_ogre/tunnel_ogre_attack.fbx",
	event = "playSound:ogre_whoosh",
	frame = 17,
}
Does this work?
User avatar
Leki
Posts: 550
Joined: Wed Sep 12, 2012 3:49 pm

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by Leki »

SpoilerShow
petri wrote:Leki, I think your custom monster does not define the footstep sound. Try this:

Code: Select all

footstepSound = "skeleton_footstep"
I don't see why the attack sound isn't working. Hmm...

You could also try triggering the sound effects directly from the animation event, like this:

Code: Select all

defineAnimationEvent{
	animation = "assets/animations/monsters/tunnel_ogre/tunnel_ogre_attack.fbx",
	event = "playSound:ogre_whoosh",
	frame = 17,
}
Does this work?
OMFG! I copy pasted monster definition as "herder" od "ungardian" have (I am sure I took a "snail" code in the beggining!) as a base to define warrior and as you see there is not that damned footstepSound = "ogre_footstep" like definition...
SpoilerShow

Code: Select all

defineObject{
	name = "snail",
	class = "Monster",
	model = "assets/models/monsters/snail.fbx",
	meshName = "snail_mesh",
	animations = {
		idle = "assets/animations/monsters/snail/snail_idle.fbx",
		moveForward = "assets/animations/monsters/snail/snail_walk.fbx",
		turnLeft = "assets/animations/monsters/snail/snail_turn_left.fbx",
		turnRight = "assets/animations/monsters/snail/snail_turn_right.fbx",
		attack = "assets/animations/monsters/snail/snail_attack.fbx",
		getHitFrontLeft = "assets/animations/monsters/snail/snail_get_hit_front_left.fbx",
		getHitFrontRight = "assets/animations/monsters/snail/snail_get_hit_front_right.fbx",
		getHitBack = "assets/animations/monsters/snail/snail_get_hit_back.fbx",
		getHitLeft = "assets/animations/monsters/snail/snail_get_hit_left.fbx",
		getHitRight = "assets/animations/monsters/snail/snail_get_hit_right.fbx",
		fall = "assets/animations/monsters/snail/snail_get_hit_front_left.fbx",
	},
	moveSound = "snail_walk",
	attackSound = "snail_attack",
	hitSound = "snail_hit",
	dieSound = "snail_die",
	hitEffect = "hit_goo",
	capsuleHeight = 0.2,
	capsuleRadius = 0.7,
	health = 90,
	sight = 2.5,
	attackPower = 6,
	movementCoolDown = 4,
	coolDown = { 0.5, 4 },
	evasion = -10,
	noRecoilInterval = { 0.1, 0.5 },
	exp = 60,
	lootDrop = { 75, "snail_slice", 10, "snail_slice" },
	healthIncrement = 30,
	attackPowerIncrement = 3,
	brain = "Melee",
}
and I missloked it in "skeleton" and other walking creatures. Thats a problem of absence of second point of view when you cannot share problem with coworkers... I spent a lot of time polishing animation and source file, looking for a bug in the export script etc, because I believed that there is problem in keys - I rescaled animation when I balanced monster movement speed etc. And some time happens, that model is corupted after export - you can see that warrior in GMT during some animation is still doing some unwanted vertices movement, although there is nothing to see in Max and I remade him 10times... Maybe there is some hidden edge or smth like that or maybe skin is corrupted because of transfering weights... does not matter - it's probably my fault and I have to solve it - in time...

I will try it ASAP and let you know![/color]
SpoilerShow

Code: Select all

defineAnimationEvent{
   animation = "assets/animations/monsters/tunnel_ogre/tunnel_ogre_attack.fbx",
   event = "playSound:ogre_whoosh",
   frame = 17,
}

as well. Sound synchro for the dragon and other effect connected with the animation will be easy as a fcuk with that!
It looks very promising and I strongly believe that sound problem will be solved.

Thanks a lot petri!
I'm the Gate I'm the Key.
Dawn of Lore
User avatar
petri
Posts: 1917
Joined: Thu Mar 01, 2012 4:58 pm
Location: Finland

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by petri »

You're welcome! Hopefully you get all the sound problems solved.

p.s. The Dragon mod looks wicked!
User avatar
odinsballs
Posts: 288
Joined: Thu Dec 20, 2012 4:25 pm
Location: south of heaven

Re: [SOURCE] MONSTERS by Leki (DOWNLOAD Human Warrior)

Post by odinsballs »

hey leki since i am returning to grimrock modding, after some rather harsh system hijack. i would gladly offer assistance in any texture matters you may need or want to have done. p.s. sorry for dropping out on you with the previous discontinued footman model, someone did some verry nasty stuf to and with my rig so i had to fix that first :oops: so if you need some textures made
just gimme a holler :)
Post Reply