Moderator: OpenTTD Developers
There are so many issues with the in-game mouse pointer that it's actually kept me and some of my friends from playing the game we enjoyed so many years ago.
Alternatively, OpenTTD should use something like `SDL_CreateCursor` to create a real hardware cursor.
Playing on larger maps on an older computer (sometimes I play this on my 'retro' machine); the mouse will feel extremely sluggish.
This is due to the game not keeping a consistent frame rate and the in-game mouse cursor not being able to keep up with the actual mouse position.
Playing on smaller maps on a newer computer; the mouse renders so fast it becomes invisible when moving around.
No Vertical Sync or Triple buffering option in your GPU settings will solve this.
Playing on very high resolutions; the mouse will be very small, to the point where it's almost invisible.
Changing the interface size will also scale the mouse cursor.
I am very happy with the size of the interface when using a different font as well as double sized interface.
But the mouse looks atrocious.
One of the key rules to making a game feel responsive is to never interfere with the controls in any way.
Which means that the mouse cursor should act exactly like the player is used to outside of the game.
Never change the speed of the mouse, never change the (double)/click speed, never add or change the acceleration of the mouse etc.
A Mac mouse cursor should act like it does on every Mac computer, a Windows mouse cursor should act like it does on Windows.
Any change -- big or small -- means the player has to adjust to the new changes, making things feel unfamiliar and also less responsive.
OpenTTD doesn't break all of these rules of course, but in general the mouse is a bit unpolished and doesn't act like you'd expect it to, which makes it feel "off".
A hardware/OS cursor is what we're used to, so a "simple" solution would be to just use that instead of trying to mimic the OS' mouse cursor.
- the sluggishness of the interface on slow maps is a problem with the architecture of the game, where the interface is deeply interwoven with the game loop. to separate this is a difficult task and involves touching code that has existed nearly untouched for decades.
- using SDL cursor stuff needs porting the game to SDL2, which is also not easy
Is this still an issue for you? If so, we could experiment with an option to turn off the custom cursor, like the SDL driver already does for Emscripten here:
https://github.com/OpenTTD/OpenTTD/blob ... v.cpp#L202
An alternative to using the system mouse pointer could be to add a setting to make the game's own mouse pointer double size.
It would be nice to have a separate setting for the pointer, though. I like the default scaling of everything but the mouse pointer, which is vanishingly small. I don't want huge vehicle windows.
Users browsing this forum: No registered users and 2 guests