Hacker Newsnew | past | comments | ask | show | jobs | submit | DisownedWheat's commentslogin

Godot does have a low CPU mode that limits screen refreshes until something is interacted with on screen or animated, it's what the actual editor uses. I'm not sure whether it works on web exports though.


Might be worth double checking. Last time I read, this mode wasn't supported on mobile devices, which is precisely the ones more sensitive to energy use.


I'm not sure what you mean. The engine is written in C++. There is the standard build which comes with GDScript and the Mono build which also has C# support. Both support dynamic libraries. You can download the source and compile it very easily on any platform if that's what you're after?


I mean there is no standard build/distribution for c++ on windows, whereas c++ build is available for linux.

Isn't it a bit onerous to ask the users to build/rebuild the whole engine/toolchain if we want to use the c++ version in Windows.

I don't compile Intellij for my environment to use if, for example.


I'm still not following sorry?

All builds (except for server/headless build which is Linux only) are available for Linux, macos and Windows as binaries. This includes the standard build and the Mono build. All builds are also capable of loading dynamic libraries at runtime which you can write in C++.

Compiling the whole thing definitely seems onerous but it's surprisingly easy, even for me who barely knows C++. If you're interested you can read about it here: https://docs.godotengine.org/en/stable/development/compiling...

Most people don't compile the engine themselves though, but it's a very viable option if you know how to use a command line.


So with the standard Godot binaries for Windows can I write my Godot project in C++, without having to build whole of Godot locally?


Ahh I see what you're saying now. Yes, you can: https://docs.godotengine.org/en/stable/tutorials/plugins/gdn...

The tutorial starts with C but there is a C++ one as well.

Again though, I would recommend at least trying to compile the engine once. It's simple, reasonably fast and you can extend the engine as much as you like https://docs.godotengine.org/en/stable/development/cpp/custo...


I think you are misunderstanding. Just go to the webpage, select download, and from the windows tab download the "standard version" and you're good to go.

I don't even see what you mean by it being "a c++ available for linux". You got the same choices for all systems. Just download the editor/engine and start programming. No need to compile anything, except your own scripts/logic if you choose to use a compiled language.


So something like LÖVE2D with wrapped Win32 APIs? That would be super cool, I wonder if anyone has done something like that.


I know there are Win32 Lua APIs. Maybe this is a 10 line windows app that just loads those in a host that loads main.lua?


It's not coded in C#, it's written in C++.

Release notes for a new version are not the place to list all the features of the engine. You can literally click on the home page and see "Object-oriented API with language options such as GDScript, C#, C++ and visual scripting.".

If people give up "in disgust" because they can't find what language the engine uses for scripting immediately in the first sentence of a release announcement then they're probably not cut out for making any kind of software which requires digging through documentation.


So even looking around and following links, I still guessed wrong about what the hell it is.

Nobody asked for, or needs, a list of "all the features" in a release announcement. Saying what the project is (such as that it is some kind of "engine", and maybe even what kind?) would have been a completely different, and much shorter and overwhelmingly more useful statement.

What should motivate a reader who cannot even tell what it is to spend time groveling around to find out whether they might be interested in the thing? Hint: most projects are not interesting to most people. Forced to guess, the best guess has to be "no".

I am repeatedly astonished that such elementary reasoning seems beyond so many.

As it happens, for example, a game engine in C# is of zero interest to me, but one in C++ could be quite interesting. I dismissed it as a direct consequence of the failure of the announcement to give me any reason to pay it any more attention.


Good grief, don't look at the UE4 release notes for each release then. It's a C++ game engine, and the release notes go on for pages detailing the new features. You'll have a conniption.

https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNo...

https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNo...

Game engines this size often add many new features with every release, and the target audience (programmers and artists) want to know about all of them.


The release notes cited are models of clear communication. No one encountering them would need to look anywhere else to know whether UE might be of some interest.


Things like release announcements require background knowledge. If you are lacking that background knowledge then ignore them or acquire it. There is no need to baby sit every potential new comer with a pointless introduction that will be skipped by 99% of the readers. Not every tiny blog post is trying to shill a product.


If having to click on the logo to go to the home page sends you into such an apoplectic rage then I don't know what to tell you. If you look at, for instance, the .NET Core 3.0 release notes[1] there is no mention in the first few paragraphs of what it is. You have to click away to see it.

"I am repeatedly astonished that such elementary reasoning seems beyond so many." Perhaps you're just wrong? If everywhere you go smells like shit you should check your shoes.

[1]https://devblogs.microsoft.com/dotnet/announcing-net-core-3-...


Please don't do tit-for-tat flamewars on HN. They're angry and boring and go against the intended spirit of the site.

https://news.ycombinator.com/newsguidelines.html


