November 15, 2020
On Sunday, 15 November 2020 at 17:21:23 UTC, Timon Gehr wrote:
> In D the only reason this would happen is because you (continuously) allocate memory during the main game loop. Don't do that and you'll be fine. I can understand wanting to avoid binary bloat, but the GC does not cause stuttering on its own.

No, all threads that have owning GC-pointers have to halt. So that is kinda killing a MMO client. Besides a pinning GC will roughly double your memory consumption and lead to more memory fragmentation. A single threaded GC with compaction, on the other hand, could actually be beneficial.
November 15, 2020
On Sunday, 15 November 2020 at 17:14:57 UTC, Paulo Pinto wrote:
> Thankfully Markus Persson ignored opinions like yours.

Did he use a stop-the-world collector?



November 15, 2020
On Sunday, 15 November 2020 at 21:17:09 UTC, Ola Fosheim Grøstad wrote:
> On Sunday, 15 November 2020 at 17:14:57 UTC, Paulo Pinto wrote:
>> Thankfully Markus Persson ignored opinions like yours.
>
> Did he use a stop-the-world collector?

That is a possible option among the plethora of Java implementations, maybe yes, maybe no.

November 16, 2020
On Sunday, 15 November 2020 at 17:14:57 UTC, Paulo Pinto wrote:
> On Sunday, 15 November 2020 at 15:24:39 UTC, ryuukk_ wrote:
>> On Sunday, 15 November 2020 at 07:55:22 UTC, Mike Parker wrote:
>>> On Sunday, 15 November 2020 at 07:11:01 UTC, ryuukk_ wrote:
>>>> On Friday, 13 November 2020 at 22:56:03 UTC, rinfz wrote:
>>>>> On Wednesday, 11 November 2020 at 22:15:18 UTC, ryuukk_ wrote:
>>>>>> NO GC at all! custom allocator friendly
>>>>>
>>>>> Out of interest, what are your problems with GC?
>>>>
>>>> for game engines, GC is not a good thing
>>>
>>> As a blanket statement, that's just not true. There's a whole universe of games and game engines you can make where the GC isn't even going to be a blip on the radar.
>>
>>
>> those who don't write games or game engines are always the ones telling you that you shouldn't care
>>
>> then you listen to them and you wonder why your game stutters with 50ms pauses (4frames at 60fps) every few seconds
>
> Then there are those that keep forgeting that there is more to the game developers world than trying to crack out yet another Fortnite or Crysis.
>
> Thankfully Markus Persson ignored opinions like yours.

Thankfully we have people who think like you, so nobody uses D for gamedev, despite that category being the most popular in every stores

https://fortunly.com/blog/video-game-industry-revenue/

And that will keep growing year after year

Phones being the most popular one, constrained devices where every bit of memory wasted is prohibited, same for CPU cycles

But yes, we got minecraft in Java, that got rewritten in C++ because it sucked and couldn't get proper console, not even devent mobile release

But yes, we should trust the people who don't write games

Who better than them to dictate how games should be created :D :D

The way to go!

Use GC, they say

Use 3x memory they say

But phones are constrained devices

- Tell them to download more ram!!!!!!!!!

November 16, 2020
On Sunday, 15 November 2020 at 17:14:57 UTC, Paulo Pinto wrote:
> On Sunday, 15 November 2020 at 15:24:39 UTC, ryuukk_ wrote:
>> On Sunday, 15 November 2020 at 07:55:22 UTC, Mike Parker wrote:
>>> On Sunday, 15 November 2020 at 07:11:01 UTC, ryuukk_ wrote:
>>>> On Friday, 13 November 2020 at 22:56:03 UTC, rinfz wrote:
>>>>> On Wednesday, 11 November 2020 at 22:15:18 UTC, ryuukk_ wrote:
>>>>>> NO GC at all! custom allocator friendly
>>>>>
>>>>> Out of interest, what are your problems with GC?
>>>>
>>>> for game engines, GC is not a good thing
>>>
>>> As a blanket statement, that's just not true. There's a whole universe of games and game engines you can make where the GC isn't even going to be a blip on the radar.
>>
>>
>> those who don't write games or game engines are always the ones telling you that you shouldn't care
>>
>> then you listen to them and you wonder why your game stutters with 50ms pauses (4frames at 60fps) every few seconds
>
> Then there are those that keep forgeting that there is more to the game developers world than trying to crack out yet another Fortnite or Crysis.
>
> Thankfully Markus Persson ignored opinions like yours.

Thankfully we have people who think like you, so nobody uses D for gamedev, despite that category being the most popular in every stores

https://fortunly.com/blog/video-game-industry-revenue/

And that will keep growing year after year

Phones being the most popular one, constrained devices where every bit of memory wasted is prohibited, same for CPU cycles

But yes, we got minecraft in Java, that got rewritten in C++ because it sucked and couldn't get proper console, not even devent mobile release

But yes, we should trust the people who don't write games

Who better than them to dictate how games should be created :D :D

The way to go!

Use GC, they say

Use 3x memory they say

But phones are constrained devices

- Tell them to download more ram!!!!!!!!!

November 16, 2020
On Monday, 16 November 2020 at 16:56:14 UTC, ryuukk_ wrote:
> But yes, we got minecraft in Java, that got rewritten in C++ because it sucked and couldn't get proper console, not even devent mobile release

Yes, but for indies on a low budget tooling that allow you to cut costs would be an asset. So he probably chose the right tool for him for where he was at the time.

But clearly, a stop the world collector is not what you want, you would actually be better off writing your game-client in javascript...

