Help req - Info for creating + animating custom 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
akroma222
Posts: 1024
Joined: Thu Oct 04, 2012 10:08 am

Help req - Info for creating + animating custom monsters

Post by akroma222 » Tue Mar 17, 2015 11:50 am

Hello Everyone!

I have a couple of friends who are just finishing up their games technology Uni courses, and they would like a project to work on!
So I have enlisted their help to create some custom monsters for LoG2 (and by help I mean, I have asked them to do it)
However, they have a string of questions for which I do not have the answers to (creating models and animation is not something I have delved into 'yet'.)

I am meeting with them soon to discuss the information they need to get started.
I am hoping everyone can help out here by providing answers, links or just plain old cut n paste information dump

They have asked for information regarding:

- Pollygon counts
- Rig set up
- Text to sheet size
- Pixel density
- Bump maps (Ive never heard of this...)
- Normal maps
- Occlusion maps

-Whether we use high polly models for close ups and low polly models for distance (or just the same no matter how far the monster is away)
- Whether we can make parts of a model interchangeable
- Whether the models can have clothes, items, weapons etc added (YES I know we can, but...)
- How are the models implemented within the Engine
- How the filing system is set up

I have checked out -
http://www.grimrock.net/modding/model-a ... e-formats/

as well as (from superthread) Leki's tutorial for normal maps,
viewtopic.php?f=22&t=8080

John's GMT2 page,
viewtopic.php?f=22&t=7381

btcpy's blender importer
viewtopic.php?f=22&t=8086&sid=e88cd6e0d ... 8d2#p81655

....however, I honestly do not fully understand it all (and am working very hard on the script based systems of my next mod)
Basically I really just need to be able to provide my friends with the information they need to get going
I have sent PMs to a number of people who I think could have some answers here,
but Ive created the thread also hopefully to serve as a reference point for anyone else doing the same thing

Please folks, any help would be appreciated!!
THANK YOU :D :D

Akroma

User avatar
Leki
Posts: 548
Joined: Wed Sep 12, 2012 3:49 pm

Re: Help req - Info for creating + animating custom monsters

Post by Leki » Tue Mar 17, 2015 3:42 pm


If you want to make custom monster, you need tools for that - e.g. Blender.
Then use info and script shared here: viewtopic.php?f=22&t=8086
To get answers for your questions (polycount, riging, texture etc) just use asset pack: viewtopic.php?f=22&t=9505
Pick one monster, then use it as a reference (in other word do some "reverse engeneering" using blender, gmt and game itself).
That is the best way.

But... to be honest, I'm really not sure you/them can handle it in this way (I mean use them as an outsorce) - If they wanna do smth on the LoG2 moding field, they have to know the "game/game moding universe" first.
I'm the Gate I'm the Key.
Dawn of Lore

User avatar
akroma222
Posts: 1024
Joined: Thu Oct 04, 2012 10:08 am

Re: Help req - Info for creating + animating tcustom monster

Post by akroma222 » Tue Mar 17, 2015 3:51 pm

Thanks for the links Leki! Much appreciated!

Yes they have all the tools at their disposal (blender etc)
I agree about them being involved/immersed in the modding community and I will be encouraging them to do so.

They have the link for this thread and I dare say they will be introducing themselves sometime soon. I have seen their work and I am confident they are up to the task!

Thanks again
Akroma

User avatar
msyblade
Posts: 792
Joined: Fri Oct 12, 2012 4:40 am
Location: New Mexico, USA
Contact:

Re: Help req - Info for creating + animating custom monsters

Post by msyblade » Tue Mar 17, 2015 4:14 pm

I don't think they will have all that much trouble from a technical standpoint. Using standard industry tools, run through a couple of converters found around here, it can be figured out (especially with the communities help). A difficult task may be nailing the poly counts to show fidelity, but not drain the resources. As Leki stated, examining a monster or two from the game will answer many of the questions regarding rigging, poly counts, etc. . .Also, I recommend examining all of the default LoG2 textures to use wherever possible, as this saves huge amounts of space when incorporating the models into a mod.

Hope this helps!
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
Leki
Posts: 548
Joined: Wed Sep 12, 2012 3:49 pm

Re: Help req - Info for creating + animating custom monsters

Post by Leki » Tue Mar 17, 2015 4:33 pm

I almost forgot. This can help as well: http://www.grimrock.net/2014/09/26/anim ... the-halls/
I'm the Gate I'm the Key.
Dawn of Lore

