simple machines forum

Please login or register.

Login with username, password and session length
 

News:

Remember to make your own backup of posts before submitting.

 
 

Author Topic: EXIT: Every part of the controller  (Read 681 times)

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« on: February 22, 2020, 02:37:16 PM »

I’ve been itching to write a post for this blog ever since my last, if not for a subject. If I had staid course I think by now I’d have a release of the 3D modeling software I’ve been developing ever since earlier last year. But I have something better since not long ago I heard from the Moratheia project it’s back on (this was posted sometime earlier, complete with a new image) which shortly put me to work on Sword of Moonlight!

I’ve not put out a new release since mid last year, and hadn’t intended to release this one now after just 2 or 3 weeks except I want to write a blog and publish an unplanned fix for the PlayStation and Xbox trigger buttons I’d rather not sit on.

The genesis of this release is an idea to add a grab-hold-of-walls feature that is analogous to the crouching feature, or grab-hold-of-floors feature. Does that make sense? Communicating video game concepts is not always so easy: by holding movement changes from walking around to leaning out in order to look around. It can make certain types of movement easier and more reliable.

I believe this finalizes a basic movement feature set. I don’t know why I didn’t see it coming! It struck me out of the blue, as these things do. My motivation is always to find out how Sword of Moonlight will end. I’m very pleased with this development.

I wanted to hold off a release until I could complete a ladder feature that will use the holding feature to mount the ladder. I worked on numerous other things, anything that caught my eye. In fact toward the end an idea came up to be able to take the game from a run to a crouch, or crawl (bent over) without stopping to walk. That became the ultimate piece of the movement features since there isn’t any way left to add anything more to the one-and-only button: the King’s Field way is 3 buttons, 2 for hands, and 1 for everything else!

Movement is all around improved. I will try to detail every little thing in the accompanying forum post. Also of interest: there’s now a definitive roadmap for expanded hand controls and I’ve already added a means to hide screen elements (with hand buttons) and I now recommend using one of the triggers for the non-hand button. This wasn’t practical previously, even without the issues I was unaware of. Now that the 2 hand buttons will be expanded on I believe it’s helpful to situate them across from each other on the buttons that touch the triggers.

