#In Game Dev Tools

206 messages · Page 1 of 1 (latest)

empty frost
#

thread for my in game development tool

empty frost
#

update:
customizable UI, viewport pop out
added particle effects editor
added domain selection and culled domain prefix for readability
recipe item selection is now a filtered dropdown

empty frost
#

added click to select element
particle viewport now renders almost game accurate
runtime application now works for animations
changed IK detection. works better on 2 legged creatures now. 
added similar index grouping option (for example animate all drifters in one action since they all share animations) 
gizmos now world axis by default

empty frost
#

added missing gizmos to transform editor
added background to all editors
transform editors now only show applicable items (e.g. forge transform only shows forgeable items)
transform editor now groups similar items (e.g. all axe heads)
improved symmetry tools
added loot/drop editor
added modconfig and configlib generator

empty frost
#

added settings tab with accessibility, color themes and fonts (including dyslexia font)
improved transform editor reference detection. some positioning is still wrong. 
GUI transform viewport is now 2d
added WIP worldgen editor with realtime preview of many different maps
added patches tab for creating vanilla or jsonpatcheslib patches. not as intuitive as i'd like, but i dont know how to improve it yet.

hidden breach
#

Is it possible to edit the animation of a modded creature or modded player model?

empty frost
#

modded creatures yes. playermodels not yet but soon

empty frost
#

IK doesnt work for now, needs other improvements too, but the basics work

empty frost
#

improved IK for playermodellib models
dragging elements is smoother now
improved visibility for textured entities
culled repeated clutter in animation names

empty frost
#

lot of improvements to playermodellib animation. IK shouldnt detach body parts anymore, better IK detection, better asset discovery
all elements are now virtual = selectable, even if they are not part of an animation. editing automatically adds them to the animation

better layout for worldgen editor, most previews are now somewhat functional. still very unintuitive to use, will be improved

raw summit
#

The IK is a very interesting feature. Is it just using the parents and children as quasi bones?
One of the issues I ran into with my spinning wheel animation is the treadle animation wobbles because all I could do was try to counter the rotation and it didn't seem like there would be a better way to do it without IK.

empty frost
empty frost
#

added entity AI editor
added png export for all viewports

worldgen:

filtered asset selection
fixed malformed edits breaking preview

animation:

fixed gizmos sometimes using local space instead of world space
some work on first person view, not fully functional yet.

empty frost
#

added model and UV editor

empty frost
#

many improvements to model editor
added prism helper (shape generator)

sinful girder
#

are there any tutorials or vids?

empty frost
sinful girder
#

its not just one thing but the whole program in general but i currently trying to use models and recipes

empty frost
#

ill have an update in a few minutes and then ill try to explain some

sinful girder
#

ooo ok thanks

empty frost
#

if you think of any features you would like that are not there, please do tell me. i need real artists to tell me what tools they want

sinful girder
#

well one thing i can mention is that i would be nice to slowly move something with the scroll wheel or arow keys

empty frost
#

ok ill do that

sinful girder
#

this tool is great for me since im a more visual person

#

keep up the good work☆: .。. o(≧▽≦)o .。.:

empty frost
#

the recipe editor will have big changes hopefully today still. a lot of them arent working at all on the live version, and some missing stuff too

#

gonna be hell to make a guide for this

sinful girder
#

its very clean and readable tho witch is nice!

empty frost
#

now supresses game controls while open
lot of improvements to recipe editor:
wildcard, shapeless, tool return, lots more.
added some missing things to particle editor
corrected rotation math for model editor
a ton of little fixes and improvements across all editors

empty frost
#

Patch generator: preserves and edits dependsOn, unknown/custom operation fields, condition, enabled, side, priority, and from/frompath/fromPath aliases when importing or saving vanilla and JsonPatchesLib patch files.
Patch generator: preview now respects JsonPatchesLib disabled operations, preview side filtering, vanilla condition settings, wildcard/regex target matching, and correct JSON Patch array insert/append behavior.
Added model editor nudging with arrow keys and Ctrl+mouse wheel.
Added selectable nudge axes for model editor arrows and mouse wheel
Added selectable reference model preview
Animation editor: many performance improvements
Animation editor: added a FABRIK IK solver option next to CCD, with a swivel (pole) control for aiming elbows and knees. The solver choice is saved in settings.
Animation editor: symmetry now falls back to mirrored-pivot position matching when element names have no left/right pattern, so creatures without L/R naming get automatic pairs.
Animation editor: added Flip pose (mirror an entire keyframe, swapping paired elements) and Create mirrored animation copy (duplicate an animation with every keyframe flipped).
Animation editor: added a pose clipboard (copy pose or single element; paste merge/replace/flipped across keyframes and animations).
Animation editor: added easing bake - insert eased in-between keyframes between two keyframes for selected or all elements.
Animation editor: added a motion trail overlay showing the selected element's path across the animation, plus a playback speed control.

