Page 3 of 9

Re: Korman: wanted features

PostPosted: Sat Feb 02, 2019 10:01 am
by J'Kla
Chacal wrote:Wanted features:
- export aborts when more than 3 ladders in the Age

Please visit Enobmort on Deep island and this is the old version the new version has the same number of ladders built with Korman and exported as a Myst Online Format

I was having an issue exporting any ladders in the older format I have been told this has been sorted.

I use MOUL format as I now have a dirtsand shard to test I suppose I should try and export to the old format and get the Deep Island Enobmort updated as it now has the extended Walker story embedded.

Re: Korman: wanted features

PostPosted: Mon Feb 04, 2019 11:17 pm
by Tsar Hoikas
Back to the topic at hand... Now is the time to request features (in a clear, concise manner) for the next version of Korman, which is now in the planning stage.

Re: Korman: wanted features

PostPosted: Tue Feb 05, 2019 12:01 pm
by Sirius
I'm not working on any big Age currently, so I don't really have requests for things I absolutely need.

But I do have a couple of suggestions, if that interests you.

A built-in editor for SDL records would be rather useful IMHO. Like a very simple list in which you can add variables with a type, array size and default value. (This would also avoid problems with people removing older versions or forgetting to update their SDL version number).

I also have a few more suggestions, but those are pretty low priority IMHO.

Show Spoiler

But like I said, it's not really high priority in my opinion, and isn't at all mandatory for the next version of Korman.

Re: Korman: wanted features

PostPosted: Tue Feb 05, 2019 1:16 pm
by Deledrius
Sirius wrote:- MultistageBehMods, but I see it's already mentioned on GitHub, and they are very rarely used anyway. (MBM are really powerful :shock: They are the sole reason you can still climb the Gahreesen Wall on DI)[/spoiler]

They're pretty handy for doing things like linking books (that involve the avatar seeking to the correct position, playing the touch anim, and then linking out).

I've had this in progress for the last two versions and it's nearly done. Some family issues IRL prevented me from having it done in time. I hope to have it ready for the next release, and possibly some simplifications for common use-cases, too.

Re: Korman: wanted features

PostPosted: Tue Feb 05, 2019 3:59 pm
by Tsar Hoikas
Sirius wrote:A built-in editor for SDL records would be rather useful IMHO. Like a very simple list in which you can add variables with a type, array size and default value. (This would also avoid problems with people removing older versions or forgetting to update their SDL version number).

This came up in discussions recently on IRC. I think such a thing would be incredibly useful, however, there are some problems. SDL states are stored in a "blob" format. The only things specified in that blob format are the descriptor name, version, and variable values. The names are never stored.

1) An SDL file must always have all versions available at all times, otherwise the client cannot understand the blob (no way to map from blob to names) and the server has no way to upgrade to the new version.
2) Changing an SDL version that is already used by adding or subtracting a variable will potentially make the client and server unable to read the already saved blobs.
3) Just because someone runs the exporter doesn't mean the blend file will be saved after the export, so we cannot reliably store the SDL version number in the blend file.
4) Someone might share their blend file or export to a new Uru directory that doesn't have an old version of the age's SDL file, so we can't simply read the old SDL file and check its version.

My first inclination would be to increment the version every time the user makes a change in the SDL editor, but you run into the problem of the user testing the age with SDL version, say, 10. URU now uses SDL version 10. The user thinks that's complete crap and nukes Blender without saving. Next day, exports the old version with SDL version 5. Versions 6 though 10 are now lost, and URU has no way to deal with the age state. User links to age and URU crashes with the message "SDL DESC PROBLEM". :|

I think an SDL editor is a good idea, I'm just not certain how it can be implemented in a way that prevents someone from shooting their foot off. Suggestions are welcome!

Re: Korman: wanted features

PostPosted: Wed Feb 06, 2019 8:59 am
by Sirius
Hmm, that's tough.
A possible solution would be to compare the SDL within Blender with the already exported one and attempt to merge both, but that doesn't prevent 100% of the issues.
Another solution is to NOT export the SDL along with the Age, but instead add an "Export SDL and Save Blender File" button to the SDL editor (to enforce saving the Blender file once the SDL is exported).
Or maybe store the SDL config entirely outside of Blender, but this also has its own issues... I'm not really fond of the idea.

Deledrius wrote:I've had this in progress for the last two versions and it's nearly done.

Nice ! Simplifications for common use cases sounds like a good idea too. (aren't some MSBM just used for the smartseek but without playing any animation ? I think I recall something confusing like that)

Re: Korman: wanted features

PostPosted: Thu Feb 07, 2019 9:54 pm
by Chacal
Seems to me the problem is caused by the over-simplistic process of distributing Uru content: files are copied and no installer app is used.

Let's call new content a "distribution". While most files just need to be copied over in the user's dat folder, some content need to be added to existing files, e.g. Page entries in .age files, and SDL VERSION fragments in SDL files. If an installer was used:
1- The distribution's author could specify content to be added to the user's files. e.g. the distribution could contain a new SDL fragment instead of a whole SDLfile.
2- The installer would, in addition to copying new files, open the relevant user's files, add the content from the distribution and write the files back. SDL version numbers could end up different for each user, which is of no concern.

I have written such an installer a decade ago, called "UruDistro". It was never released because I had my mind set on including an uninstall function, which is ten times more complex than the install function. I got bogged down trying, the code kept growing and I just lost interest. But the install function was working perfectly.

Re: Korman: wanted features

PostPosted: Sun Feb 10, 2019 5:05 am
by Sirius
I'm not really in favor of an installer, to be honest. As long as people have direct access to the game files, they will always be tempted to bypass the installer, whether it's during Age building by making backups of particular files, or by mistake when releasing simple update files to the community. For the same reason, I think it's better to ensure everyone has the same SDL version number across installs. Just in case.

Fortunately, offline saves don't break often (at worse simply deleting the Age's save file solves the problem), and Ages are often released through Shards or UAM rather than as a direct download. Which means Shards admins like Diafero or Hoikas are usually aware of the problem and can double-check for issues before putting an invalid SDL online (hopefully with an automatic conflict detection tool, so they don't have to review SDL files themselves ;) ).

Re: Korman: wanted features

PostPosted: Mon Mar 04, 2019 12:58 am
by J'Kla
Compatibility with Blender 2.80

For all I know this may not be a thing I am looking at using Blender 2.8 for some of my other projects so It would be handy to only deal with one version.

Re: Korman: wanted features

PostPosted: Mon Mar 04, 2019 1:18 am
by J'Kla
Some way of using procedural node based textures with in the production workflow.

As far as I am aware there is no way of having procedural textures within the finished export.

What I am considering here is we create a picture frame within our age space inside the frame we have a plane that acts as the canvas.

Now we have node based tools that allow us to manipulate what appears on the canvas.

A node for the input file
A node that handles rotation
A node that handles scale
A node that handles unwrapping
A node that handles emission
A node that makes the canvas clickable
A node that attaches a variable
A node that does some math on that variable based on the click
A note that changes the input based on the state of the variable

Could the input handle animation.

I think I remember we were capable of making linking books that had an animation on a page. That the animation was a link to other ages. (This may be a false memory).

Once we have finished with our node tinkering the result is whats used for export so the net result is an object with an in game appearance that could be clickable and have some in game in age variable attached that can be accessed elsewhere in the age.

I am probably going to revisit this post to clarify and to be fair I am probably as we say in the old anglo-saxon "Talking Shite"