Damus
AlexTECPlayz profile picture
AlexTECPlayz
@AlexTECPlayz

Transfem Non-binary Aro Bi | Progressive Left

Game, software & web dev from Romania. Interested in science, politics, humanities and more.

Against all forms of authoritarianism and totalitarianism.

―――――

Developing games under my indie studio name, @vantainteractive, working on #Prisonia on Godot and other projects using my engine toolkit, Sapphire.

Also check out my alt accounts on my own instance:
@alextecplayz
@vantainteractive
@prisonia

#gamedev #webdev #godot

Relays (1)
  • wss://relay.ditto.pub – read & write

Recent Notes

note1fxmmn...
AlexTECPlayz profile picture
@nprofile1q... to be fair, I did fork Godot last year and worked on it solo but I transitioned back to making gdscript plugins with the stuff I had as modules, and Godot's codebase is significantly easier to read, build and debug than Unreal's.

I had my own integration that would work with Renderdoc, NVIDIA Nsight Graphics, I had ImGUI up and running, it's not trivial, but it's also not nightmare-level programming where you'd need a CS degree and years of C++ and C# experience like with Unreal.

On my current computer it takes ~30 minutes to compile Godot from master, and I managed to compile 5.0 or 5.1 back when it was released in a whopping 8 hours.

Out of curiosity I'm currently doing a comparison between repo size and LOC between Godot and Unreal (5.8, and 4.13.1 from 10 years ago) and it's safe to say that if Godot ever goes the way of the dodo or causes a big community divide, it would still be easier to salvage or continue with a small team.

(plus you can't legally open-source Unreal Engine, you can only distribute it to other licensees that have access to the repo)
note105mf9...
AlexTECPlayz profile picture
@nprofile1q... totally fair, there are use cases to be found with all kinds of systems, but it always irked me when people on forums (even on Unreal forums) were like 'Blueprints is for babies, if you want to develop a game you must use C++', 'Blueprints isn't useful', 'Blueprints is X whereas C++ is Y' etc.

BP is similar to GDScript in terms of what it can do and can't do while remaining performant. BP and handling massive amounts of data (e.g 5000 strings in an array of an enum) was a big no-no, same thing would apply to GDScript.

But to throw basically a decade of videos and knowledge, to tell game devs that have only used (and possibly mastered) Blueprints that "Tough luck buddy, we're switching to Verse, time to learn it if you still want to find a job with UE6 on the horizon" is fucked up and shows that Epic has changed a lot from the early UE4 days.

Heck, even their stupid UE6 announcement mentions that they will only develop 5.8 and reserve 5.9 if they ever want to bother with releasing a new version, meanwhile some of the stuff in 5.8 is half-baked, there's systems that have been decades in the beta channel (e.g. the Sprite system in Unreal has basically been abandoned and left to rot because Epic doesn't really have a need for 2D anymore), pushing for high-end computer specs and features while gradually shifting focus from low and mid-range mobile phones, dropping support for some OpenGL stuff etc.

Heck, it only makes me believe more and more that I was right about my theory from 2024 that UE5 was rushed out without any care for bugs because Epic really needed Fortnite in UE5 and that Matrix demo, come hell or high water: https://techhub.social/@alextecplayz/112287777281507338

There's a lot of great talent at Epic, but Swiney & Co.'s decisions and ideas really don't help.

So right now they basically have UE5, UEFN teams, and starting now they're shifting the efforts to unifying both into UE6, as well as integrating Verse, untangling and removing a decade of Blueprints and other features, all in ~2 years or so from now until the first 6.0 release.

That's a hell of a request, the codebase is massive.
note1d074h...
AlexTECPlayz profile picture
@nprofile1q... If Godot still had visual scripting, I would use both, I equally love writing code and doing all of that in a graph with nodes.

Another reason is that it's still quite user-friendly especially for beginners, which is why I started working on Schema, which is basically translating GDScript code to a visual node system and vice-versa: https://techhub.social/@alextecplayz/116637337424976792, which I'll use both in Godot and in games as part of mod toolkits for players (and they can switch between GDScript and Schema at any time).