User avatar
Skuggasveinn
Posts: 548
Joined: Wed Sep 26, 2012 5:28 pm

Re: Help req - Info for creating + animating custom monsters

Post by Skuggasveinn » Tue Mar 17, 2015 5:45 pm

Leki and msyblade are right, have your friends start by looking at the monster models from the asset pack (you will have to share it with them since the official download link is still down).

They will get a good feeling about the average polygon count per monster by viewing the models, they will see that all monsters are one mesh, one material.
Materials are typically made up of 3 to 4 maps, Diffuse, Specular, Normal and sometimes Emissive.
Typically there is no LOD for monsters.
Technical explanations for the model and animation formats can be found here http://www.grimrock.net/modding/model-a ... e-formats/
The rig is standard stuff, bones weighted to vertices supporting location, rotation and scale limited to 4 weights per vertex. Any simulations that can not be baked into the rig are not supported (like wind, cloth collisions etc).

The file system is one model file, one file per animation and a lua definition file to bind it all together for the engine.
Looking at the monster definition will give them good insight into how this is done, the AI is controled by the brain class, different brain classes will change the AI behavior (different brains have different amount and type of available actions). Every action that the brain can call needs to be accounted for with the corresponding class, animation and an animationEvent. To the best of my knowledge brains are outside of the modding scope (I have never seen a code for one or one created from scratch), so knowledge of the brain and what it can do is needed, and best learned by going through the monster definition in question and what events it can call.

Lets use the knight commander is an example, he is a good example to study since he has more complex behavior then many of the standard monsters, randomized attacks (see the onBeginAction hook under the MonsterAttack class), can summon, cast spells, move attack etc etc.

So when the brain decides to attack the party it calls the name of that MonsterAttack class, lets say the party is in melee range and the AI calls "basicAttack", it gets the attackpower, the accuracy, the colddown and other stats for the attack including what animation to play, it then calls that animation.

Code: Select all

attack = "assets/animations/monsters/skeleton_knight_commander/skeleton_knight_commander_attack.fbx",
The animation in question has the knight commander swing the swords (he is dual wielding) making 2 attacks, so here needs to be an animationEvent for the "impact" or "hit"

Code: Select all

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_knight_commander/skeleton_knight_commander_attack.fbx",
	event = "attack",
	frame = 12,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/skeleton_knight_commander/skeleton_knight_commander_attack.fbx",
	event = "attack",
	frame = 23,
}
In this case the first swords makes contact on frame 12 of the animation, applying the attack from the MonsterAttack class, and the second sword hits on frame 23 applying the attack again.
If the monster in question is casting spells then the spell is defined with lua (or use existing spells) and the model/animation is just showing that monster making a spell gesture movement and just like with any other attack the spell gets triggered on a specific frame with an AnimationEvent.

Just have them start by going through the assets, then questions will arise and the community will do their best to answer ;)

Kind regards.
Skuggasveinn.
Link to all my LoG 2 assets on Nexus.
Link to all my LoG 1 assets on Nexus.

minmay
Posts: 2657
Joined: Mon Sep 23, 2013 2:24 am

Re: Help req - Info for creating + animating custom monsters

Post by minmay » Tue Mar 17, 2015 7:14 pm

