GDNative – A scripting language module for Godot
godotengine.org
godotengine.org
I use Unity, and it's enjoyable to be able to use a widely-understood language, because of things like tooling, documentation, existing libraries. Obviously, Unity isn't perfect, particularly since being limited to .NET 2.0 often means being limited to libraries made for Unity or old versions of mainstream libraries.
Aside: Extending a game engine by linking in a shared library very much reminds me of making Quake 2 DLL mods.
If Unity ever finishes their experimental support for Tilemaps and other features, I'll try it again.
Godot has always been first and foremost a 2D focused engine, with 3D available if you want it. It's also far smaller and completely free (MIT) so you can make any changes you want at any level.
I don't use Unity, because throwing around vertex buffers isn't particularly difficult, but this is a pretty silly comment. Quads in an orthographic projection is what's done by literally every modern engine that's designed for any level of performance. "Fake" 2D is normal 2D in 2017.
And, uh. It's what Godot uses too.
What is hard to do in Unity because its 2D isn't "real"?
Unity3D's design is not very good. It is a popular system, you can find a lot of hacks online for getting common things done, but overall the thing is a garbage heap of unorganized and poorly documented features.
The ability to work with source control is a joke. I'm sorry, you can't do professional grade software development without source control. You really shouldn't be doing hobby grade development without it either. But Unity makes you jump through several hoops to get source control working correctly and reliably.
They have an asset store that almost looks like a package manager, but isn't, leaving you to have to check all of your plugins into your repository rather than redeploy out of the central store.
Patch-point releases frequently introduce breaking changes. And their project format is locked to prevent you from opening a project that had just been opened in a newer version than the one you have. Yes, opening a project in Unity writes changes to disk. Wouldn't be so bad of a problem if your project could easily and trivially be added to source control and you could just reset the changes, but see above.
It makes doing basic physics very easy to do, but the quality of the physics is not very good. Even their heavy number crunching "continuous dynamic" mode suffers from terrible warp-through problems.
It's still, after all this time, not available for working on Linux. You can build games that run on Linux, but you can't do the work on Linux.
The export to WebGL feature is another joke. An empty project ends up dumping around 50MB of code out. That's before you even get to any game code or assets. They compile your C# code to CIL with Mono, then that gets converted to C++ with IL2CPP, then that gets converted to ASM.js with Emscripten. It's an absurd Rube Goldberg machine of a process that it's no wonder people thing WebGL sucks, if all they have to go by is Unity projects.
It bombs you out to Visual Studio for editing code, but it's still not compatible with any version of .NET post 2.0. You can't import DLLs without hacking the *.csproj file by hand.
I'm sure I could come up with some more gripes if I thought about it for a while, but I don't want to be here all day.
Are you sure they don't have linux support?
And that does suck, speaking as a developer, I MUCH prefer working in linux. The exception would be .net/C#, you just can't beat visual studio in that environment.
Even then though... I still use the git bash console/tools for everything. love me some grep.
Although it is buggy, I use the Linux editor regularly. :)
> And their project format is locked to prevent you from opening a project that had just been opened in a newer version than the one you have
Related pet peeve: The Linux editor appends "Linux" to the project version, forcing a complete reimport of all the assets when moving between the Linux and Windows editors even if they're actually at the same version.
https://forum.unity3d.com/threads/unity-on-linux-release-not...
Why they do this in a forum thread instead of having a link on the normal download page, I cannot imagine. It's no wonder you couldn't find it! :)
Personally I'm using it for prototyping, my main engine is UE4 though. I'm thinking that maybe it's time to create a small but full game with it.
I know the Unity guys feel they're being reasonable and that it's a mainstream thing to require an account for a product, but I will never -ever- voluntarily lock my own personal projects inside someone elses system like that, and I think it's pretty galling of them to think they deserve that much control over my work.
I have been able to run some big engines on Linux in the past, but it is always somewhat hacky and unsupported. The only game I was able to finish and launch was written in Java using the great libGDX (and I had to rent a mac in the cloud to compile for IOS (when Robovm was officially supported, don't know about how it's done now)). I am now considering Godot for my next game because it is free and runs on Linux.
[0]http://www.gamefromscratch.com/page/Godot-Game-Engine-tutori...
Of course, what then is the point?
People just rarely want my skills, I work with C, C++, Lua, ASM, blazing-speed well built code that takes a long time to make.
People don't even ask me to do interviews, when I see all these posts on HN complaining of interviews I can't relate, I never get invited to them in first place, because I don't know React, Enterprise-Java, Electron and other whatever new very high-level tech designed to speed up dev (at cost of program speed for end user) that is popular.
Example: http://www.scylladb.com/company/careers/#software-developer (they like kernel hacker more, but who doesn't)
You can build new features in c++, everything has to be fast/low-level, networking, use Lua to create coprocessors etc.
Why not apply/interview with them ?
That's the route I took(gamedev->embedded/mobile->bigco), I'd look into those type of companies where a low level native skillset matters.
It's very dispiriting to see someone with your skills having any trouble finding work. You should be in very high demand.
There's a difference between people not wanting your skills, and people not wanting your skills where you're located, unfortunately.
Game engines have a lot of similarities with the problems in Robotics. Given an array of on-board sensors you need to build a model of your environment, plan through it, behave intelligently, and network information with other robots or human users. Furthermore to validate the product you need a simulation environment and engines like Unreal are starting to be used to do so (https://github.com/Microsoft/AirSim). High performance code is key to making it all happen in real time and C++ is the native tongue.
I work at http://shield.ai/ and we're building these robots today. Our mission is to reduce American and civilian casualties to 0 by 2030 in ground combat. If you're interested - here's my email adam.dorwart [at] shield [dot] ai
Did it occur to you that many of these people might not want to do something else and would then actually not accomplish what they'll accomplish in an environment they actually enjoy?
People are not something "to be used".
Maybe somewhere in that transition you'll also take note on how many technological advancements originate from the game development field.
I'm thankful we don't have managers at the top of the chain, deciding what the human species should and shouldn't spend their professional time on, based on an extremely narrow and stereotypically uninformed world view.
But I think we kinda have managers at the top, no ? They decide where taxes,resources go.
Banks,market-trading != movies,games (correct?)
I've actually played a lot of video games (addicted to dota 1/2 for some time). Don't kinda like them any more.