I realize that by now I should not be astonished, only disappointed. It is probably not your fault; education has been in decline for a long time.

I feel no slight temptation to look at .NET announcements, nor to draw conclusions on good practices from them.

But all of the apoplectic rage is clearly on your side.


Please don't do tit-for-tat flamewars on HN. They're angry and boring and go against the intended spirit of the site.

https://news.ycombinator.com/newsguidelines.html


>education has been in decline for a long time.

Is this supposed to be a joke? The information exists but you didn't try to find it.


I was specifically offered no reason why I should have any desire to dig around and find out more. That is the problem.

It is the entire topic of my original post.

Really, what would be so terrible about a short sentence in an announcement so that people who don't already know all about it get some hint at what it is? No one has suggested anything like an answer. Instead, I find rage that I don't, what, just automatically go digging deep into project pages for every single new thing announced, just in case whatever it is might turn out to be interesting?

Everyone has a lot of demands on their time and attention. A person writing an announcement is necessarily trying to communicate and engage. Concealing the topic sabotages the effort, right out of the gate.


I made one that consumed the HN API a little while ago (maybe a year?) using the fphttpclient library bundled with Lazarus. It was pretty simple to use and all the documentation is on the wiki[1]. It is a lot more low level than I am used to personally but it was fun nonetheless.

[1]http://wiki.lazarus.freepascal.org/fphttpclient


Ah!

I do remember I clicked on that briefly but I thought it was too low level like you said, and I thought there would be something else so I kept looking.

I guess I was wrong, but it's good to know there is something that works.

It also doesn't look that bad anyway, so I might as well give it a try.

Thanks!


Clojure For The Brave And True is where I learnt Clojure and I can personally recommend it as a good read. It does start out slowly but the FP concepts can be a little tricky to grok coming from an OO background.


I really didn't enjoy the book when I read it in ~2014 I think. It's a pain to get set up with emacs and then it walks you through functional programs without introducing anything first. And it is indeed difficult to grok, especially because they are toy programs with zero real world value. In that sense, I'd compare it to Learn You A Haskell For Great Good, but with less context.

This[0] is a better way to learn, in my opinion.

Then after that, maybe check out Brian Will's videos[1].

Then definitely check out this helpful video on web dev[2]. There's a better video somewhere but I can't find it anymore. It's just a guy walking his friend through how to make an isomorphic clojure web app. Very nice pair programming walkthrough guide. But I guess it's forever gone.

[0]: https://kimh.github.io/clojure-by-example/

[1]: https://www.youtube.com/playlist?list=PLAC43CFB134E85266

[2]: https://youtu.be/LcpbBth7FaQ


Aren't Erlang variables immutable by default? I find that makes a huge difference to the reliability of a program.


If I had to choose between immutable and dynamic versus mutable and static, I will pick immutable and dynamic.


> Aren't Erlang variables immutable by default?

All Erlang variables are immutable; it's not just a default.


Honestly the Tour of Go on their site is pretty good for just diving into it. You can probably just skim the first few chapters just to get familiar with the syntax.

https://tour.golang.org/welcome/1


> It's not facebook's fault people are uninterested and uneducated. Every company has one responsibility and one responsibility only - to make money for investors.

I 100% disagree with this statement. It's the equivalent of saying "A human has one responsibility and one responsibility only - stay alive" to hand-wave away criminal activity. Is BP not responsible for their oil spill in the Gulf because they still make money? Should pharmaceutical companies not have to put side effects on their product labels because the consumer should have educated themselves on how these chemicals affect your body?

I get that companies have been doing this for a long time and people should know this, but it hasn't been happening on this scale before, nor with the amount of computing power we have today to do some frankly frightening things.


Well it sort of depends on what exactly you mean.

Ease of use? Godot is probably the best in class for that in my opinion, but if you prefer text interfaces over GUIs then Love2D is very good. As far as frameworks go it is extremely simple to get going, well documented, and has plenty (not an over-abundance, but certainly enough) of libraries to make simple or complex games with.

Godot gives you a lot more to work with as far as built in functionality as well. For instance if you don't want to use the Love physics library (it is very heavy for most tasks) you're going to have to write your own collision detection or use a 3rd party library (I recommend Bump).

Performance? I recall seeing a forum post to do with the bunnymark test where Love edged out Godot by a reasonable margin in naive tests. Once Love was optimised then it was impressively fast in comparison, but from what I remember no one tried optimising the Godot implementation.

That is just rendering. I don't know of any comparisons as far as processing speed goes. GDScript has been called slow but it's plenty fast for most use cases. Love2D uses LuaJIT which is probably the fastest dynamic interpreted language there is.

Honestly for 2D I sincerely doubt you're going to hit the limits of either engine, and they're both fantastic.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: