simple machines forum

Sword of Moonlight => Devs => Topic started by: Holey Moley on May 01, 2018, 03:47:51 AM

Title: EXIT: Things to come
Post by: Holey Moley on May 01, 2018, 03:47:51 AM
Quote from: http://www.swordofmoonlight.net/archives/sword-of-moonlight/2018/05/things-to-come/
This is going to be a short post: I’ve been working hard (and often) on a major release that expands upon the profile editing tools and integrates them into the main experience; The crude “DLC” tools for making all new building-blocks for custom projects or to share. It’s taking a long time. There are five tools, and a sixth is needed. Though small, they’re very dense, each of them. They are to be seamlessly integrated by replacing the 3D model viewing elements with the new tools, since they include views of the 3D models. They have a lot more personality, and they are able to use the same extensions as the player, and so appear identical to the games. Upon completion, only the level designer will remain to be similarly upgraded. I feel that I will want to embark on that project, since it will otherwise appear not up-to-code until I do so.

(http://www.swordofmoonlight.net/wp-content/uploads/2018/05/SOM-Profiles-Workshop.png)

In other news: In days I will have a PlayStation VR at my side, that I’ve ordered exclusively to add a stereo display feature to Sword of Moonlight. Since I learned that the headset would be perfect, I’ve thought about it somewhat, for at least a couple of weeks, off an on. I think it’s going to be a quick and painless operation, one that is likely to be more-or-less completed within this month; In which case a VR release may happen before these tools are released.

This (http://www.swordofmoonlight.net/bbs2/index.php?topic=281.msg2501#new) topic/thread has plenty of pictures of these new tools.

Here (https://github.com/gusmanb/PSVRFramework) is control panel like software that I will be using to add Sony's VR headset to SOM. Here (http://www.swordofmoonlight.net/bbs2/index.php?topic=282.0) is a topic/thread where I will be reporting on this feature's progress.

EDITED: I added an image. I wasn't going to, but I ran into some trouble, and got sucked back into messing with this thing... and happened to find a model I liked for a cover image. (In last minute code changes, I turned a "1.0" into a "1" and it killed the do_aa effect. It took me a while to figure out what I'd done, because it was 1.0 for the horizontal dimension, but left 1 along the vertical.)

P.S. Notice how clean/solid the lines are around the skeleton's bones, etc.
Title: Re: EXIT: Things to come
Post by: Holey Moley on July 19, 2018, 10:31:17 PM
Quote from: http://www.swordofmoonlight.net/archives/sword-of-moonlight/2018/07/things-to-come-2/
A major release is now available. Also, the Windows 8/10 spellchecker service is enabled. PlayStation VR came a long way since the the last blog post, but is and will remain a demonstration.

This release adds an entire new dimension to Sword of Moonlight’s tools, by integrating new, full-featured profile editors into the main tools. The new editors replace the old model viewers, and while they remain a little rough around the edges owing to exhaustion, have a lot more character, since they have lighting, and pose characters, and also they use the same graphical pathway as the game player component, and so have access to all of the same visual effects, including the antialiasing extensions.

(http://www.swordofmoonlight.net/wp-content/uploads/2018/07/SOM-Profiles-Workshop-B.png)

The level design tool is not included in the graphical overhaul. It’s going to look like a sore thumb until it sees medical attention.

Some of the new features open up previously unavailable elements of Sword of Moonlight. In the last weeks someone has made great inroads into King’s Field II’s compact disc for the PlayStation. I think more than ever we are on track for having a port before its 25th anniversary. It just so happens new profile creation tools are going to play a big part in the first steps of the process!

Here (http://www.swordofmoonlight.com/bbs/index.php?topic=1129.0) is TheStolenBattenberg's progress of late with King's Field II and other From Software artifacts. (I believe they have an account here... little used if so.)

P.S. Needless to say, this is now a release thread, and as-such I will be dropping details on the new release... and probably a lot of patches later on... just as soon as I can muster the energy to make a go of it.
Title: Re: EXIT: Things to come
Post by: Holey Moley on July 21, 2018, 04:30:10 PM
This link is the new release... but the Updater will also attempt to download/install it if the TOOL folder is SVN Updated with Subversion.

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

An up-to-date language package is required for the new tools to appear. They can be found by using the Updater's language menu to redownload the TOOL packages. Direct links follow.

(English)
http://www.swordofmoonlight.net/text/English/Neutral.zip
(Japanese)
http://www.swordofmoonlight.net/text/日本語/最新.zip (http://www.swordofmoonlight.net/text/日本語/最新.zip)
Title: Re: EXIT: Things to come
Post by: Holey Moley on July 25, 2018, 05:27:28 AM
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This patch fixes a long unnoticed bug in SOM_MAP's event that tells if a "magic" has been obtained.

It also reverses the sense of zooming in on the real-time map, so that it works like the tools' 3D zoom function.

I've halved the snappiness of the deadzone mainly because I found it unpleasantly jarring when entering it unintentionally. It still feels snappy to me. It's very possible that the perception of the experience has been changed since this release tied the X/Z and U/V axis pairs together.
Title: Re: EXIT: Things to come
Post by: Holey Moley on July 30, 2018, 04:06:18 AM
Depressing Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

Today SOM_MAIN would not open. It is the gateway into Sword of Moonlight... so it's kind of a problem! I don't often use it, because it's easier to use a shortcut to bypass it. I don't understand why this wasn't a problem before, but the problem is an extension had been trying to open SYS.DAT to read its counter names for the [Number] part of the Ex.ini file.

I recently let SOM_MAIN use a SOM file, if provided, so it can use the new extension to enlarge the font/tool. I don't see how this problem would be avoided before, and I am no using a SOM file with it, when it crashes now. So I have no clue why now, but I've fixed it, and am depressed if this is a good indicator that no one has tried this release, but what else is new?
Title: Re: EXIT: Things to come
Post by: Holey Moley on July 31, 2018, 07:56:34 AM
CRITICAL PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This fixes issues reading MAP files into SOM_MAP. I don't know how it's been working for me without this fix for all this time. It's weird how things that shouldn't work at all will sometimes work in software, for a long time without being noticed. It definitely happens.

Fortunately a few of KF2's maps wouldn't load for me. At first I thought it was just a version 13 problem, since that has not been tested. But the real problem (and this fixes a few issues actually) would effect all MAP files. (Version 13 maps are not limited to PRT files named 0000 through 1023.)

P.S. I think that this bug would fail to load your map, instead of corrupting it. That's what happened in my cases, but it could just depend on how stringent SOM_MAP is. So probably no worries if your maps work.
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 03, 2018, 04:14:20 PM
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

Maybe there is more in this patch (I can't recall) but mainly I discovered a bug in the code that fully expands MSM files (in mapcomp.exe) so that do_aa can work. The problem comes up if the edge of some memory is on the end of a page file. Frankly, I wouldn't have thought this possible, under normal circumstances. But it uses a memory-mapped-file. And I guess in that case, if the file happens to be the same size as a page of memory, then it can happen. (If you read from an unmapped address, a program crashes.)
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 14, 2018, 01:56:16 PM
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This patch improves the movement issues brought about by recent changes (improvements that kind of shift the ground from beneath the established order) to the point where I've restored my confidence in its experience.

Instead of boosting the diagonals to reach the 5th gait I realized it was pretty simple to just boost the signal uniformly to the amount necessary. That means it goes over 1 not on the diagonals, but that is clipped away. The benefit of this is a more uniform shape overall.

Second to this, I played around with the smoothing parameters afterward. In doing so I noticed a parameter that smooths the stiffness of the system over time just so the stiffness doesn't change too abruptly. I believe this is somehow responsible for what feels like a runaway train effect that can happen when circling the right thumbstick. (Which is not really a natural movement, but nevertheless. I think circling the stick is something people do to get a feel for the controls however... even though it doesn't exactly make sense because the stick's position isn't an absolute position.)

It does linear interpolation based on the elapsed time, and I scaled it back to just using the time factor, and not multiplying it for a snappier transition. I don't know if the problem is solved because this was distorting the system, or if it's just smoothed out, but I don't notice it now.

FWIW I think that now that this water is under the bridge, what's due is a serious review of the movement system... especially because I want to integrate the new pad rotation system, and the old [Joystick] extensions are currently broken since they are not supported by the thumb system yet, but the controls system assumes that axis coupling is in effect anyway. Also the gaits input/output extensions need better support with regard to these recent developments. In short: if I do the responsible thing, very possibly this is the subject matter of the release after the next. At the end of the day, the controls are what matters to me more than anything.
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 14, 2018, 04:21:15 PM
EDITED/Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

I noticed unpleasantness in the low/half gaits. I don't think there is problem. But maybe the sensitivity is more noticeable. In any rate, I decided to establish a system for detecting "nudges" of the controller. I decided a nudge is not just a momentary nudge, but also includes extended use of the lowest full gait, as long as there are no sudden movements. This is because the problem is how to deal with these very slow/short movements, where movement breaks down, and the controller's physical deadzone can be veered into quite easily.

The problem of falling into the deadzone may be insolvable. It's annoying when it happens, but at the least it doesn't have to appear to be an abrupt halt of movement. It's exacerbated because I can never really get a since of where the middle of my right thumbstick is. I don't seem to have that problem with the left. I think that might be because the way the screen moves more readily communicates where you are at in relation to the stick.
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 18, 2018, 07:50:17 PM
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

Fix for a (depressing) bug where adding an event to SOM_MAP beyond the last event crashes. It has to do with the find item by keyboard navigation extension.

I don't know how this can exist for so long with being noticed. As usual it means that no one is using SOM :crying:

P.S. In the last couple days I've been wrestling with DirectShow to begin to support other file formats for common media files. I want to support music/movie files with better compression, and then consider textures.
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 21, 2018, 09:37:17 PM
New Project Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

Damn! I noticed this problem a while back, made a note, and promptly forgot about its severity.

Bottom line is the working directory change got moved some time ago so that when a new project is made, the Ex.ini template would end up in the TOOL folder, instead of the project folder.

That's really awful, because a project without an Ex.ini file can be very unpleasant. Luckily nobody's using SOM for jack :smug:
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 26, 2018, 07:30:16 AM
Patch

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This is a fix/feature for SOM_MAP's tile editor screen. A while back I made it so Enter applied the changes instead of closing the screen, but neglected to differentiate between the key and the button and X button. I'm not sure what happened there... or how I made that mistake.

In any case, this made me realize that it would be easy to set up a confirmation box. So I've added one. This afternoon I also worked on new buttons for bypassing the confirmation box, however it won't be available until the next release, since it requires a language pack upgrade...

With the new buttons, it's possible to not have to press the Apply button. But I recommend only doing that if you are doing intensive/mindful work.
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 29, 2018, 12:27:47 PM
CRITICAL PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

I discovered a problem with MAP files loading.

In short, if a file reading operation lands in the middle of a CR/LF pair (carriage-return, line-feed) the file reading code tries to "peek" at the next byte in the file instead of buffering. I thought that if any peeking was happening it would've been obvious by now, but I guess it's a more rare occurrence than I thought (or else I would've run into the problem before now.)
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 30, 2018, 12:09:47 AM
EDITED: :doh: yesterday's patch broke the save function. Crossing fingers nobody's maps got corrupted. It's fixed now, of course. I was not testing write/save yesterday. I was eager to publish a fix. Forgot I changed how a slush buffer was implemented, and had not tested it. Back up MAP work at the end of the day.

EDITED (2X) For the record, there was still a way for CRLF pairs to leak, that is plugged by the third attempt of this patch :king: :king: :king:
Title: Re: EXIT: Things to come
Post by: Holey Moley on August 30, 2018, 05:14:36 PM
CONTROLS TUNING PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This patch has significantly improved the thumbpad's feeling/response. It is close to perfect, and these new settings happen to converge on the ones long used for ducking/leaning out. I think that's a good sign to make both consistent. The split happened because crouching didn't feel good, a long time ago. Now it's come full circle I guess. And with the new nudge feature, it is using the same setting as crouching uses to "snap" back when let go. The only difference is when not nudging and not crouching, the snap is significantly more... several times so.

The transition between gaits for looking is still not where I'd like it to be. I ended up with these better settings because I was trying to improve it. Going from gait 2 to 3 is especially abrupt. It can sometimes feel like the controls are being stolen away from you.... one sec....

I just change gait 3's speed if do_u2 is in use to make the transition work. It's a fudge, but works. Except it seems to make the next transition need a slight rebalancing as well. I will I guess work on more complete way to change the speeds of the gaits.

The speeds are really arbitrary, but originally they were tied to fractions, that could be synchronized with the refresh rate, which was how analog worked for a long time, until do_u2 was added to reduce the separation error.

This system still works. And is used in emulation mode. Though without smoothing, since emulation mode doesn't do smoothing. So it's pretty crazy.


In any event, the other thing that can use improvement is how movement/speed changes depending on its direction, and especially so when running. The problem is they were developed for the raw inputs from the Sony controllers, which are more like sawed off squares that are pretty much 1 until very quickly turning on a dime around the diagonal. Now the new/improved system has the gaits evenly spaced out, and more circular if not so, these gait effects need to be retested/reworked.
Title: Re: EXIT: Things to come
Post by: Holey Moley on September 02, 2018, 07:26:10 AM
CONTROLS TUNING PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

This patch continues to spotfix the controls after the major shakeup of late. It compensates for the uniform "boost" effect intended to get to gait 5 on the diagonals (after converting the square input into a more precise circle) by moving the outer deadzone to 1 if escape_analog_gaits is not set up... if it is  set up, then it must have its final gait set to 1 manually, or your preference.

Basically, it's not safe to expect a controller to go all the way to 1 (my DualShock 3 won't) but after the boost 0.95 becomes more than 1, and so will saturate much sooner. Basically with boost, the artificial safety restriction can be lifted, or needs to be extended to reflect the boost. The speed of this gait is 1, even if it cannot be set to match it.

Without this adjustment the controller will hit top speed sooner, and there is be a large region where the controller can move at full speed. I don't think the DualShock 3 is by any means linear, or a simple change from 0.95 to 1 would not make such a great difference. It's arguable if having a big zone to float in is more comfortable or not. I have no idea, but decided to change this for now, because it maps more evenly.

Secondly, I've rebalanced gait 4's output speed when using do_u2 as suggested by the earlier patch's post. These speed changes don't change the input requirement, but only address the apparent change in speed when crossing these gaits to be more pleasant. Translation: it might feel funny to your thumbs, but should look better to your eyes.
Title: Re: EXIT: Things to come
Post by: Holey Moley on September 02, 2018, 05:13:51 PM
YET ANOTHER CONTROLS PATCH

http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.6.zip

I feel like I've gotten no normal work done today, but here is another controls patch, that feels even better, and that I'm pretty excited about.

It's just more tuning, but what I realized is that by fudging the gait output speeds it was possible to increase the default value for the u2_power extension...

With that in mind, I really wanted to make the 1st turning gait feel like it moves at the same speed as the 1st moving gait, so that it feels like there is a unified speed of movement... even if the perception of movement when turning depends much more on how far things are in the distance in front of your, and the feeling of unity breaks down almost immediately as gaits increase... but a feeling can go a long way to blot out a reality.

Plus, I've always wanted slower turning gaits. That was the genesis of u2_power after all. It creates an exponential curve out of the turning speeds, thereby lowering significantly the speeds of the lower gaits, and all gaits, until the final gait.

The problem with increasing the exponent is it effectively increases the distance or separation between the gaits. More separation means the transitions are more jarring. So, what I did by fudging the output speeds is create some breathing room for increasing the exponent.

This patch changes the exponent's default to 1.75, from 1.5. I think this is probably an ideal setting, or close to it. Because the speed is going to match walking speed, which is linear. And a power of 2, tends to be too weird versus moving a thumb more or less linearly resulting in nonlinear turning motions.

In order to achieve this, the transitions had to be less noticeable. I think I want them to be somewhat noticeable. It even helps to have a visible cue of the gait switching over. Notice that "noticeable" means when you are slowly scanning a scene, and changing speed one gait at a time, no quicker than required to transition.

And I can only achieve this by loosening up the spring system that governs it. But I think it feels good, if not better than before. It feels more languid, but that can impart a sense of weight, and it matches the slower turning speed that is now achievable. I just chose a looser value. It changes the feel of crouching/leaning out also, since I'm no longer differentiating between these modes.

FWIW I've always wanted a slower possible turning speed, but have not been able to achieve it for issues with transitioning the gaits. I want it to feel like a light nudge when the gears shift so-to-speak, but not like a kick in the pants, or whiplash.

In order to customize these things, there will need to be a bevy of extensions. But in truth, I think that defaults are the way to go. Because all games should have the same feel. But I can understand if individuals want to change the feel.

There will have to be a new u2 Detail extension to change the stiffness of the spring system. And there probably will need to extensions for controlling both inputs and outputs for gaits. Currently there is just inputs. But I feel like all of this will probably have to wait until there is an easier way to adjust these things (Exselector) without having to close out and start over a game. I'm planning a visualization thing before long, so that you can at least get a feel for how your game controller works. New extensions will likely come with that. In the meantime, games definitely shouldn't mess with these things.

Right now the basic controls feel amazing. The various dashing gaits need some work however in the sideways movement department. I don't have immediate plans to look at that short of a decent game/demo turning up.