A Door to the Mists--"Depictions" Demo!

A new version, version 0.9.5, has been uploaded!

This version includes the following changes:

  • Increased jump-height, and with it jump-distance.
  • A few traversal changes in Chapter Two related to the new jump-height, including a new minor traversal section.
  • Various security updates.
    • In particular, the language files should now be safe!
      • (I still don’t recommend taking files from strangers in general, of course.)
  • The fixing of some memory leaks.
  • Miscellaneous minor fixes and changes.

As before, the link remains the same, but is included for convenience:

2 Likes

Tried it on my old laptop (2-core). Is the input lag normal or is it just my slow laptop? Still had like 30-60 fps in the tutorial area and around 20 in the next one.
Also there is some inconsistency to my mouse turning when it sometimes suddenly spins way faster.

Btw Im stuck, after I got the second symbol for the next door I cant find the key for them. Where is it? edit: Nvm, found it, it was behind the rubble.

Thank you for doing so! And thank you very much for the report! :slight_smile:

Hmm… There isn’t supposed to be any input-lag. I do think that I’ve seen some issues under Windows, but I’m not sure of with what consistency, or what caused them.

20fps is, however, quite a low frame-rate!

Very odd… I wonder whether it’s not in some way connected to the frame-rate that you’re experiencing…

Ah, I’m glad that you found the way forward! :slight_smile:

Played more and I think its just the low framerate, when I had like 50-60fps inside the tomb the input lag was much less and also the mouse movement seemed consistent.

Ah, I’m glad to read that! :slight_smile:

I might look into it nevertheless–I wouldn’t expect to see such lag even at so low a frame-rate, so it’s possible that I’ve made some mistake in my handling of the mouse!

When handling mouselook movement, make sure you are using base.win.getPointer() and not base.mouseWatcherNode. The former behaves better with low frame-rates. See this post.

Ah, interesting, and thank you! I’ve made a note to institute that change! :slight_smile:

A question, if I may: the API indicates that “base.win.getPointer()” is deprecated in favour of “get_pointer_device().get_pointer()”–but I don’t seem to be finding any other reference to the latter, even on the forum. Is this an error in the manual (perhaps old information), or should I be using something other than “base.win.getPointer()”…?

[edit]
Also, it seems that, unlike “mouseWatcherNode.getMouse()”, “win.getPointer(0)” returns its values in pixel-coordinates–and thus gives different values for different window-sizes.

Is there any facility for automatically adjusting it to work more similarly to “getMouse”?

Yeah, this is a bit confusing. The correct method name is GraphicsWindow.get_input_device (it takes an index, which is usually zero). The API reference states that this returns an InputDevice, but it’s actually a GraphicsWindowInputDevice, which is derived from InputDevice (which the latter’s API page doesn’t show you). The latter doesn’t have a get_pointer method, but the former does.

Aaah, interesting! Thank you for clarifying! :slight_smile:

Some bugs:

  • mouse cursor is confined in the window area even when it is in background
  • fullscreen didnt work until I changed the resolution once (not sure if the black borders are intentional, I think it should change resolution to the the size of my screen), when I uncheck it the window size is the size of my screen with black borders and adjusts (removes the black borders) only after I reenter the options menu
  • there is the chest with the metal bar in it, the rope around the chest recovered (I guess after I loaded the game)

Some needed features imo, would be great if I could quit the game without having to go to the main menu, FPS counter option in the settings.
And this time Im stuck after I got the metal bar, I need something thin and rigid to open one door or open another door where something is jamming the lock. I think, I explored everything twice at least and cant find solution. Help?

Thank you for the report! :slight_smile:

Hmm… I thought that this was an issue that was fixed in the engine…

I take it that you’re running under Windows? (If so, which Windows, specifically?)

Ah, interesting. I’ve noted that to look into, thanks!

Oh dear! Likewise noted, thank you!

Noted, thank you. :slight_smile:

While not present in the settings, you should be able to bring up an FPS counter by pressing “f”.

There are actually two ways forward here–only one requires that you find that thin object. By the sounds of it, you already have the means to take the other way.

For a slightly more concrete hint:
In the room that holds the locked door that requires the thin object, look around for signs of damage–especially on the floor…

1 Like

base.win.getPointer(0) is the correct method to use. Using it with an index other than 0 is deprecated.

You need to divide by the window size yourself. This can also be obtained from base.win.

Ah, I see. Thank you for clarifying!

It’s a pity that it’s no longer normalised, but the additional calculations are unlikely to serious hit performance, I daresay!

Then why does the API reference state that this method is deprecated?

Or you could use this little trick I just came up with :grin: :

class App(ShowBase):

    def __init__(self):

        ShowBase.__init__(self)
        self.input_device = self.win.get_input_device(0)
        self.task_mgr.add(self.__get_mouse_pos, "get_mouse_pos")

    def __get_mouse_pos(self, task):

        if not self.mouseWatcherNode.has_mouse():
            return task.cont

        pointer = self.input_device.get_pointer()
        pos = Point3(pointer.x, 0., pointer.y)
        pos = NodePath("tmp").get_relative_point(self.pixel2d, pos)
        print("\nConverted pixel coords:", Point2(pos.x, 2. - pos.z))
        print("Window coords:", self.mouseWatcherNode.get_mouse())

        return task.cont


app = App()
app.run()

Im on W7.
I think a lot of players will get really stuck on the loose tiles, I noticed them only when you gave me a hint and saw the text on the mouse pointer change while walking around looking at ground. Imo they should look more - loose. :stuck_out_tongue: Or put a big stone or slab there, it will make more sense why you need a metal rod (leverage).

I feel like dividing by the window-size is simpler. :stuck_out_tongue:

(It is a clever idea, however! ^_^)

Noted, thank you. :slight_smile:

I don’t know, they are somewhat lifted. And if players don’t find them, there’s still the other way forward.

(If you want a hint for that other way forward, by the way, check the corners of that same room–perhaps especially behind things.)

A new version has been uploaded–version 0.9.7!

This version takes on some feedback given on the previous version, and includes the following updates:

  • Changes to the shading of areas lit by the player-character’s lantern, especially in its highlights.
  • New cursor mode that indicates interactive/examinable objects
  • Fixed an area in Chapter Two in which players could get stuck in unintended geometry.
  • Removed the brief “stun” effect in the second mummy’s “flurry” attack.
  • Improved mouse-look behaviour when playing at lower frame-rates (hopefully).
  • Miscellaneous minor changes and fixes.

As before, it can be downloaded from itch.io, here:
A Door to the Mists--"Depictions" Demo by Ian Eborn



2 Likes

It seems the mouse glitch is gone. Good job.

Excellent! I’m glad to read that! :slight_smile: (And thank you for reporting it!)

It was fixed simply by replacing the use of “getMouse” with “getPointer”, as suggested by rdb above, I believe.