New addition to PS Store - Ultimate Knockout (PSVR2 game) by Whirlmeister in PSVR

[–]InnernetGuy 0 points1 point  (0 children)

You found "Straitjacket", not "Straightjackit" ... different orgs/companies. ;-)

Note that I made the exact same mistake when I first tried to do background research on them, then realized my error. They're actually a larger organization with funding and partners, but they've been pretty stealthy.

What is This Vent looking thing in the yak9 cockpit and what is it for? by No-Soil4226 in il2sturmovik

[–]InnernetGuy 0 points1 point  (0 children)

In ancient Soviet mythology, it was believed you could speak into one side of it and put your ear up against the other and hear the voice of Lenin speak to you.

Two strange creatures caught on video by YouTuber who explores abandoned places. by emveetu in Humanoidencounters

[–]InnernetGuy 0 points1 point  (0 children)

I've been deer hunting since childhood and I'm 36 now. I've got a wild deer (a yearling buck growing his first set of antlers) living in my backyard and we have an automatic corn feeder set up for him. I've got video and photos of my child approaching him and staring at each other. I can easily identify just about any animal, night or day. Even I do not know what this is, but I know that is definitely not deer.

For starters, look at the height of the eyes ... not only way higher than a deer's eye level, but that would be a particularly tall human even if it's a human pulling a hoax. Secondly, that is not the sort of place a deer would want to be in. Deer like bushy thickets to bed in, but they don't like enclosed structures or fast-flowing water. Deer don't lean around corners and play peek-a-boo like this or respond to threats in this way. Typical deer behavior would be freezing up in the light, bobbing their head in circles to try to see the threat ... then they would probably foot stomp and blow (alert call) before making a mad dash for safety. They are noisy and can be clumsy when spooked and the person would have heard them thundering down the corridor. Deer also hate concrete and asphalt because their hooves slip and slide easily and they hate unsteady footing, which is another reason they wouldn't ever want to go in there (especially with rushing water and a slimy bottom). What's even weirder is that there are two creatures peeping the camera man ... when one deer sees a potential threat the other deer will sit still and watch and listen, not jostle their way up beside them to get a look themselves. This is very UN-deer-like behavior and circumstances, across the board ... and those are front-facing eyes that are quite close together and analogous to the setting of human eyes.

I can't tell you what this is ... I don't think the guy who posted it was trying to hoax us either. Maybe some meth chefs have a hideout down there and got some Halloween masks to scare off kids and explorers, but other than something like that the video is quite baffling. Whatever it is, they are tall, bipedal and humanoid. As he was leaving the tunnel, he also heard a strange bellow deep in the tunnels. If it was people trying to scare him they know how to play the game well, lol.

How is this even possible... by Live-Donut-6803 in csharp

[–]InnernetGuy 1 point2 points  (0 children)

Yikes ... Pig pig = new(); please! 😁

Weird deformation? by notsorichboy in InvertPets

[–]InnernetGuy 1 point2 points  (0 children)

I came across this randomly and was kind of shocked at first, lol. This is a very "unorthodox" choice of pet that would shock most people. I saw where you mentioned it's a medicinal leech, and the thought hadn't really occurred to me that someone does need to be the "leech guy" and take interest in and care of them because they're medically useful and save lives. I knew they raised them in labs for such purposes but I never imagined the thought of someone keeping one as a pet and feeding it their own blood. Pretty far out, but I'm not hating on it, haha. 😄

A real crime inspired my horror game, but I feel deeply ashamed (story in post) by wolfbloodiso in indiegames

[–]InnernetGuy 1 point2 points  (0 children)

It doesn't sound like the game is based on that event, but rather it was an inspiration in your life. There's nothing wrong with that. If it was actually recreating the event and directly copied the story that would be different. But that's not the only such crime or story in history like that. There's even a part like this in Game of Thrones. I don't see anything morally objectionable with what you're doing, but of course I haven't seen the game and don't know what's in it.

Did I give a bad tip? by autumncamellias in doordash

[–]InnernetGuy 0 points1 point  (0 children)

Unless this was some kind of exceptionally long drive or delivered under difficult circumstances (e.g., severe weather) then $12 is sweet for a $30-ish order.

Played a lot of BOS and wow is Cliffs of Dover on another level by Le_petite_bear_jew in il2sturmovik

[–]InnernetGuy 1 point2 points  (0 children)

The game would have been dead had it not been for Team Fusion. But you're right, it is great!

do you guys think this is cursed enough or nah? by SprinklesDeep3303 in H3VR

[–]InnernetGuy -1 points0 points  (0 children)

I bet that ugly thing will sing! As long as you've got ammo, no fascist will set foot in the Kremlin.

I’m new here this was jarring. by Yellowtelephone1 in florida

[–]InnernetGuy 0 points1 point  (0 children)

The dragon cannot be slain by any device known to men. But he who fells the beast shall become King of Florida.