Generally my rule now is:
- C# for my Sapphire toolkit + situations where GDScript would perform worse (e.g. handling lots of data quickly)
- GDScript for general mechanics, it's especially useful for UI scripting
- visual coding for when I have a lot of code that's not particularly important in terms of performance, but if I have a lot of it and I'd like some sort of visual orientation to see the flow of things, or when I want to debug something more complex

Blueprints was exceptional at visualization for debugging purposes when you were playing a scene in Unreal and wanted to see how things performed behind the scenes, you had highlighted lines as actions and functions were performed, values that would update in real-time, arrows, it was awesome and I wish I could get something like that in Schema someday, but it's going to be a lot of work.
note1jqlpc...
AlexTECPlayz profile picture
@nprofile1q... oh what the fuck, that's awful. I loved Blueprints, I personally think it's the best thing to happen for game engines (visual programming as a whole), so replacing that with Verse which is just a scripting language is... disappointing.

Both could co-exist at the same time, Blueprints has now existed for 12 years, it's a really strong, reliable, and wonderful visual scripting system, so removing all of that in favour of a rather quirky scripting language is stupid.

Fuck this, I'm glad I moved off of Unreal in favour of Godot. It was never going to end well for UE when it started being driven mainly by Fortnite, instead of non-Epic developers' needs.
note1t4kn6...
AlexTECPlayz profile picture
@nprofile1q... 7 or 8 Trees? Is this supposed to work like a spreadsheet or something?

If you can, you probably should unload collapsible sections, or create your own system that fills out multiple VBox+HBox containers, I tested that a little while back as part of a gdscript custom spreadsheet-like UI.

note1ctg5p...
AlexTECPlayz profile picture
@nprofile1q... it's supposed to be a visual node graph popup that lists at runtime the available engine and project classes, and pressing the button of the class (e.g. AESContext, AnimatedSprite3D) loads its functions to use in the graph.

But even if I expand a few of these one by one, my RAM jumps by like +/-10MB or so, which is why I'll have to unload collapsed classes since I'm targeting low-midrange phones as a minimum for my game.

It jumps to 1.5GB because it loads all of the classes' functions - which doesn't cause any jump in RAM in a Tree-less version I previously had, so it's purely because it jumps from 896 items in the Tree (just the classes being visible) to 148K (classes + functions).
note1m606s...
AlexTECPlayz profile picture
@nprofile1q... yeah Tree is really in need of optimization. My approach is to load stuff on demand.

But even still, 5.5GB for only 73500 entries is too much. Perhaps you're doing something else when you populate the Tree that makes it jump this much?

My Tree with 148K entries makes my RAM jump from 124.2MiB to 1.67GiB once I expand all (and load all entries).

note1856wd...
AlexTECPlayz profile picture
@nprofile1q... if I understand this right, the public transport feature uses GTFS feeds, right? It seems that there are still quite a few GTFS issues adding new lines that haven't yet been added, including mine for Cluj-Napoca that's open since March: https://github.com/organicmaps/gtfs-osm-matcher/issues/112

and I've also added the feeds for Cluj-Napoca and Bucharest/Ilfov county to the OSM wiki: https://wiki.openstreetmap.org/wiki/List_of_GTFS_feeds#Romania

I wonder, are there any more requirements for a GTFS feed to be added, or are they being slowly checked and added over time?
note1ztpzw...
AlexTECPlayz profile picture
@nprofile1q... you could always do both? That's what I plan to do in my game, and that's what other games do as well.

For example, in Prison Architect if you follow the campaign, you basically have to do certain things (e.g. build an execution room, add capacitors to the generator), but then they let you keep doing stuff on the map, you can always feel free to stop and move to the next mission.

You first teach the player the basics, show them how some stuff is done, then start letting them explore bit by bit, I think that's more intuitive than games that just force you to do a tutorial in an exact way, which makes you think that this game doesn't really have a lot of leeway in how you can complete certain tasks, but you're also not just handing the player a tome (e.g an instruction manual/guide) and let them wander off directionless, not knowing what to do and where to start from.