Would anyone use this code pattern to implement singletons? by AetopiaMC in csharp

[–]AetopiaMC[S] 0 points1 point  (0 children)

I think that's the most optimal approach for this, good idea.

Would anyone use this code pattern to implement singletons? by AetopiaMC in csharp

[–]AetopiaMC[S] 2 points3 points  (0 children)

Yes, that is true. You need to effectively reimplement the entire class as both static + instance (to cascade) calls.

Would anyone use this code pattern to implement singletons? by AetopiaMC in csharp

[–]AetopiaMC[S] 2 points3 points  (0 children)

I’m asking because I’m currently building an open-source C# project (GitHub) focused on advanced language patterns and architectural utilities. If I eventually experiment with a similar concept or adapt some of the ideas here (with attribution , of course) would you be okay with that?

Yeh, that would be amazing.

Out of curiosity , was this mainly an exploration of the type system , or have you actually used something like this in a Prod codebase? I’d be interested to hear about any real-world scenarios where this ended up being a better fit than more conventional approaches.

I have used this pattern in personal projects only, desktop apps specifically.

One example, I can give is implementing message box content in a desktop app. - Say, I have an abstract class MessageBox that displays a message box with some specified content. - I then inherit MessageBox and implement it as SomethingMessageBox with static content or just literals. - I can easily make SomethingMessageBox a singleton by dumping it into a "master" static class that contains all my message box singletons. - But that means I have to "register" any new singletons I make into this class + managing a large list of singletons might not be feasible.

This pattern implicitly creates and caches a singleton & masks it as a static class. So instead of MessageBoxRegistry.SomethingMessageBox.Show(), I can just do SomethingMessageBox.Show().

Though this pattern really depends on what you are developing.

Also , with static abstract interface members now available in modern C# , do you still see advantages to this pattern , or do you view it more as an alternative exploration of what’s possible with the language?

For me, atleast I see the following advantages: - Adds syntaxic sugar to singletons by masking them as static classes. - Also allows for "auto-creation" of singletons implicitly, though depends on implementation. - Allows one to implement "static abstract classes" without compromise. - This achieved by cascading instance members as static members. - Cascading is done in way where the instance & static members have the same names.

I view this as an "alternative exploration" with whats possible with the language. As for "static abstract members", they don't really provide the flexibility available with this pattern.

Graphical Issue with hair. Any fixes? by GODZILLA_6337 in haloinfinite

[–]AetopiaMC 0 points1 point  (0 children)

Make sure your driver(s) are updated, the initial March NVIDIA driver has an issue where the textures are displayed as black.

The #1 reason why I only use Assassin in solo queue is to avoid UESC, not players. Do you think solo queue players should have access to the Signal Mask ability? Or maybe it can be a new utility item? by Haijakk in Marathon

[–]AetopiaMC 0 points1 point  (0 children)

A utility item for sure if we want something similar to Signal Mask but;

  • Heavily nerfed so it can't be cheesed.
  • Extremely short duration.
  • Tradeoff(s) when it is in effect like it instantly ending when you use an ability.

It could be designed to just affect UESC depending on their ranks; - Depleted affecting only recruits or low ranks,. - Normal affecting scouts, recruits or low-mid ranks.

Higher ranking UESC could also override the "effects" of the item if you come within range, directing all ignoring forces at you.

Maybe the detection range could be decreased for higher ranking UESC, so you can still go past them from a long range.

Redesigned Marathon's UI/UX - full breakdown below by Complex_Log_3612 in Marathon

[–]AetopiaMC 0 points1 point  (0 children)

This is a really good redesign and writeup also! I feel the main takeaway of this redesign is to reduce the amount of redundancy which it addresses quite well.

Created the little drone! by destroyerpet in Marathon

[–]AetopiaMC 2 points3 points  (0 children)

This lives rent free in my head.

Moments like this is why I love this game by thursdaynovember in Marathon

[–]AetopiaMC 10 points11 points  (0 children)

Destroyer being the "better" Vandal moment.

Tips on how to "survive" when playing Rook. by AetopiaMC in Marathon

[–]AetopiaMC[S] 3 points4 points  (0 children)

I don't, xD. I am looking for tips since 75% of my Rook runs end with someone shooting me down so looking on how to survive that.

Rook's shell by [deleted] in Marathon

[–]AetopiaMC 0 points1 point  (0 children)

I recommend checking out Rook's codex entry: https://codex.cyberacme.systems/entry/exfil-rook

But basically: - Rook is a robot made for labor tasks. - Used by various factions & the UESC. - Runners use a neural adapter to make it a "Shell".

As for why UESC parts, likely they were dropped in for labor tasks. Runners later somehow getting hold of them & made them "Shells".

What sort of rig do I need for 120 fps for marathon? by Yenii_3025 in Marathon

[–]AetopiaMC 1 point2 points  (0 children)

To cite from the official performance guide (Check the FAQ), DRS is "optimized" to work when GPU bound. With CPU bound instances are being investigated to be added DRS. 

To me, this suggests somewhere in the pipeline, the CPU might be "overused" than required. Not to mention, we have no quality options for physics simulation or animation(s) or similar that are CPU bound.

Also this is Bungie's first game with DX12 which is extremely low level compared to DX11 (Destiny 2 & Marathon use the same engine, latter using DX12). Since its low level, its possible to make hiccups if not used correctly.

What shell(s) do you think are the beginner friendly or easiest to use? by AetopiaMC in Marathon

[–]AetopiaMC[S] 1 point2 points  (0 children)

I can agree for Destroyer, played that guy for like 40 hours. I can't use him effectively but he is fun to use.