Here (http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.14.zip) is the direct release download, but you can use the updater too. (I recommend downloading it even if you got the early preview I shared yesterday. I usually stumble on some issues or remember something after a night's rest.)

I will fill in the details tomorrow in a round up write up but until then below is a quote (for safe keeping) from Moratheia's Facebook account. I heard from them sometime after this post's date and haven't heard from them again since.

Moratheia is still alive.
I intended to finish a lot of important work over December but I didn't have access to important files.
Working with the KF engine takes time, and patience especially from those waiting and I appreciate the messages and comments I get from fans. Moratheia has had a long history of required changes (mostly artwork related) and this has been the main reason for witheld releases. A huge break was also required, life happens.
I spent some time looking over the project and remembering what I wanted to finish, and today I had the chance to make some good changes to story and events to make the game flow better. I also decided to hide all NPC eyes as homage to Kings Field, hence the new NPC image.

Finally, I can share some interesting info... I am working on a combo system. It will allow players to chain attacks together simply by pressing the attack button faster. This will allow players to have even more diversity on how they play.

In terms of a release date... Its hard to tell. I have to get the bare bones of V2 up and running before working with the latest release of SomEx (improved version of the KF engine.)
I can confirm that Moratheia will work on all / most systems thanks to SomEx. Ironing out creases in SomEx may take time to get things up and running, but it'll happen.

Thank you all for your support.

[see image attachment]
« Last Edit: March 14, 2020, 03:44:58 AM by Holy Diver »

Holy Diver has 2452 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #1 on: February 23, 2020, 01:37:07 PM »

Summary

First of all, I've fixed more than a few usability bugs in this release so don't pass on it.

Some things I don't have links for is the part about the XInput trigger buttons and work on making triggers much more usable as buttons, and I worked a lot on the mouse system... not how it moves but how the cursor changes states and hides itself. I added a crosshair feature that's accessed by double-clicking to capture the mouse or pressing H on the keyboard. It's just a trick to leave the mouse cursor visible. I don't know if there should be a proper game crosshair. Echo Night has an option but I always disable it myself.

I've added G and J keys for toggling the two HUD elements on and off without entering the Options menu, and this can be done with controller by using both attack buttons. One way is to tap both together or to hide/show one at a time: hold one button and tap the other.

HUD elements: http://www.swordofmoonlight.net/bbs2/index.php?topic=290.msg2795#msg2795

(Related but not in this release: http://www.swordofmoonlight.net/bbs2/index.php?topic=303.0)

Menu button: http://www.swordofmoonlight.net/bbs2/index.php?topic=300.0

Pressing the 5th and 6th buttons in the menus now swaps the menu buttons as a simple way to configure them. I kept having trouble with doing it when it shouldn't have been possible to. I think there may still be gremlins in the system. It's possible to swap accidentally too. If it becomes a problem I may regret this. The feature prints BUTTON SWAP 2-1 on the screen where "2-1" is the new button assignment. The first is the confirm and the second is cancel, and there is also a swap for the 3rd and 4th buttons. The 4th button cancels movies and nothing else currently.

Master volume: http://www.swordofmoonlight.net/bbs2/index.php?topic=302.0

This MASTER VOLUME feature gives you a simple way to manage the volume levels. I have a lot of reservations about the design but I don't know what else to do with it. I hope down the road something will come to me.

Wall hold: http://www.swordofmoonlight.net/bbs2/index.php?topic=301.0

This is the main draw of this release even though the official reason is the XInput triggers work. (Something I haven't said about the triggers is I ended up working on them because Windows has a weird thing where it makes it so you can't use both triggers at the same time with DirectInput, which is what SOM uses. That means I had to add XInput code to it. I meant to do that long before now. I just realized it was missing after thinking about the parenthetical link above.)

To "wall hold" you push against anything (not NPCs) and hold the action button longer than a tap. Until you let go you are able to lean out look around without moving your location. At some point I will add an extension to opt to treat some NPCs like objects and vice versa since people have been known to make objects out of NPCs. (Which is why I've resisted calling them NPCs in my SOM_PRM and SOM_MAP generic language package.)

The mentioned feature about crouching/crawling is executed by tapping or holding the action button after you've let go of it when finished running.

Movement has changed some and feels much better. You can now enter crawlspaces by tapping the action button (without entering crawling mode normally) which previously was done by holding it down, which is how you grab the wall now instead.

Because you can grab or climb any platform there's now a delay to climbing platforms from off the ground, before the tap phase kicks in. If you're jumping/falling climbing happens instantly.

The wall-hold feature is well calibrated but still requires work I think. Especially if you jump into the wall there is too long of a period before you can grab it I think, but there has to be something to keep you from getting stuck on the wall accidentally. It can be unpleasant to grab a wall unintentionally so I have adjusted it to always prefer not to. What constitutes a wall can be just a sliver of anything that is an obstacle.

Before long I'm going to dig deep into the jumping system to make it as friendly as possible. Right now it's a proof of concept I think. It definitely proves the feature is great but it requires more polish still. I fear too that controllers that are jiggly inside (spit out chaotic samples) may not be usable with the current defaults. (There is an extension to calibrate the walking gaits that can technically increase the deadzone in a pinch.)

I'm thinking about trying to average the controller outputs. That may be something all professional games do, I don't know... I worry it could make the controller less responsive. In theory it will to some degree.

The jump system can take advantage of the trigger's variable output (buttons are just off-or-on) to decide to jump or not. That should go a long way to eliminate unintentional jumps. (I think I can improve the jump's direction as well, especially when the stick is pressed only slightly. Unfortunately when you press the stick only a little there are fewer directions you can move in. At the slowest/slightest speed/touch there are only 8 directions. This is by design but it's certainly more noticeable with jumping since there isn't a way to do a slight jump... there used to be but I decided it's best if jumps always clear the same distance.)
« Last Edit: February 23, 2020, 02:08:45 PM by Holy Diver »

Holy Diver has 2452 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #2 on: February 25, 2020, 04:11:35 PM »

Patch

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

Preface

Before I go into long-winded nothing paragraphs, this patch swaps Ctrl and Shift in the sense that Shift now does the Magic function and Ctrl now does the Attack function...

My reason for making this change is I changed Ctrl/Shift to basically imply Alt as an idea I had to lessen the concerns I have about the new MASTER VOLUME system. But after doing this I noticed that using Shift to lower the volume with the controller was backward because it was the right hand instead of the left hand. I reasoned the switch is worth it sincee if  using WASD controls then Shift is easier to press and is on your left hand, and you're using the mouse in your right hand which has Attack on the right button. And if not using WASD then likely you don't care since your left hand isn't pressing movement keys. Anyway, use a controller!

EDITED: The F4 key (flying) is immune to Ctrl and Shift in case you need to slam it on in a pinch. It doesn't combine with Alt except to close the game down, which requires using the real Alt and F4 keys. F3 is undying mode (functionally "god mode" but I changed it a while back so that you get the normal play experience but your life is restored and if you fall you teleport back to solid ground) but I couldn't change that F3 is also for field-of-view which uses Shift to go backward. So it's not exempt. Now you cannot be pressing the attack buttons when toggling function overlay except F4. (E.g. fast-running.)

Unnecessary Details

I worked on SOM again today after noticing the climbing animation was being delayed in a way that could only be explained by error. It lead me down a rabbit hole that amounts to a significant upgrade. This release also has an outstanding problem I couldn't find time to work on but this patch pretty well solves that problem (temporarily) by another way. (The problem is climbing detection isn't fully solved the way it should be but this patch delays the climbing effect until climbing is actually occurring, so it nullifies/narrows the error case by a lot. And it eliminates some false-positive cases, that were ducking without climbing.)

I liked the delayed effect but it was far too delayed. I'm not sure why it didn't bother me before today. So I went in and added a delay to the effect that ultimately doesn't delay the time but does delay the ducking animation. Before the patch you feel like you're launching off with your legs (too slowly) but with the patch I removed that launch period (I may put it back later for high heights) but instead you get a sense that you're pulling your body up after climbing and don't rise up fully until a little while after.

Strikeout: I rolled this back in the following patch. (The climbing behavior is unchanged by this release.)

It prevents jumping at the very beginning of auto-squatting because it looks very weird to jump and squat at the same time, which is impossible to do manually. It looked like hitting your head on the ceiling, which is not inappropriate for auto-squatting but it could happen before you're actually underneath the low-hanging ceiling that is the cause of the auto-squatting.
« Last Edit: February 28, 2020, 10:28:43 AM by Holy Diver »

Holy Diver has 2452 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #3 on: February 26, 2020, 12:10:48 PM »

Patch Patch

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

Third times the charm... I goofed the last patch in the F4 promise... and broke climbing false-positives last minute when I worked on entering into crawlspaces, and I only discovered this because I noticed a glitch when climbing from mid jump.

Also I've made the master-volume system to not wrap around since I think going from 0 to full volume could be harsh.

There is a new system that smooths over movements that change the eye-level into one another that has a double-edge of making blips that shouldn't exist harder to see. This system improves the experience a lot (it's actually an old system that's used elsewhere) and I want to apply it to the ground-level movements too like hydraulics. That's currently not a good experience on quarter-meter stairs and climbing into beveled windows is bumpy too. I think it will solve those problems but I have to rig in a way that only applies to small-scale elevation changes.

After I got a better handle on things I scaled back a lot of stuff I changed just keeping the really good changes and achieving the goals I set for myself.

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #4 on: February 26, 2020, 04:17:49 PM »

EDITED: I forgot a funny thing I wanted to mention... in experimenting with climbing into crawlspaces I noticed with a change that the animation would duck down first and then climb up. I thought it meant it was squatting down before it was climbing. I thought it looked interesting.

It makes it seem like the character is considering that they won't fit and ducking down prior to climbing. I thought that it added character and demonstrated that the climbing scenario is a little different... and it's also a cue that you're going to be squatting to fit into the space at the top.

When I was pulling everything out in the end to prepare the patch it stopped working. So I tried to figure out what had caused it to work. I couldn't see anything really, so I just started plugging in every instance of the climbing variable.

What was actually happening it turned out is the gravity (do_g) extension was causing the climbing to be different (it applies some kind of anti-gravity I think to control liftoff and touchdowns) so it was purely a trick of gravity. I've left it in.

Looking at it now, it just climbs more slowly and the ducking down is actually the squatting animation. But because gravity is stronger you don't appear to climb until squatted down. The slower climbing rate makes sense I suppose for getting into a tighter space and not being able to fully stand up at the summit.

The timing is such that there's only a brief moment when you're going down faster than up but it does feel labored too.

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #5 on: April 30, 2020, 10:47:18 AM »

Patch & Important Updater Files :doh:

For this release I forgot to update the SomEx.csv file so that the updater finds the newest version of the SomEx.dll file. So I've uploaded it along with a few object PRF files that I edited yesterday because they had way, way too large circumferences that for some reason yesterday felt even larger than I remembered.

In addition to this, I've updated the SomEx.dll file (http://csv.swordofmoonlight.net/SomEx.dll/1.2.2.14.zip) to fix a glitch likely from the last patch that could put the climbing status into a confused state, and I changed climbing on shorter platforms to not duck down and to climb more slowly...

I didn't like the feel of it, and I'm pretty sure I didn't test it when I was working on that change last minute when I was last patching this realease. My KF2 project doesn't have short platforms, but half-meter platforms are standard for SOM's stock map tiles.

I chose to slow down climbing in general, and only use the old climbing speed on tall platforms and jumping onto platforms. I didn't slow it down but made the slower speed the default.

Sorry about the update files thing. It's a pity for anyone who might have tried SOM since this release was published, especially because I consider this a high quality release.

EDITED: I later uploaded improved clipping models for the columns in the cemetery.
« Last Edit: April 30, 2020, 03:57:34 PM by Holy Diver »

Holy Diver has 2452 posts

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #6 on: May 27, 2020, 08:05:03 AM »

For the record, for future releases/patches yesterday for triggers I augmented the way to transition from running to crouching/squatting to require the trigger to be fully released  in order to avoid accidentally doing it just by trying to adjust your grip on the triggers.

I am not a fan of triggers, I wish that in order to add them to controllers we didn't have to sacrifice our digital buttons to the trigger gods. I've never once in my video game career used a trigger for anything since they were added to the PS3 generation controllers; nothing that a button isn't better suited to.

They make the jumping/squatting system unpredictable. I'm still occasionally making mistakes with them, but at least I'm aware of the problems. I pray at some point I can improve the experience somehow. In theory triggers offer more immediate, sensitive feedback that can be useful, and maybe even superior with enough innovation time.

I want to make SOM a permanent game system. You lose a lot in the ephemeral nature of games as product. Here today, gone tomorrow, in a sense you can never improve that way, or you're always pouring new foundations, and there is always a chance of back sliding.

Holy Diver

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • About/Support Me/Sword of Moonlight
look out honey, 'cause I'm using technology
Holy Diver says,
« Reply #7 on: October 11, 2020, 02:18:39 AM »

Follow-up

(For the record,)

I've added (3mos later) an update to the http://www.swordofmoonlight.net/bbs2/index.php?topic=301.0 link about new control additions continuing in the same vein. I'm planning a new release that will highlight these additions, however I don't think I will be able to take time to do a write-up until after I can publish my new KF2 demo in the next few days.