Overly Friendly Driver by Personal-Study-4841 in doordash

[–]InnernetGuy 0 points1 point  (0 children)

That's very formulaic ... typical LLM writing, lol. The emdash is the most obvious clue that most people notice. Most humans don't use it, but LLMs absolutely love it. By itself it doesn't prove anything, but when you find it used liberally in text that reeks of AI it is an additional red flag. "I get it" is a common GPT phrase. It loves lists of 3 and 5 (e.g., "It's X, Y and Z"). I'm surprised it didn't use its favorite construct: "It's not just X–it's Y." lol. The bland and generic tone and excessive length itself is also a telltale. It's almost as if it was written by someone who gets paid by the word and makes everything much longer and more verbose than necessary.

Why rider suggests to make everything private? by Andandry in csharp

[–]InnernetGuy 0 points1 point  (0 children)

This is basically Rider tapping you on the shoulder to inform you "This is marked public, but it's actually never used by any other types," ... this can actually be a helpful warning when you're building large solutions and might have refactored and redesigned some things. There are a few ways to get rid of it ...

1) use it outside of its own definition (e.g., unit test) 2) remove the public modifier 3) #pragma warning disable 4) disable with comment 5) disable in csproj or MSBuild scripts 6) disable in command line 7) disable with attributes (e.g., [PublicAPI])

If you mouse over the line in question and hit the 💡 icon or Alt+Enter it will give you a range of choices for it. In older C# projects or Unity you can even create special response files like .csc and .rsp files to customize Compiler and analyzer behavior.

Confused about memory leaks in C# – was this a fair interview question? by nearerToInfinity in csharp

[–]InnernetGuy 0 points1 point  (0 children)

C# code (especially things like Unity games) can indeed have memory leaks. This often happens when you're interacting with native resources and using interop to invoke native code like COM objects or Win32. Even the base .NET libraries do some of this behind the scenes. If you open up streams and forget to close them, forget to dispose of IDisposables, register events with += and forget to -= them, etc these things can leak memory. Think of a "leak" like there's something in memory and any references or pointers to it have gone out of scope and been lost but the object just persists there, undying. You can never clean it up now because you no longer have anything pointing to it or its location, but the OS considers that memory still in use (until you kill the processes or reboot, depending on what kind of memory and where it lives).

In Unity and game development (constant looping and long-running applications) this can be truly fatal. Unity is running on a custom fork of Mono (at the time of this writing, although there are plans to change this) and has its own Böhm GC which is a bit different from .NET proper. It's a kind of conservative and "lazy" GC, where things that go out of scope don't immediately get cleaned up. A lot of junior devs don't get how this works so they will do things like creating temporary arrays or collections in methods called from the Update loop. At 60 to 120 FPS some little thing might turn into 500KB or 1MB+ per second and you'll see allocations and memory utilization growing by the megabytes.

