4 ms·
> Why aren't you using Unreal? C++. Sure, we can talk about Verse or even Skookum, but C# is much easier. Still, if any big game engine would have something li
by ceeam 3y ago
> Why aren't you using Unreal?
C++. Sure, we can talk about Verse or even Skookum, but C# is much easier. Still, if any big game engine would have something like JS it would be even better for indie or small studios.
- somenameforme 3y agoUnreal C++ is so heavily modded that it often doesn't really feel like C++. Like I feel kind of odd the rare times I use std:: anything. And Unreal C++ tends to be garbage controlled, support reflection, and so on. The only real big downsides are you have C++ compile times and generally poor intellisense - though IDEs that specialize in Unreal, like Rider, have seen exponential improvements on that front. And for teams that are genuinely averse to C++, going 100% Blueprint is also a completely viable option.
- V1ndaar 3y agoFor people scared off by C++ and who want faster recompile times, check out the Nim bindings [0]. Check out his Twitter/X account [1] for plenty of cool things it brings to the table. [0]: https://github.com/jmgomez/NimForUE https://github.com/jmgomez/NimForUE [1]: https://twitter.com/_jmgomez_ https://twitter.com/_jmgomez_
- jimmaswell 3y agoUnity used to support JS but nobody used it. Why would I ever pick such a weakly typed mess over C# for this use case?
- fidotron 3y agoI've actually been writing an engine in JS (with the exception of physics in WASM) partly to understand the implications of doing it. You do need to be disciplined, however, being able to simply start extending random instances of other types proves remarkably useful when developing. I'm not sure such a thing would work well on a team.
- jimmaswell 3y agoProbably not very good on a team, yeah. I actually have a bit of a toy game engine for the browser/ThreeJS targeted at making games similar to the Windows 95 screensaver. Learned some good things like GLSL and shaders but working in JS was definitely a bit of a slowdown when I'd hit classes of bugs that wouldn't be possible in C#, even with annotations helping me. But other times it was convenient being able to pass stuff around without writing up classes or structs for them as you alluded to. Has a brief overview in its README if anyone wants to check it out: https://github.com/ldyeax/MazeEngine https://github.com/ldyeax/MazeEngine I have more expansive ideas for it but for now the main demo is this silly museum. https://jimm.horse/maremuseum https://jimm.horse/maremuseum It's a fun experiment in seeing what JS can do, it's cool having it run natively on the web, and annotations get you a lot of the way there, but in a context like Unity I'd never pick it over C#. Typescript might be alright but at that point why bother? C# has anonymous types, tuples, and such today too.
- kroltan 3y agoBecause it was not JS, it was UnityScript which is what happens when someone read "JavaScript: The Good Parts", and thought the title was "... The Bad Parts" and threw all those away and kept only the actual bad parts. It was just about fine if you were doing very small projects but quickly got very hairy, and their compiler was full of bugs.
- detuur 3y agoAnd to contrast, Godot's GDScript has been great for me so far. I've been hacking at a personal project for a couple of days now and I feel right at home in the language, which feels right at home in the engine.
- mentos 3y agoBlueprints Blueprints Blueprints The name of the game is iteration speed. (I always think of Paul Grahams story about beating out the competition using Lisp.) I've been working with UE since 2014, originally started in UE4 C++ and avoided blueprints and kept everything in C++. Was great 'for performance' and code diffs but now 10 years later I'm 99% blueprint and only go down to C++ if the performance requires it for the 1% of hot paths. My iteration time in UE using blueprints makes me shutter to think of all the time I spent waiting for C++ to compile.
- bojo 3y agoBlueprints are fun to work with, but the amount of time it takes to drag and drop nodes around to make the equivalent of a for loop feels incredibly unproductive. The result does look visually pleasing though!
- throwaway4577 3y agoVisually pleasing indeed. https://blueprintsfromhell.tumblr.com/ https://blueprintsfromhell.tumblr.com/
- _gabe_ 3y agoI just started using Unreal 5 to prototype a VR game (lots of quirks but this engine is amazing). I’ve been writing C++ for 5ish years now and am pretty comfortable with it. I’ve also been slowly converting all the blueprints in the VR template provided by Unreal to C++ for a few reasons and was curious if these effect you. I tried using blueprints for awhile, but it just feels so cumbersome and time consuming. I can bang out 10 lines of code basically as fast as I can think, but converting those same 10 lines of code to blueprints often involves much more time. You have to click around a bunch, rearrange the routing wires, make it look readable, abstract a lot of stuff into functions that usually don’t need it just because it helps condense the blueprints. Then the blueprints end up sprawling a large area and are very difficult to keep in my head at once (whereas it would normally take less than a page of C++ code to write it out and you can easily hold that in your head). Basically, I was wondering if these downsides to blueprints effect you much or if you’ve developed suitable workarounds? I want to like blueprints, but the time it takes to click around and make it readable is painful, in my opinion, more painful than compile times for the C++.