Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
Latest Comments by soulsource
Embracer Group to swallow up Tripwire, Tuxedo Labs, The Lord of the Rings
18 Aug 2022 at 2:40 pm UTC Likes: 2

Quoting: crseEmbracer Group is truly interesting. They seem to try monopolize the industry, yet their way is not the same as other big company.

They have a varied and diverse catalog of games... they even buy niche yet successful game franchise.
So far, they never put any excessive monetization towards their franchise. Things relatively keep under the vision of the game developer.

As if, they simply want to claim small creator before "swallowed by evil guys."

Of course, monopoly is bad. This is simply my impression towards their product portfolio.
I can only guess, but I think they understand the market, and more important, their end-users. Given their history, they have enough experience to know what is a good game, and they probably don't want to sacrifice their long-term market viability to the short-term-profits-pay-to-win gods.

Valve improves Steam Deck offline mode with more to come
16 Aug 2022 at 8:28 pm UTC Likes: 2

I'd already be happy if I wouldn't get logged out randomly while not having internet (and therefore no way to log back in).

DXVK 1.10.3 out with work for Halo Infinite plus better Stray performance for Proton
3 Aug 2022 at 6:07 am UTC

d3d11.ignoreGraphicsBarriers sounds like an option that I would expect to cause rendering errors with Unreal games, for instance in realtime-lighting.
(Edit: To give a bit of context: I know for certain that with DX12 a barrier in Unreal's realtime-shadow-map rendering is required. If that barrier is missing or ignored, the shadow map might not get cleared properly, causing random shadow-pixels to appear.)

Valve bans devs from adding review scores and awards on Steam store assets
1 Aug 2022 at 1:38 pm UTC Likes: 10

Ultra-short design pitch for "It's probably fine":
You play a notoriously bad driver who has been hired to do deliveries by car. What the character does not know though is that the delivery business is just a dummy company for a car repair workshop, and that the driver's real job is to cause small accidents, bringing more customers for the repair shop. Your job as the player is to guide the notoriously bad driver through the city, and you need to drive bad enough to cause actual damage (repair costs are your score), but not so bad that your character can't decept themself into thinking "it's probably fine" and continue their "important delivery" without stopping.
Once the driver starts to actually doubt that it's probably fine, your turn is over, and your score gets counted.

Valve bans devs from adding review scores and awards on Steam store assets
1 Aug 2022 at 11:52 am UTC Likes: 10

I want to play those fake example games soooo much. Someone really needs to make the Custard Castle: Small Claims Court.

Unreal Engine 5 editor quietly gets a proper Linux version
28 Jul 2022 at 10:16 am UTC Likes: 1

Quoting: mborse
Quoting: soulsource
Quoting: mborse
Quoting: soulsource
Quoting: Dribbleondo
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)
Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
Yep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell [External Link].
What some other "Blueprint only" projects do is that they create the low-level building blocks in C++ and expose them as Blueprint nodes, so that only the high level logic is done in Blueprint. That has the advantage of having a small (-> readable) visual representation of the high-level flow, while all the low-level details, that would be hard to read in visual form, are implemented as text - and in addition, performance critical code paths tend to be in C++ then too.
(We used this approach for the mission setup in two of our games - the low level stuff was done by coders in C++, the high-level logic in Blueprint by designers, the bugs by a lack of communication between those two groups.)
Oh wow... i wish i could unsee some of those blueprints.
So in general terms do you prototype things in the editor blueprints and if worth it, you re-implement it as a building block? What criteria do you use mostly for this? Encapsulation factor for neatness, reusability, or both?
I agree about the lack of communication as well, specially when designers most of the times lack lower level knowledge that is useful, even if superficial.
Our general workflow has changed in the last few years. Initially we did prototype a lot of things in Blueprint with the goal to move the whole logic to C++ later for performance (nativising Blueprints was not supported back then), but found out that more often than not those "prototype" blueprints remain in the project until release for time reasons. This was an actual problem in Bus Simulator 18, when we added gamepad support later, because that required understanding very complex UI blueprints... Also, everyone who tried to make a bus mod for Bus Simulator 18 [External Link] knows that the bus blueprint setup was - let's just say I'm surprised nobody posted our bus base blueprint on Blueprints From Hell.

Since Bus Simulator 21 we try to do almost everything in C++, including prototypes. The main reason is readability and modularity, with performance being an added benefit. Emphasis on "try", because in BS21 some logic still happens in blueprints, and there are exceptions like the mission system. For the UI we added our own "framework" of sorts, where we back up most UI blueprints with a ViewModel on the C++ side, so that the view blueprint only needs to display the data computed by the view model and update itself when the respective event is triggered on the C++ side. For the missions the main reason to use blueprint was iteration times for designers when setting them up in-editor, but we also offer the option to create missions for map mods in BS21 [External Link], and all our modding support runs through blueprint.
What made prototyping in C++ viable was the addition of Live++ to Unreal. Though still some limitations apply on what can be done without an editor restart, this tool made iteration times for C++ changes nearly comparable to iteration times for blueprint changes.

The criteria when we moved code in BS18 from Blueprint to C++ were usually one of these two: Either we happened to have to modify some blueprint and it had already "grown organically" until it was utterly unreadable (so moving it over to C++ was synonymous with understanding what it does), or we found out during profiling that some code path in a blueprint was causing performance issues.