empty frost
#
  • Model editor: added drag-and-drop reparenting
  • Model editor: the shape browser now shows shorter shape paths and includes authored-file actions for copy, rename, move folder, and authored-only delete.
  • Transforms editor: every vanilla context preview now mirrors the exact in-game renderer math — firepit, animal trap (bait transform + trap rotation), ground storage (per-layout slot offsets), shelf (8 slots, shelvable layouts), display case, mold rack, scroll rack (slot hit boxes), antler mount, tool rack (per-slot facing math), dropped items (EntityItemRenderer 0.2x ground placement), and behavior-based display surfaces, including the flat-texture-item lay-down vanilla applies.
  • Transforms editor: preview slot pickers now list the real vanilla slots (shelf 8, display case 4, mold rack 5, tool rack 4, scroll rack/ground storage per block data)
  • Added Block/Item json editor
  • ConfigLib editor: added patch and ModConfig previews, order summaries, diffs, validation, nested save paths, and round-trip preservation for unknown ConfigLib fields.
  • Model editor: improved the Prism helper to default to exact merged cuboids with shared-grid generation, internal-face culling
empty frost
#

added block animator and "animate this block" feature for non animated blocks
added cut tool to model and animation editors
moved tool selectors to dedicated panel in viewport

empty frost
empty frost
snow flax
#

I saw an early version of this tool and thought it was incredibly cool, and began playing around with it to see if I could go and actually make the particle engine run and display particles GPU-side instead of CPU-side. I then poked at a bunch of stuff regarding like bloom and other ways to make versions of glow and other lighting effects. But, what I don't know is, what, if any, license you have. Because I wasn't able to find anything when I looked at the git. And I don't want to bundle a modified version of anything that has a bunch of your code in it into a modpack without your permission. It's one thing to fiddle around with something for fun on the privacy of my own computer, but I obviously don't want to be taking advantage of all the work that you've done.
I also don't know if you're interested in any of the things that I've been poking at, but I am entirely happy to share any of them that you are interested in.
I have a couple of images of some of my results here as well so you can see some of the fruits of my labor.

#

Irrespective of whatever your licensing policies are or however you either want or don't want to share things, it's a super cool mod that you're making here and I will respect your wishes regarding either bundling it or making forks of it or not.

empty frost
# snow flax I saw an early version of this tool and thought it was incredibly cool, and bega...

that looks amazing. id have no problem with you posting that yourself, or adding it to the main thing, whatever you prefer. i didnt put a license because im a bit overly cautious. as long as you dont blatantly take advantage its no problem. ive had difficulties getting the particles to render 1:1 game accurate in the viewport, they are fairly close now but still not perfect and ive been neglecting the particle editor in general lately to work on models and animations

snow flax
#

Let me see if I can merge my particle emitters system and my 3D mesh primitive system in as new tabs.
If I can do that cleanly, and there's a feature or something that you like, I can go and try and hand over a cleaned up version to you via GitHub.
(Assuming I succeed in making it work cleanly.)
I definitely wouldn't want to repost and take the thunder out of your sails as you're definitely doing the mainstay of the work here.

empty frost
snow flax
#

I designed it because I wasn't happy with the lightning bolts in the base game. And I'm making a lot of spell effects for the mod pack that I'm designing. And I wanted things like frost bolts and lightning bolts and all sorts of other things. So, what it's actually going and doing is it's generating a 3D mesh primitive and texturing it based off of a 1 pixel white square texture that's then being altered in the editor. But what it is, is it has a base shape written down in the C sharp that extends its various vertices via a JSON file so that my tweaks to the editor can let it get reloaded or modified in game. So, you can have an actual mesh with a texture that can be played around with and then have like bloom or other effects applied onto it, all without having to leave the game.

#

I use this for lots of things, like for example my dynamic lightning.

#

It's hard to see from just the basic image, but that's actually a three-sided mesh primitive.

#

Or rather, it's a whole bunch of them that are being procedurally chained together to create lightning.

