• 1 Post
  • 60 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle

  • Been playing this since day 1 of early access, its a fantastic game. If you enjoy something like transport tycoon, railroad tycoon, or any of highly detailed logistics sim, I think you would enjoy this. Devs are really attuned to the needs and wants of the players.

    The sim is really detailed too, and you can turn on or off any aspects you find too challenging. You have to supply citizens with education, food, luxury goods, jobs, cultural attractions, medical care, water and waste management. Everything that’s consumed in your republic can be produced locally in the republic. You can pay in cash to autobuild that new Chemical factory, or you can produce the bricks, concrete, electrical components, wood, concrete panels locally and have it built by the hands of your own citizens. Even the vehicles to import and export goods for the production of chemicals can be built in factories within the republic!

    my greatest achievement in this game was building a town of 10k people and a nuclear power industry entirely from scratch with no autobuying. That includes the entire nuclear fuel production chain and waste disposal, the RBMK reactor and dozens of kilometres of rail networks and power lines to move uranium to the plant and export power at the border.


  • What’s even more maddening, there was a fisherman named Finn who dedicated his life to catching the salmon. Every day he got up and laid a trap for it, and every day the salmon outsmarted him. But finally one day, after seven years of failures he managed to catch it. So he guts the fish and sticks it over the fire to cook it, but hes dying to take a piss and is afraid to keave the salmon in case it burns and is ruined. Up walks Half-man half-god, all party animal Fionn mac Cumhaill (transliteration: Finn McCool, there’s a lot of people named Finn in Irish folklore) and says “hey man whats going on”

    The fisherman explains his predicament asks him “Hey can you do me a favor and watch this salmon while I run off for a piss, but don’t eat it!”

    “No prob” says Fionn and off the fisherman runs. Fionn sits down and watches the fish. After some time he notices a blister appearing on the side of the fish so he pokes it to pop it, but burns his thumb. Just as the fisherman comes back from releiving himself Fionn sticks his thumb in his mouth to suck it, to cool off the burn, and wouldn’t you know it, is suddenly granted with all the knowledge and wisdom of mankind. His eyes glow blue.

    “Balls” says the fisherman. “I was going to eat that” and Fionn apologises and while the fisherman is intialky angryz he forgives Fionn, because hes a half-god and has a thing for killing people and could probably tear him in half. and from that day on whenever he needs to think or understand something on a deeper level, he just bites his thumb and the answer comes to him.


  • I think you might think I’m arguing against Godot for app UI. I’m not in fact I’m totally in favour of it! What I’m originally saying is that people who are against it, argue it’d because its inefficient compared to regular UI toolkits. To deny that would be a lie, because yes, it is. But that doesn’t mean you don’t use it. You just understand the trade offs your making, and you try to minimise those tradeoffs with optimisations. If every app ignored optimisations for efficiency, wed be in a much worse situation. All those apps run smoothly in tandem because devs have made the optimisations. Its good practice to try and do the samez if you use Godot for app UI.



  • I don’t think its that unlikely, depending on the workflow. For example when I’m working on a game in Godot I have Godot itself, aseprite for texture editing, trenchbroom for level editing, audacity for sound editing, a 3d modeling tool, a code editor, messaging app, music player, that’s 8 already and not counting the browser!


  • Oh they would for sure. Having worked with a few of them they are really aggressive about what will render and when. Usually, only the control that changes is rerendered. With Godot even in low process mode Id imagine it is going to rerender the entire application window when anything changes. I’d have to do some tests. I know from research before there are other optimisations you can make in code to low memory and processor usage.


  • Not necessarily, as pointed out in another comment, if you had 5, 10 or even more apps open at once, and ALL of them were redrawing entirely every frame there might be some significant impact. In the naive case where you’re build a small app to do one thing, Godot works great as is, once you understand this limitation. I also just learned of a new feature "low processor mode that explicitly prevents full redrawing unless something changes, Ive edited my original comment to mention it.



  • You are absolutely right, I did just discover that Godot 4.2+ supports a new mode called “low processor mode” that prevents redrawing unless something changes. I’ve edited my original comment to mention it. I have tried it out yet myself. That at least would prevend a very heavy amount of redrawing across 20+ apps as from your example.


  • There’s a lot of naysayers, who insist that game engines like Godot shouldn’t be used for drawing application UI as they tend to defender the entire application every frame, rather than just the parts that get dirty. They’re not wrong in that it’s not the most efficient way to do it, but it still works and is fit for purpose in a lot of cases. I put together a Godot based android app in about a week with very little Godot UI experience. That to me is far more important than absolute efficiency.

    Actually it appears this has been addressed:

    The last important thing you need to know is that you’ll want to turn on Low Processor Mode in the project settings. This makes it so that the screen only refreshes if something changes, as opposed to the default behavior where it would refresh every frame (which is typical for games).

    https://popcar.bearblog.dev/using-godot-for-gui-app-development/#technical-notes-you-should-know