@Southkraut's banner p

Southkraut

A tale Told by an idiot, full of sound and fury, Signifying nothing.

5 followers   follows 5 users  
joined 2022 September 04 19:07:27 UTC

All alliterations are accidental.


				

User ID: 83

Southkraut

A tale Told by an idiot, full of sound and fury, Signifying nothing.

5 followers   follows 5 users   joined 2022 September 04 19:07:27 UTC

					

All alliterations are accidental.


					

User ID: 83

It happens. The next job is always better.

Thanks for asking. I ended up picking up the Stride engine after all, went through some tutorials and example projects. Overall it seems more promising than I thought; the pitch of it is pretty much exactly what I want, minus double-precision coordinates. It's very Unity-like, but without the bloat and shoddy performance. That said, it is noticeably slower to launch than Godot. And like Godot, it lacks the ability to inspect a scene a game-runtime; Game and Editor are completely separate. Again, game crashes don't take down the editor, which is good, but the lack of 3D debugging capability is painful.

Didn't get any code work done, but I did sit down for some more concept work with the tangible result that I now think I should focus on my agent framework before anything else. I.e., get actors and their variegated scripting set up rather than to focus on inert things like cosmology, terrain or mechanical physics. Luckily I do have some code for this lying around in both my Unity and my Godot projects, so I can take over most of the structure without needing to reinvent that wheel a third time.

I have been telling myself for some time now that I should do a stricter MVC-esque separation between my backend and whichever interfacing I do with the engine I use, and I suppose yet another engine switch serves to remotivate this commitment. I watered it down last time to get things done faster, but I'm also grateful for all the places in which I stuck to the principle where I can now simply re-use existing code without needing to tear out everything Godot-specific in it.

Maybe? I don't see teaching soft skills to have much effect. Leading by example, yes, but teaching-learning them seems to me like so much fruitless effort.

I recently binge-read The Barbarian by Casey Hollingshead. Unprofessional and possibly not even all that good, but somehow I still found myself enjoying it.

Continuing this theme of novels based on niche video games, I tried reading Ring Runner Derelict Dreams, but bounced off.

The Passenger and The Road by Cormac McCarthy. The Passenger I find hard to read because frankly, it goes far over my head. Especially the conversations with hallucinations are just painful. I have a good deal of trust in the author and I'm fairly sure that he knew what he was doing even as he was headed for 90 and the grave, but so far I haven't adjusted to the book. The Road is a re-read for me, and it resonates a lot more now that I'm a parent.

Because it's all wishful thinking. It's not working for the kids either, regardless of how much propaganda we feed them.

Isn't that the purpose of narrative technologies like "silence is violence" and "microaggression"? As long as anything has happened in living memory that so much as made a member or "ally" of the protected group uncomfortable, the protected group is under attack (and implicitly deserves and requires additional resources for protection).

It's entirely a social media thing, but also includes all the official channels for talking about the engine - discord, forums, github etc.

Stride

Just checked it out, and the only game made with Stride that I know of is Distant Worlds 2, which is a complete mess. Ambitious, but just about the worst example to demonstrate technical capabilities.

scene-editor-centric approach

Are there any that don't do this? I can live with it either way, but don't really need it.

Edit: The more I look at Stride, the more I like what I see. You may have been on to something.

Oof. That'll take a lot of hoping. Still, I'll keep an eye on it.

Of course it was cope! It was a strategic cope that helped me utilize the software without associating it with the people who make it. It was a useful cope. Now the cope is kaputt.

@ArjinFerman is right though; according to the Godot license it's still viable to completely disassociate the one from the other and use the software with a complete disregard for politics. Probably still better than Unity's "I'm altering the deal. Pray I don't alter it any further.". But man is it annoying.

I thoroughly miss the days when I just used Unity and didn't even think about the drama.

That seems...well, not to go full Jared Diamond, but do you (and/or did Cecil Rhodes) really think that America would never have eclipsed Britain and striven for hegemony, or that Britain would have let it come to pass without resistance?

Okay, thinking time.

  • Unity is retarded.
  • Godot is gay.
  • Unreal is morbidly obese.
  • Making my own engine is manic pixie dream stuff.

This is why we can't have nice things!

@Southkraut, how's your project doing?

Not at all. First the wife got the flu -> pneumonia, then I caught the same bug off of her. Well, at least I didn't need antibiotics. Anyways, no progress whatsoever, my brain was snot.

It seems I may have been a tad too optimistic about Godot, though I suppose I'm still not wrong about it's license.