#

And because they are dynamic and have chances for, like, fork length and fork points and whatnot, no two lightning bolts are exactly the same.

empty frost
snow flax
#

And then if we begin to do a couple of tweaks, we begin to get a much cooler lightning bolt.

empty frost
#

actually my particle editor isnt even functional now... anything except a torch doesnt render any particles for some reason

snow flax
snow flax
empty frost
#

i could see your mesh system being used for a lot more things. maybe vegetation? i wonder if its possible to have something like eco machina build tree trunks and branches like that

snow flax
#

I mean, I could definitely see it being possible. I do have the ability to warp vertices built into the system so you can have them wobble and warp because that's something that's useful for like lightning bolts and energy streamers and whatever but that could definitely be used for like branch deformation.

empty frost
#

are you able to influence the mesh to follow a specific desired path?

snow flax
#

So, right now, no. Right now it's just using noise. But, noise is, frankly, more complicated when it's like Perlin noise or whatnot than a standard-like distortion of a sine wave to like warp a branch in some direction... Or alternatively, you could go in a different direction and fake velocity. Because I remember a while back there was a mod that unified the wind and vintage story and actually made a consistent wind blow across the world that would alter with weather and whatnot. And you could take something like that (I say because I don't actually know how Vanilla Vintage Story derives its wind.) Read it and apply it as velocity to the branches with a little bit of just randomness thrown in there. Maybe smoothed out some to get a bit of jitter in the branches. Maybe make the jitter dependent upon branch thickness?

#

I do have the ability to fake velocity in the particle emitter system already, and I do have various systems there that distort based upon velocity. Effectively, they take velocity as an input that they use to go and either stretch or deform an analytical shader, or change how noise functions on the perimeter of an already existing analytical shader. That's how the tails on the magic missiles that were hurling up into the sky were made. Those aren't actually a pure 3D ribbon. Those are actually a billboard because they're the analytical shader, but they're actually getting distorted based upon the velocity of the particle they are attached to.

empty frost
#

right, thats clever

#

feel free to make a PR or whatver you want, and tell me how you want to be credited. let me know if you need any help with the integration

snow flax
#

I will definitely reach out if I need any help with integration, and as for credit, if I manage to make something nice and clean, and it works for you, then you can just credit me via my Discord handle, and just, I guess, say what I did? I don't need anything more than that.
I'm more so here because I think this is a really cool tool, and the better it is, the more it will encourage more people to mod Vintage Story!
And the more easily they can make spell effects, the more magic mods we are likely to see!

empty frost
#

really appreciate the interest. ive been thinking of getting in touch with the VS devs because i think some of these tools could be useful for them. maybe soon i will convince myself to do that

snow flax
#

Yeah, I definitely think some of this stuff could really help them out, and especially if everybody collaborated on the same set of open source tools, that would be useful to everybody involved.

snow flax
#

Also, I was definitely scratching my head when it came to the particles, because I didn't understand why they were authoring them CPU-side. Vintage Story is already a CPU-heavy game, so I kind of made the shift to GPU-authored and never really looked back.

#

They also don't natively have a way to add complex vectors or vector-based math to pilot particles. So some of like the fire tornadoes or other things that I've made would not be possible in the vanilla particle system. Just literally not possible.

#

That's inherently why I decided to just literally make my own particle emitter system. And then hook into their bloom in sort of a weird sidereal way because they only really have it for the sun as far as I was able to find. And what I ended up doing was effectively making a rewrite, like a clean rewrite, of the way they were packaging the bloom for the sun to use as a base layer of bloom, and then extend that additively through my analytical shaders to get the really generous glow for particles when I need it.

empty frost
snow flax
empty frost
#

still leaves the how question

snow flax
#

Very cool. I am looking forward to using the animation side of the toolkit for making spellcasting animations.
As to the how, well, the rules and info section has a contacting us section in it.

#

#rules-and-info message

#

@empty frost Also, just to be certain that I know that you know what I've been talking about. Everything that I've built, I have built on a VFX engine that I have kind of made to the side of the base Vintage Story particle effects system. So this is all running on the GPU and is all running on its own VFX engine. So there isn't really vanilla parity in any way. It is its own thing. I just want to be absolutely certain that you know that, and that I've stated it very clearly, because if vanilla game system preservation is important in the game dev tool that you are making here, then it would probably be better for me to make a fork of it. Because everything that I've done is using my own VFX engine, completely aside from the base game stuff. And obviously, I wouldn't want that to come as a surprise.

#

Effectively, if I was to do the rewrite, then somebody couldn't author vanilla-compatible particles.

empty frost
snow flax
#

That makes sense, and I can definitely do that.

empty frost
#

I'll leave it up to your judgement whether you integrate or make it something separate. As long as the vanilla system is still there, which is what most people will inevitably use, it's fine

snow flax
#

How do you go and handle communication between client and server?

#

Because the way I have things set up is that somebody can be working in the editor client side and then sync it to the server.

empty frost
#

i dont. except for the worldgen editor its all clientside. needed server for worldgen to make the accurate preview generation

snow flax
#

Okay, I will take a few days and see what I can do, especially what I can do to potentially try and integrate some of the things I've been able to do into something that's a bit more vanilla-friendly, and maybe make toggles so people can choose between the vanilla-friendly versus not vanilla-friendly behaviors.

#

Because what I can almost certainly do is use a couple of tricks that I've figured out to borrow or like additively apply some bloom to particles in a way that you normally can't do in Vintage Story, but that is still vanilla friendly that isn't using a separate VFX engine.

empty frost
#

CO has basically its own editor that reuses what it can from the other one

snow flax
#

That is good to know.

empty frost
snow flax
#

That is super useful to have. Thank you very much. I'll start off with trying to improve things for people using the vanilla particles as much as possible, and see what tricks can be leveraged to try and give them cool features, like bloom and whatnot.

#

Because that's probably what most people are going to be using, as you stated.

empty frost
empty frost
#

model generator: more parameters, asymmetrical limbs, rust spikes, better wings, limb bone fine tuning and more
animation generator: smarter wing/tail behavior, foot auto floor tracking, still poses and more

plush basin
#

hey why cant i find my own domain in this dropdown? even toolsmith isnt showing up. do i have to configure something beforehand?

#

its the particles tab

empty frost
plush basin
empty frost
#

right now it only shows domains that already have an effect, and theres no button to create a new one... particle editor really needs some improvement

plush basin
empty frost
#

for most things its also not rendering any particles for some reason

#

gimme a few minutes ill get it working better for you

plush basin
empty frost
#

you have to copy and paste the json

#

were they rendering in the viewport for you?

plush basin
#

yes they are there and everything i touched changed them in some way

empty frost
#

huh

#

do the base game ones render?

#

for me none of them render at all lol

urban sedge
#

hi aldi i like your mods 🙂

plush basin
#

its laggy as hell but it works for me

plush basin
empty frost
#

on the right side there is a dropdown that shows you the raw json when you expand it

plush basin
#

i suppose

urban sedge
#

delightful 😊

empty frost
#

no it should be the very top one

plush basin
#

oh

#

lol i kinda ignored that because it looked like the bracket for the model

#

hm well the preview and the ingame particles are not the same though

empty frost
plush basin
#

these particles should be inside the pot

empty frost
#

oh aside from the position are they the same?

plush basin
#

hmm no. i dont know how to use these options though. do they "quick" change the particles for debugging?

#

looks like the particles dont translate well to different sizes

empty frost
plush basin
#

so i should leave them at speed 1.00 for example to not screw up my values

empty frost
#

changing the speed there is simulating faster time speed

#

1.00x should be how it will look in game

plush basin
#

the amount of particles is vastly different than in the preview

empty frost
#

yeah theres a lot more in the preview. should probably just get rid of the viewport and render the particles in game

plush basin
#

so far the only issues ive seen are the amount and offset values with positions. everything else works perfectly fine

#

im super happy this tool exists! ty very much for it

#

here take my 10€

empty frost
#

You donate to me for this broken ass editor?

#

Damn thank you that's very nice of you

plush basin
#

really glad this tool exists

rain parcel
#

Can I create an entire mod with this? If so, how's the procedure?

empty frost
rain parcel
#

Yeah, it's just an addon for an exiting mod

empty frost
#

you could do most of it then yeah. what kind of things are you making?

rain parcel
#

An item or two, two recipes, and a recipe overwrite

empty frost
rain parcel
#

Ah, that's nice

#

Guess I'll just have to reverse engineer my way into understanding the tool

#

Your goated, nonetheless

#

Lov u (platonically)

empty frost
rain parcel
#

Alright!

empty frost
#

if youre making any models there is a chiseling tool in the model editor, might be nice

tribal fulcrum
#

Heyo! I'd like to import particles i have as a separate json file to edit them in real time using your tool, is there a way to paste my clipboard stuff into the JSON: part of a particle in the menu?

empty frost
tribal fulcrum
#

It is currently just raw text i have on the side that i was manually editting before, not a loaded asset, that's why i'd like to be able to copy and paste text, though that doesn't seem to work

rain parcel
#

How do I patch recipes?

tribal fulcrum
#

It just seems to not register ctrl + key commands when editing text in the tool actually.

empty frost
empty frost
# rain parcel How do I patch recipes?

select the file that has the recipe you want to patch, create a patch file there, add the operation you want.
you can also edit the recipe itself and there is a tool that compares your edit with the original and generates a patch for that, similar to how the games modmaker does it

tribal fulcrum
empty frost
tribal fulcrum
rain parcel
exotic hound
#

Not sure if I'm doing a silly, or my computer's just starting the up rise against man.
But when I try to open the dev tools with ctrl+shift+L, game freezes for a second, see something flicker on the panel, tabs out of the game, then my game is in mouse mode until I hit ctrl+shift+L again. I have imgui, is there another dependency I'm missing? Or is it just because I'm not on windows.

empty frost
exotic hound
#

Linux.

#

Tried it on both a flatpak, as well as non since i thought maybe it was flatpak tomfoolery, but same result.

empty frost
#

Have you tried putting the game on windowed mode?

exotic hound
#

Just did, even restarted the game just to be sure, same result.

empty frost
#

try going in the config file and set "OpenOnStartup": true,
VintagestoryData\ModConfig\ingamedevtools.json

exotic hound
#

Well. Not sure how to explain it, but it is, in fact, working. Just on my top left monitor. Lol.

empty frost
#

i have noticed that it sometimes... detaches itself from the game when using multiple monitors, but i cant tell what triggers it. only happens rarely for me

#

did you change anything to make it work?

exotic hound
#

Don't think so. Did do your auto-turn on, but if it's favoring my top left monitor it may of just been 'there' this entire time. Didn't think about moving the game window around to check.

empty frost
#

if you dont want the auto turn on anymore you can disable it here in game

exotic hound
#

Thank you.

abstract flame
#

@empty frost How do I export an animation I edited in dev tools? Just lost my work sadCat

empty frost
#

check \AppData\Roaming\VintagestoryData\InGameDevTools\animations\vanilla\assets

abstract flame
#

Yeah no change since four hours ago sadCat

empty frost
#

its the export buttons on the left side

#

i need to change that to be more clear

abstract flame
#

Welp, overwrite wasn't checked so it's gone gone SALUTE

empty frost
#

next version will make backups in case of this, i havent gotten around to posting it yet

abstract flame
#

No bods 👍

empty frost
#

added Tool/Weapon generator
added Clothing generator
added UV texture painter and a few UV tools
added Backups and recovery snapshots
added localization

sinful girder
#

can you add being able to copy and paste with hot keys/ctrl c, ctrl v?

#

and a way to easily give items names

storm jasper
#

hey i was wondering how i would be able to use the IK within the mod's dev tools animations.

#

never mind im a dumb ass.

hidden breach
#

hmm, for some reason when I open dev tools it becomes super laggy, even tho my game works well

#

ah it happens when it tries to load my own player model, dunno how to fix that

empty frost
hidden breach
#

lmao, how do i save?

empty frost
hidden breach
#

animation

empty frost
#

expand the actions menu on the left and use export

#

should end up somewhere like this depending on what youre editing \VintagestoryData\InGameDevTools\animations\vanilla\assets\game\shapes\entity\humanoid

hidden breach
#

is it possible to load the bow as a backdrop to see where it would be kinda positioned in the hands?

empty frost
#

in the model editor you can load any reference shape, though you would usually have to position it manually. in the animation editor i did some of the groundwork to have attached references but its not really functional

hidden breach
#

I see thanks, oh yeah the dev version you send here works definitely way smoother

empty frost
#

is it good for animating?

hidden breach
#

I still have to try out and figure out more things, I kinda didn't do much today

steady wave
#

How do you transfer JSON particles into CS? Just by hand?

empty frost
steady wave
steady wave
pulsar folio
#

question, can you make mods with this mod or is this just a bug testing mod

empty frost
#

you can make some of the assets. not the whole mod but a bunch of it

pulsar folio
#

ah i gotcha

#

how does one learn to mod for this game

empty frost