Still, having options that play well with each other would be a good thing. For instance, having ARC as an option in C++ would be a good thing. Having a single threaded compacting GC and ARC as options would be a good thing for D.

Not sure where D is heading... But yeah, too many people that wanted to use D for highly interactive apps have moved on. Trying to convince those that remain that the current GC is good for this application space will obviously not encourage them to stay. So not sure what the purpose of such rhetorical games are...

Cheers!

November 16, 2020
On Monday, 16 November 2020 at 16:56:14 UTC, ryuukk_ wrote:
>
> Thankfully we have people who think like you, so nobody uses D for gamedev, despite that category being the most popular in every stores
>

I think that is a very good observation.
It is a huge industry and currently I believe C++ & C dominate when it comes to core engine stuff.

I am not a games developer but I know that guys like Jonathan Blow would not use a language that has GC in it.

My motivation for starting the Laser-D project is to make D attractive to those who do not want the GC even as an option.

It is ironic that Walter was inspired to start his career in compiler tools because he wanted to write a game - I hope I am not remembering incorrectly!

Right now is the time to try to get into this market because there are multiple parallel attempts to do so (Jai, Zig etc).
November 16, 2020
On Monday, 16 November 2020 at 17:46:07 UTC, Dibyendu Majumdar wrote:
> On Monday, 16 November 2020 at 16:56:14 UTC, ryuukk_ wrote:
>>
>> Thankfully we have people who think like you, so nobody uses D for gamedev, despite that category being the most popular in every stores
>>
>
> I think that is a very good observation.
> It is a huge industry and currently I believe C++ & C dominate when it comes to core engine stuff.
>
> I am not a games developer but I know that guys like Jonathan Blow would not use a language that has GC in it.
>
> My motivation for starting the Laser-D project is to make D attractive to those who do not want the GC even as an option.
>
> It is ironic that Walter was inspired to start his career in compiler tools because he wanted to write a game - I hope I am not remembering incorrectly!
>
> Right now is the time to try to get into this market because there are multiple parallel attempts to do so (Jai, Zig etc).

Is this "Laser-D" supposed to be a separate language on just a project to document betterC?

If it's the former you may want to tread lightly because you if you are successful you could end up seriously hurting D's prospects in the future - probably second to people complaining about the GC is people complaining about D having a fragmented ecosystem (I have recently seen people mentioning Tango and D1 despite them being dead for a decade now)

If you really want to make -betterC better, there are still noticable flaws with it - for example you still can't use std.format at compile time in -betterC mode (https://run.dlang.io/is/TIcgW2).
November 16, 2020
On Monday, 16 November 2020 at 16:56:14 UTC, ryuukk_ wrote:
> On Sunday, 15 November 2020 at 17:14:57 UTC, Paulo Pinto wrote:
>> On Sunday, 15 November 2020 at 15:24:39 UTC, ryuukk_ wrote:
>>> On Sunday, 15 November 2020 at 07:55:22 UTC, Mike Parker wrote:
>>>> On Sunday, 15 November 2020 at 07:11:01 UTC, ryuukk_ wrote:
>>>>> On Friday, 13 November 2020 at 22:56:03 UTC, rinfz wrote:
>>>>>> On Wednesday, 11 November 2020 at 22:15:18 UTC, ryuukk_ wrote:
>>>>>>> NO GC at all! custom allocator friendly
>>>>>>
>>>>>> Out of interest, what are your problems with GC?
>>>>>
>>>>> for game engines, GC is not a good thing
>>>>
>>>> As a blanket statement, that's just not true. There's a whole universe of games and game engines you can make where the GC isn't even going to be a blip on the radar.
>>>
>>>
>>> those who don't write games or game engines are always the ones telling you that you shouldn't care
>>>
>>> then you listen to them and you wonder why your game stutters with 50ms pauses (4frames at 60fps) every few seconds
>>
>> Then there are those that keep forgeting that there is more to the game developers world than trying to crack out yet another Fortnite or Crysis.
>>
>> Thankfully Markus Persson ignored opinions like yours.
>
> Thankfully we have people who think like you, so nobody uses D for gamedev, despite that category being the most popular in every stores
>

They use Unity, Unreal, Xenko, Monogame, CryEngine, Godot, HoloLens UWP instead.

All of them with support for tracing GC alongside C# for various levels go game scripting, and Unreal even uses their own C++ GC implementation.

Ah, and then two of the major 3D APIs, namely DirectX and Metal, make use of reference counting, which despite all cargo cult around GC vs RC, it is a GC algorithm as per CS definiton, chapter 5 of the renowed Garbage Collection handbook.

Have fun with your GC hate.

Do you know what? People like you used to argue against using C and Pascal for doing games.

Then the same people, that grundgely adopted them, started to use the same arguments against C++.

Some devs can only move forward when platform owners drag them out of their confort zone.
November 16, 2020
On Monday, 16 November 2020 at 17:15:03 UTC, Ola Fosheim Grøstad wrote:
> ...
>
> Not sure where D is heading... But yeah, too many people that wanted to use D for highly interactive apps have moved on. Trying to convince those that remain that the current GC is good for this application space will obviously not encourage them to stay. So not sure what the purpose of such rhetorical games are...
>
> Cheers!

They moved on to Unity.

Despite some "I know best" comments, go to IGDA forums, GDC talks, UK magazine MCV/Develop, IGF and notice that Unity is always among the first party support from Microsoft/Apple/Google/Sony/Nintendo for game engines on their platforms and AR/VR.

So while some people here spread GC hate around D, and how unsuitable it is for doing games, others are building their game related business with some flavour of C#.

It doesn't matter if there some C++ to go alongside C#, most studios are polyglot and don't see a nail in every problem.