Huh. RIP. The article states that an official statement from the Godot Board is to be published on monday, so I suppose I'll be looking forward to that. Honestly, you're still technically correct, but this kind of stuff just takes the joy out of it for me. Thin skin I suppose. Previously at least I could tell myself it's just their Discord moderation.

So damn it all, no idea what I'm going to do. Wait for monday I guess.

AFAIK generally no, because the hammer or striker contains a firing pin that strikes the primer only; it's not a flat surface impacting on the entire rear of the cartridge. One caveat: If you slam it onto a table rear first and hit a nail directly on the point with the primer, then I suppose that should do it? The bullet probably won't gain a lot of velocity without a barrel to contain the pressure, though.

Disclaimer: Nogunz.

How can I possibly expect to achieve anything ever if I can't keep a want in my head for more than two weeks?

By finding someone else to supply the executive function.

Not joking. It's the only way I know of.

This was something I was considering in my own eerily similar project (that, and "brute forcing the problem away by using bigger numbers", everybody knows big number is best number). Though I was planning to go with rendering every visible non-local object independently, rather then a set of layers (most would quickly become invisible, when you're dealing with an astronomical scale, anyway). Then, if that worked out, I was planning to just render them to a texture once per $long_interval, and slap them on a sprite, far away in the background.

I had considered that! But then I keep going in cicles - if I need to render the things in 3D in order to convert them to 2D, then why not just keep rendering them in 3D?

Also, yes, most objects at the relevant scales and distances become invisible, and one of the very first optimizations I made was not rendering those for as long as they aren't visible.

It is at this point that I would once again ask you to consider publishing this stuff on github or somewhere, because as much as I love the visual effects when you share them, the code side would be pretty interesting to see as well.

I'm considering it, but remain reluctant. Right now most of what I do is concept work. Once I output more code, it will make more sense to do that.

Long story short, I decided that while I vacillated I might as well be doing something productive, so I opened up Godot again and had a crack at my earlier problems with rendering large, distant bodies.

So the obvious fix was to recompile Godot with its Double-Precision coordinate system. Well, plainly said, I spent the better part of a day on trying to get this to work and failed. There was always something that refused to work. Maybe it's because I'm compiling for double-precision and for C#, and somewhere those two don't get along yet, but there are even guides on how to do this in the Godot docs so I do suppose it should be possible. But here we are. I tell myself that it's better to find a single-precision solution anyways instead of just brute forcing the problem away by using bigger numbers.

As mentioned previously, Forced Projection didn't work for reasons that are obvious in hindsight. So instead I introduced a dynamic scaling factor that could modify the size and distances of all bodies depending on how far from the closest object the player is. I implemented this in my backend, modifying each body individually and also being applied to visual effects etc., instead of just slapping that scaling onto the top-level scene node and letting Godot handle the rest. Reinvented the wheel once again. Obviously this also wasn't a full solution, since objects still fall outside the view frustrum alll the time, and besides collision detection suffers when the scales get too extreme. But it worked in principle, so maybe I can use this to supplement a smarter solution.

Right now I think the best solution would be to do what I did in Unity, i.e., use multiple viewports (multiple Cameras in Unity) to render distinct sets of objects categorized based on their distance. I used to have a Near Camera, an Intermediate Camera, a Far Camera, and a Background Camera. For each category, the objects would need to be on separate layers for collision detection and rendering. Then I can simply specify in which order to draw the different viewports, and presto, in exchange for multiplying my GPU load and causing a bunch of ugly edge cases at the category transitions, that should solve the issue.

But I postponed this for now. It has eaten up far too much attention already, and I need to raise my spirits by making something less technical and more interesting to look at. So I went back to the drawing board wrote up some design documents for various other technically challenging systems in order to get them out of my system and hopefully not fall down another rabbit hole immediately. Those included:

  • Rrecursive mesh subdivision for terrain.
  • Soft-bodies wrapped around rigid-bodies to create more immersive physical interactions.
  • Random UI ideas.
  • Domain-specific engineering modules based on an earlier Unity prototype.

And now I'm free to just slap down a piece of flat ground, a bunch of boxy AI enemies (AI not included), a sun to light the scene and a player character with a simplified control scheme. Ah, this is like my very first time with Unity; almost makes me feel young again. I retained the skybox (skysphere really (subdivided sky-icosahedron really really)) and stars particle system from my earlier Godot attempts to give the whole thing a pretty background, and next up is me getting those little boxes to shoot each other for my entertainment.

Unrelated observation: One thing that Unity does well that Godot does not at all is letting you view your 3D game at play in the editor. In Godot, the Game view and the Editor are completely separate (which does have the advantage of not crashing the editor when the game crashes), and the only way to interact with a running scene is through the scene graph. Very limiting when it comes to debugging complex 3D goings-on.

Also, my day job (programming) seems to use the same part of my brain as writing, which is really suboptimal. If I felt I had a real chance at making it big as an author I'd quit my job and work at a warehouse or something while I wrote, but fiction is such an incredibly packed field already that I think that would be an enormous mistake.

I often experience the same, and supposedly so do many established writers who indeed work deliberately simple day jobs to keep their head free for writing. A friend of mine who somewhat recently started writing books while working as a software dev also told me that the only way he could get anything done was by getting up several hours early, writing, and then going to work.

FWIW, I played a whole lot of MoO3 back when it came out. It was obviously unfinished and hat a host of issues, but I very much appreciated what it tried to do; i.e., offering a higher-level experience with greater scope and perhaps a little more realism. Of course it failed, but the idea of it had merit to me.

Classic MoO and its myriad copycats I continue to bounce off of.

What I see is a general culture of superficiality, short-lived interest and discarding yesterday's investments behind seven layers of irony and distraction. Maybe what I'm gesturing at is a general aversion to sincerity and commitment. It's not just media consumption. People shamelessly speak in nothing but crass hyperbole, waste their attention on worthless trash that changes by the day, and cannot be pinned down on any opinion or behavior, are in fact panically anxious to avoid ever needing to stand by anything they might have said or done in the past, are deathly afraid of who they were yesterday. Much better to pretend that today is all there ever was. Everyone else is doing it, too.

When was the last time someone made you a promise and kept it? Speaking for myself, I can't remember. Appointments are made and ignored, assurances given and immediately forgotten, grand statements given with full conviction and their ever having been uttered is denied on the next day. Obvious lies are spoken with the expectation that they will be accepted, and failure to do so is seen as a grave faux-pas. Try to tell someone that you respectfully do not buy their excuse on any given renegation and see what happens - adamant insistence on the validity of the excuse, even in the face of damning evidence, followed by indignation at your hostile behavior.

It's probably always been this way and I'm just being grumpy. But let's assume for a moment that no, something is changing.

So pop culture. We don't need it anymore. We used to need some constancy in culture to rally around it; it took time to do so. A fanbase grows, you join it, make friends, or even share some media among your friends and bond about it. Nowadays you just join a fad online, ride it for a few minutes, enjoy the parasocial relationship, and hop off before anyone can actually associate you with it or it grows stale or you miss out on the next thing. And there is always a next thing. Media consumption isn't social anymore; instead we enjoy a much more direct algorithmically powered producer-to-brain pipeline. Which may soon be an AI-tailored-to-your-predelictions-to-brain pipeline, obviating even the need even for pseudo-social platforms like youtube.

We're wireheading. Shamelessly and effortlessly and increasingly efficiently.

I actually did get to spend some time on it, but I spent it all on wondering whether I even want to use Unreal.

The Editor is cumbersome, and right now I'm not sure of the degree to which it's possible to circumvent it. And more fundamentally, C++ code takes longer to write than C# code, isn't as nice to work with in my opinion, and I wince a little every time I need to maintain a header file in addition to the implementation file. I can write C++ code sure enough, and have done so for several years professionally, but for a hobby project I find that my lack of enjoyment in working with it relative to the ease with which I can crank out C# code is actually a motivational hindrance.

So I spent far too many hours trying to find arguments for and against using Unreal over Godot over Unity over making my own engine, and the same for C++ VS C#. All of which was slightly entertaining, minimally productive, and has left me much in the same spot that I started out in.

Maybe those are just teething issues. Maybe the Unreal Editor can be handled more elegantly, and perhaps more can be done in pure code than I see right now, and there are probably macros and Unreal-specific data types that make Unreal C++ code easier to write. If one only knows how. I wish Zorba (or another experienced Unreal dev) would weigh in on this and point out some good starter resources for devs who may be experienced in general but are so-far ignorant about Unreal Quality Of Life features.

As said I also considered going back to Unity, where I have a large code-base to return to but the general shoddiness of the engine and its delirious development in recent years warn me off, and Godot, which was enjoyable to work with but hell to set up for C# and double-precision coordinates, and has a very political userbase besides.

So no, no development done, which feels like a lot of wasted time to me. When if not now? But I also don't want to waste my time on a framework that will end up frustrating me one way or another. Indecision. A plague.

I'll probably be in the wrong time zone and busy with dad duties and whatnot, but if the stars align - sure!

Motte Factorio Space Age Coop Campaign?

Thank you. This warms my heart.

Rifle is fine?