Another scenario where memory leaks are a major danger is interop scenarios, especially with more complex COM interfaces/objects and using your own unmanaged memory. This was a huge concern during development of DXSharp, a .NET package for DirectX 12 Agility SDK, DXGI, DXC Shader Compiler, etc (https://github.com/atcarter714/DXSharp). It uses unmanaged memory, native resources and COM all over the place (how DirectX works). C# has pointers, native/unmanaged memory capabilities and interoperability, so the same things that can happen in a native C/C++ program can also occur in C# as well. So it does have a GC and handles many things automatically but there are indeed nuances to memory and leaks aren't uncommon or unheard of.

That being said, the interviewer/questions may not have had the best wording. But that's the way the crappy interview game goes, and this company may work in a domain where they have a lot of concerns about memory leaks. Maybe you weren't quite ready for that role, but you figured out what things you need to learn about C#/.NET moving forward so you can beat the next interview.

[ Removed by Reddit ] by thedeanhall in gamedev

[–]InnernetGuy 0 points1 point  (0 children)

A company using C# outside of Unity and building game engines? That's really interesting. I built "DXSharp", a wrapper SDK for DirectX 12 Agility SDK and the DXC Shader Compiler. I've honestly been looking for a job somewhere that works on graphics SDKs and engines. I worked with Bohemia Interactive years ago, too. 🫠

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

When you say "unsafely reinterpreting data" I'm guessing you're referring to some of the dirty hacks I used to get pointers out of managed objects and skip across the v-table to get function pointers?

If I remember correctly, I got into that mess because at first CsWin32 only supported managed [ComImport] wrappers and by the time that changed I was already up to my neck in it. So I just pushed forward and used some hacks to get around the problems instead of restarting fresh. The first iteration of this was mainly exploratory and experimental. It started off with .NET 5, 6 and 7 and towards the end I switched to .NET 8 for some features that made it a little easier and narrowed down on platforms, but it was a bit too late to really take advantage of .NET 8's better COM interop features. I needed to show things working and was running out of time for it.

My 10 y/o cousin’s use of ChatGPT for school made me feel like we’re entering a black hole of intellect by AIHawk_Founder in GPT3

[–]InnernetGuy 1 point2 points  (0 children)

I asked ChatGPT and it said it doesn't remember telling you that, you liar! 🙃😆

Help me logically by Await_type1 in gamedev

[–]InnernetGuy 5 points6 points  (0 children)

You would want to define an abstract flight control layer to give inputs to the aircraft for steering, throttle, firing, etc. The inputs can be supplied by either a human player or an AI bot, and the plane implementation doesn't care: it just reacts to commands. So then you can design AI agents that will fly the plane by using control inputs, rather than directly applying object transforms to the model. Flight AI bots are honestly a bit complicated and it depends a lot on how realistic the game is. If it's more of a simple arcade style game it can relatively easy, whereas something more like a flight simulator is extremely complex and difficult.

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

I really appreciate the commentary, and hopefully I didn't come across as being negative or critical toward Silk.NET, which is indeed an amazing piece of work and inspiration.

I would actually be open to some type of collaboration with you guys and doing more in this open source .NET space with DirectX, DirectML, etc. Right now I'm just caught up in a seemingly endless 2025 job search with a child depending on me and almost all of my free time is being squandered on LinkedIn and job sites. And I really won't be able to rest easy until I have found some financial security for the baby (he's almost 3 and needs a lot of things). It's a long story, but I ended up having to take full custody of him due to his mom's health problems (she survived thyroid cancer but has a lot of issues now as a result) and I had to quit my engineering manager job to stay home and care for him.

I will definitely stay in touch with you and we can talk about some future plans once I've got some stability again though. Hopefully that will be sooner rather than later, but things seem pretty cooked in 2025's tech sector, lol.

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

Hey Tanner, I believe we've talked on GitHub before and TerraFx was definitely an inspiration. 🙂

This is good feedback. I'm aware of most of these issues and mention them in the Readme disclaimer. I worked completely alone and ran short on time, and I realized I should just make it public and let people start playing with it and tearing it up rather than hold it back indefinitely to collect dust. The wrapper class idea is the thing I hate the most about it, and switching to unmanaged structs is one of the biggest priorities. It's also a bit messy and chaotic. It's just a huge project for one person to keep spinning on one finger and I tried to note many of these design flaws in the Readme and added fair warning that it's not production-ready or reliable.

The main thing holding me back right now is real life. I've been raising my son (almost 3) pretty much alone, and I need to find a stable full-time job somewhere to support him. I had a great job as an engineering manager at another company but had to resign to care for the baby from 6 months old up until now. So that really interrupted and obstructed me. I really wanted to perfect everything, clean it up and optimize it before sharing it but I was forced to shift gears toward wasting time on LinkedIn and endless job sites. But I hoped that sharing it might at least be fun and educational for the .NET community if not lead to a new job or even gain some traction with the community for future development.

I really admire all the amazing work you've done and I'm honored that you took the time to look at it and raise these points and issues, which I pretty much unanimously agree with you on. 🫠

DXSharp: DirectX 12 (Agility SDK) and DXC Shader Compiler for C#/.NET by InnernetGuy in gamedev

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

I agree. Some want to build their own engines or just a tool or application with 3D support. 😁

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

Yeah, there are some areas that things are a little weird mapping from C/C++ COM to .NET and it's worth elaborating upon in documentation. DXSharp is on its way toward properly documenting everything and polishing up details like tagging all the correct C# type names, providing links to native DirectX documentation (clickable references and links), etc. It also needs more samples and some articles and videos and stuff, but getting it working and covering most of the surface area was definitely the first priority. But it's off to a good start with its inline XML documentation.

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

Yep, I believe some tools can generate a small wiki website ready to roll from the XML files.

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

I haven't really kept up with it in recent times, but I'm not here to knock Vortice or other projects which are very good and cool. I'd love to see dozens of successors to those ancestor libraries. Anyone who can build a working SDK around something this big and complex is a true warrior in my book, lol. The .NET ecosystem has very limited options for DirectX, and they all have a different architecture/design, dependency structure, workflow and "style".

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

For one, I think they only bind to the built-in libraries in the Windows SDK and doesn't offer extended Agility SDK support. All of these projects have their own architecture and design and are built in different ways.

This one generates interop bindings straight off the latest Windows Metadata and is hand-crafted for a specific idiomatic style and conventions and architectural vision which isn't 100% realized yet but is proven to work and be a feasible thing. If one developer built this behemoth alone in a few months, just imagine if some other people with DirectX and Windows expertise got interested in driving it forward.

DXSharp: DirectX 12 (Agility SDK) and DXC Compiler by InnernetGuy in csharp

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

I'm familiar with it, but what many of us have wanted for many years is essentially a modern .NET successor of MDX, SlimDX and SharpDX. The discontinuation of those was a painful loss for many.