In Bus Sim 21 the first reason basically did not happen, because of the goal to also prototype in C++, but the second reason, performance, was still encountered quite often in late-game missions. (The Mission Helpers blueprint function library one can see in the mod kit is the result of that.)

Long story short: Both, neatness and reusability play a role for our decisions what to do in C++, with nowadays nearly all development happening in C++.
Thank you, it makes sense. I was kind of thinking if there was a point in having a (deep) technical artist develop a library of blueprints for prototyping purposes, to iterate fast, and then invest in implementing the most useful ones in C++ - at least to remove some of the excessive granularity of some of those blueprints from hell. I suppose it still makes sense, but all in all this hypotetical process would be much more tied to the C++ development team than to the technical artists, or designers from the get go, so we're back at the points you made. Thank you for your feedback and answers.
You're welcome - please also don't take my experience as the single truth out there. It's just the experience we gathered after doing two Bus Simulator games in Unreal, and might not apply to games with different design.

And about tech artists setting up Blueprint Function Libraries: The Mission Helpers in BS21 are actually two types. A Blueprint that has been made by tech art, and a C++ class that is used for those computations where the Blueprint VM performance is a problem (or where a faster way to compute the results is available by using non-blueprint interfaces).

Unreal Engine 5 editor quietly gets a proper Linux version
28 Jul 2022 at 6:12 am UTC Likes: 2

Quoting: mborse
Quoting: soulsource
Quoting: Dribbleondo
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)
Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
Yep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell [External Link].
What some other "Blueprint only" projects do is that they create the low-level building blocks in C++ and expose them as Blueprint nodes, so that only the high level logic is done in Blueprint. That has the advantage of having a small (-> readable) visual representation of the high-level flow, while all the low-level details, that would be hard to read in visual form, are implemented as text - and in addition, performance critical code paths tend to be in C++ then too.
(We used this approach for the mission setup in two of our games - the low level stuff was done by coders in C++, the high-level logic in Blueprint by designers, the bugs by a lack of communication between those two groups.)
Oh wow... i wish i could unsee some of those blueprints.
So in general terms do you prototype things in the editor blueprints and if worth it, you re-implement it as a building block? What criteria do you use mostly for this? Encapsulation factor for neatness, reusability, or both?
I agree about the lack of communication as well, specially when designers most of the times lack lower level knowledge that is useful, even if superficial.
Our general workflow has changed in the last few years. Initially we did prototype a lot of things in Blueprint with the goal to move the whole logic to C++ later for performance (nativising Blueprints was not supported back then), but found out that more often than not those "prototype" blueprints remain in the project until release for time reasons. This was an actual problem in Bus Simulator 18, when we added gamepad support later, because that required understanding very complex UI blueprints... Also, everyone who tried to make a bus mod for Bus Simulator 18 [External Link] knows that the bus blueprint setup was - let's just say I'm surprised nobody posted our bus base blueprint on Blueprints From Hell.

Since Bus Simulator 21 we try to do almost everything in C++, including prototypes. The main reason is readability and modularity, with performance being an added benefit. Emphasis on "try", because in BS21 some logic still happens in blueprints, and there are exceptions like the mission system. For the UI we added our own "framework" of sorts, where we back up most UI blueprints with a ViewModel on the C++ side, so that the view blueprint only needs to display the data computed by the view model and update itself when the respective event is triggered on the C++ side. For the missions the main reason to use blueprint was iteration times for designers when setting them up in-editor, but we also offer the option to create missions for map mods in BS21 [External Link], and all our modding support runs through blueprint.
What made prototyping in C++ viable was the addition of Live++ to Unreal. Though still some limitations apply on what can be done without an editor restart, this tool made iteration times for C++ changes nearly comparable to iteration times for blueprint changes.

The criteria when we moved code in BS18 from Blueprint to C++ were usually one of these two: Either we happened to have to modify some blueprint and it had already "grown organically" until it was utterly unreadable (so moving it over to C++ was synonymous with understanding what it does), or we found out during profiling that some code path in a blueprint was causing performance issues.

In Bus Sim 21 the first reason basically did not happen, because of the goal to also prototype in C++, but the second reason, performance, was still encountered quite often in late-game missions. (The Mission Helpers blueprint function library one can see in the mod kit is the result of that.)

Long story short: Both, neatness and reusability play a role for our decisions what to do in C++, with nowadays nearly all development happening in C++.

VRChat adds Easy Anti-Cheat, community not happy but Linux and Steam Deck work fine
27 Jul 2022 at 2:52 pm UTC Likes: 9

Wait, so their servers don't validate client data?

Reminds me of the xkcd Exploits of a Mom [External Link]...

Slay the Princess is an upcoming choice-driven psychological horror visual novel
26 Jul 2022 at 3:20 pm UTC

The art style reminds me of my wife's ink drawings. I'm definitely going to buy this game.

Unreal Engine 5 editor quietly gets a proper Linux version
24 Jul 2022 at 10:44 am UTC

Quoting: Dribbleondo
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)
Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
Yep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell [External Link].
What some other "Blueprint only" projects do is that they create the low-level building blocks in C++ and expose them as Blueprint nodes, so that only the high level logic is done in Blueprint. That has the advantage of having a small (-> readable) visual representation of the high-level flow, while all the low-level details, that would be hard to read in visual form, are implemented as text - and in addition, performance critical code paths tend to be in C++ then too.
(We used this approach for the mission setup in two of our games - the low level stuff was done by coders in C++, the high-level logic in Blueprint by designers, the bugs by a lack of communication between those two groups.)