akroma222 wrote:- Pollygon counts
The original monster models are typically between 3,000 and 15,000 tris, but going quite a bit higher is fine; Barren Desert starts with about 100 mummies in view and those are about 6500 tris each.
akroma222 wrote:- Rig set up
Skuggasveinn covered this already. I've been told there are problems with using more than 64 bones but I don't think that's actually true, because I haven't experienced any and the dark acolyte rig has over 100.
akroma222 wrote:- Text to sheet size
- Pixel density
Generally I would aim for 1024x1024 texture sizes or maybe 1024x512 (width and height do not have to match, they just need to be powers of 2) for monsters that fit comfortably in the 3x3x3m unit square. Smaller, less detailed monsters like the eyctopus can get away with 512x512. If you have a really big monster like the lindworm going up to 2048x1024 or 2048x2048 is okay.
akroma222 wrote:- Bump maps (Ive never heard of this...)
- Normal maps
- Occlusion maps
There are no bump maps or occlusion maps in Grimrock 2, only diffuse, specular, normal, and emissive (emissive is rarely used). Specular maps only support RGB, there is no gloss channel; gloss is set for the entire material with the "glossiness" parameter in the material definition. In Grimrock 2 normal maps should be green-alpha style. To get a Grimrock 2 normal map from a DirectX style RGB normal map, you should move the green channel to the alpha channel, invert it, and move the red channel to the green channel (but don't invert). Then fill the red and blue channels with 0s since they aren't used anyway (will result in better compression when you export your mod).
Non-opaque materials don't support lighting, so keep that in mind, however, opaque materials support 1-bit alpha (set alphaTest to true in the material definition, and include your alpha in the diffuse map).
akroma222 wrote:-Whether we use high polly models for close ups and low polly models for distance (or just the same no matter how far the monster is away)
There is an LoD system but I don't think it's ever used for monsters in the original game, and I wouldn't recommend using it for new monsters either. If you do want to include detail levels, give your model two meshes named lod0_mesh (high detail) and lod1_mesh (low detail) and add dissolveStart and dissolveEnd fields to the ModelComponent.
akroma222 wrote:- Whether we can make parts of a model interchangeable
- Whether the models can have clothes, items, weapons etc added (YES I know we can, but...)
Not really, no. You should include all weapons etc. in the monster's single model.

There are a few important things you did not ask about. Here are the answers to them:
- One square in Grimrock is 3 meters by 3 meters by 3 meters. The origin of a model corresponds to the center bottom of this square, so a monster's feet should be planted on the XY plane.
- A monster's movement animations should move it exactly 3 meters in the desired direction, and should start and end with a pose close to the beginning of its idle animation (but the end pose should be 3 meters away from the original).
- A monster's turning and turn attack animations should turn it exactly 90 degrees, and should start and end with a pose close to the beginning of its idle animation (but the end pose should be turned 90 degrees from the original).
- If you have a turnAround animation (like ratling2) it should turn the monster 180 degrees and start and end with a pose close to the beginning of its idle animation (but the end pose should be turned 180 degrees from the original).
- All of a monster's other animations should start and end with a pose close to the beginning of its idle animation, too.
- Keyframes in animations are linearly interpolated. Most or all of them are stored at 30fps. If you want to store at a higher or lower resolution, that's fine for monster attack, move, and turn animations because you can change animation speeds for those. I don't know if it's possible for other animated actions or objects.
- You may need to invert the scale of your models to get lighting to work correctly. I.e. scale by -1 on all axes, rotate to its original orientation, and flip normals. Look at the original models to see this.
- Axes in Grimrock are numbered differently from the ones you're used to. IIRC, the X axis is the same but Y and Z are switched. bitcpy's Blender exporter will account for this automatically using the game_matrix object (import any model to see).
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
akroma222
Posts: 1024
Joined: Thu Oct 04, 2012 10:08 am

Re: Help req - Info for creating + animating custom monsters

Post by akroma222 » Tue Mar 17, 2015 7:26 pm

Ahhh you guys are the best!! :D
This is why im proud to be a part of this community!

Thankyou Leki, mysblade, Skuggs and minmay - that does cover pretty much all of what we need to know. I will share the asset pack with them and go through some examples in full detail (I was going to do a monster show off anyways... I will make it a bit more technical now, instead of just blasting them with new spells :lol: ).

I have started examining the brains and thinking about custom brains... have not created a custom brain from scratch yet either but have got a couple of things working (like the herder going and pulling the lever hehe). Maybe it will be easier to use a pre existing set up (like the skeleton commander and just change up the spell and accompanying animations etc)

Akroma

User avatar
THOM
Posts: 1130
Joined: Wed Nov 20, 2013 11:35 pm
Location: Germany - Cologne
Contact:

Re: Help req - Info for creating + animating custom monsters

Post by THOM » Thu May 21, 2015 4:35 pm

Hi akroma222 - just want to ask if there is any progress in this project??
THOM formaly known as tschrage
_______________________________________________
My MOD (LoG1): Castle Ringfort Thread
My MOD (LoG2): Journey To Justice Thread | Download

User avatar
akroma222
Posts: 1024
Joined: Thu Oct 04, 2012 10:08 am

Re: Help req - Info for creating + animating custom monsters

Post by akroma222 » Tue Jun 02, 2015 4:40 am

Hey THOM,
sorry for the late reply! Not a great deal of progress in this department unfortunately.
One of the guys is just finishing up Uni this semester and the other has been waylayed by house moving and new job opportunity.
I am at the point now where I am thinking up work arounds for the monsters I am after - re-skins and re-brains.
Or I may just have a go at it myself - but that wouldnt be for a while yet as I am still slugging away at Race/Class/Skills/Traits/Items and Spell system for the next mod

So nothing to report here really, sorry to say :?

Akroma

Post Reply