Latest Comments by Shmerl
The latest System Shock update reconfirms Linux support, shows off more art
30 Jan 2018 at 11:11 pm UTC Likes: 2
30 Jan 2018 at 11:11 pm UTC Likes: 2
Nightdive is a great studio and they support Linux in general.
Microsoft is rumoured to be looking to buy Valve, EA and others
30 Jan 2018 at 9:57 pm UTC Likes: 7
30 Jan 2018 at 9:57 pm UTC Likes: 7
The last thing we need is MS monster messing up Linux gaming. About EA? Not sure if it would make it any worse than it already is.
And regarding exclusive releases - this dumb and insulting approach should die out already. Normal game creators should strive to increase their reach, not to insult users by excluding them.
And regarding exclusive releases - this dumb and insulting approach should die out already. Normal game creators should strive to increase their reach, not to insult users by excluding them.
Don't Sink, a sandbox adventure pirate RPG now has Linux support
30 Jan 2018 at 4:44 am UTC Likes: 2
Today developers use common bloated engines that do nothing of the sort. So unless they design their engine from scratch to be actually minimalistic, don't expect their games to be less demanding. There are exceptions of course. Such as Pico-8, or LÖVE which are made to be minimalistic to begin with: https://love2d.org [External Link]
30 Jan 2018 at 4:44 am UTC Likes: 2
Quoting: Purple Library GuySo then if you have a game whose graphics are simplified with mostly static environments, in short a game whose look could have been readily produced 15+ years ago with the computing resources available then, why does it not imply using less computing resources? It's distinctly counterintuitive.The reason old games could use less resources is that their engines were carefully crafted to use less to achieve more. I.e. they used every trick they could to make things look better within limitations of available hardware. That required quite a lot of effort and ingenuity.
Today developers use common bloated engines that do nothing of the sort. So unless they design their engine from scratch to be actually minimalistic, don't expect their games to be less demanding. There are exceptions of course. Such as Pico-8, or LÖVE which are made to be minimalistic to begin with: https://love2d.org [External Link]
It's time to bug Feral Interactive about future port requests once again
29 Jan 2018 at 1:54 pm UTC
29 Jan 2018 at 1:54 pm UTC
I don't focus just on the binary, but on the source level as well. That's the difference in how I view non native result. In the end, you get a binary that runs on Linux either way, because we aren't talking about VMs here.
So in this sense, Feral's ports aren't native either, because they wrap foreign API in their code into native one.
So in this sense, Feral's ports aren't native either, because they wrap foreign API in their code into native one.
It's time to bug Feral Interactive about future port requests once again
29 Jan 2018 at 1:05 am UTC
I.e. it's still pretty playable, but there is a performance hit that you need to take in account for given hardware.
That's what translation here is. It's not just simply taking shaders and translating them. It's trying to map completely different API with its own logic, into another one with its own restrictions. That's a logical translation. It's probably easier to make it efficient if you are translating it into low level Vulkan.
29 Jan 2018 at 1:05 am UTC
Quoting: GuestI'm actually curious about why it seems to matter. What does "fully native" give that a source or runtime based wrapper does not? I think performance is not really that much of a problem; while a "fully native" game would likely have better performance, that only comes from inclusion during game development and engine design rather than any compiler magic.If performance isn't a problem, then it doens't matter much, except from design cleanness perspective. But performance isn't always an easy target. Consider for example performance hit that The Witcher 3 gets in Wine, because of translation of D3D11 into OpenGL 4.x.
I.e. it's still pretty playable, but there is a performance hit that you need to take in account for given hardware.
That's what translation here is. It's not just simply taking shaders and translating them. It's trying to map completely different API with its own logic, into another one with its own restrictions. That's a logical translation. It's probably easier to make it efficient if you are translating it into low level Vulkan.
It's time to bug Feral Interactive about future port requests once again
29 Jan 2018 at 1:00 am UTC
29 Jan 2018 at 1:00 am UTC
Quoting: natewardawgBy your own definition of what translation is, there's no such thingIt's not a new thing translating one API into anther. You can say "there is no such thing", but it's not really uncommon.
Quoting: natewardawgIf you disagree, I have one simple question: How much non native game design and/or code can be present in order to call it a "Native Port"?To make it native, it should be designed with native API as a target. And not retrofitted post factum by wrapping foreign API into native one (no matter on what level). That's about it. And as above, I have no problem with non native ports.
It's time to bug Feral Interactive about future port requests once again
28 Jan 2018 at 10:34 pm UTC
28 Jan 2018 at 10:34 pm UTC
Quoting: natewardawgI've written wrappers before, calling them translating is a huge misstatement.It is normally called static translation on the source level, or compile time translation. The main point why it's not native is not the formality of names, but the fact that you take one API with its own design, and fit it into another API with a different design. The mere fact of doing that is a translation. You can debate the benefits or downsides of static translation vs dynamic one, but they both remain non native approaches.
It's time to bug Feral Interactive about future port requests once again
28 Jan 2018 at 10:10 pm UTC
28 Jan 2018 at 10:10 pm UTC
Quoting: natewardawgNote that a wrapper isn't "translating", it's putting actual native code into non natively "named" function callsThat is translation already. Not translating means you call right functions to begin with, using the design of the native API, instead of hacking around one API into completely different one.
Quoting: natewardawgOne is native, the other is non-native.Sorry, but source translation is nowhere a native approach. It's a translation hack. Which is a great shortcut of course, but it's not what you'd call a proper software design from the ground up.
It's time to bug Feral Interactive about future port requests once again
28 Jan 2018 at 10:04 pm UTC
So the difference between static and dynamic translation is purely nominal. The result is simply a chain of calls into native functions. Wine naturally should implement Windows calling mechanism I suppose, to actually be able to translate Windows binary calls. Source wrappers don't need that.
What you are describing on the other hand, is already something like ReactOS which indeed provides a whole Windows like operating system. Wine is nowhere aiming at such functionality.
28 Jan 2018 at 10:04 pm UTC
Quoting: natewardawgOne is using a few 100% native calls, but using non-native names in the code, the other is translating non native calls for an entire OS at runtime, it's a huge difference.Not huge, because another is not translating the entire OS unlike what you say. Wrappers like Wine don't emulate the whole Windows kernel for instance. They simply translate a given list of calls into ones that provide similar functionality through native means. It's far from providing entire OS at runtime. That's why for instance Wine won't work for Windows hardware drivers as far as I know.
So the difference between static and dynamic translation is purely nominal. The result is simply a chain of calls into native functions. Wine naturally should implement Windows calling mechanism I suppose, to actually be able to translate Windows binary calls. Source wrappers don't need that.
What you are describing on the other hand, is already something like ReactOS which indeed provides a whole Windows like operating system. Wine is nowhere aiming at such functionality.
It's time to bug Feral Interactive about future port requests once again
28 Jan 2018 at 9:46 pm UTC
28 Jan 2018 at 9:46 pm UTC
Quoting: natewardawgSo when the game goes to render DX11 stuff, your "DX11" code actually makes OpenGL calls.Same thing happens dynamically, except calls are translated at runtime. Even at source level, the wrapper needs to retrofit completely foreign API into another one that is native. It's a hack, not a proper software design to begin with. But as long as it produces a working result cheaper, some don't care if it's a hack.
This is obviously a simplified version, but should hopefully get the point across. :)
- Oh dear - ARC Raiders was logging your private Discord chats [updated]
- California law to require operating systems to check your age
- Here's the most played Steam Deck games for February 2026
- Ubuntu and Fedora devs comment on California's new Digital Age Assurance Act
- SteamInputDB is a new site to help you find Steam Input configurations for your gamepads
- > See more over 30 days here
Recently Updated
- Looking for Linux MMORPG sandbox players (Open Source–friendly …
- Strigi - steam overlay performance monitor - issues
- Jarmer - Proton/Wine Games Locking Up
- Caldathras - recently released super fun crpg - Sector Unknown
- Jarmer - Nacon under financial troubles... no new WRC game (?)
- Xpander - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck