Giter Club home page Giter Club logo

Comments (19)

endragor avatar endragor commented on August 12, 2024 3

The fork is not required anymore, you can use godot's official master branch: https://github.com/godotengine/godot

If by "prebuilt godot" you refer to 3.0-alpha1, then no, it cannot be used, because it was built earlier than the PRs were merged. But the next alpha/beta release will work.

from godot-nim.

rosshadden avatar rosshadden commented on August 12, 2024

@endragor to be more specific, what is the entry point? I compiled and run apigen.nim, which successfully created a bunch of nim files as I would expect. I tried compiling nimruntime.nim and godot.nim, but start to get errors later on down the pipeline. In general I can't figure out how to generate the .so library file I believe I need to point godot to in order to use the nim bindings.

from godot-nim.

endragor avatar endragor commented on August 12, 2024

Hmm, this got attention faster than I expected :) Thank you for your interest, @rosshadden. I'll add sample project soon enough (hopefully today) - there are still several fixes that need to be applied to Godot for this to fully work.

from godot-nim.

endragor avatar endragor commented on August 12, 2024

I added simple project as a setup example: https://github.com/pragmagic/godot-nim/tree/master/examples/simple
It shows how to load/instantiate scenes, handle input, perform actions on game tick. Hopefully this can serve as a starting point. The rest actually comes from Godot API knowledge which you can get from either going through the generated files (in godotapi folder) or official documentation.

I haven't tested it on Linux so if it doesn't work there (could be because of wrong paths in build script, for example), then please let me know or make a PR that fixes it.

from godot-nim.

rosshadden avatar rosshadden commented on August 12, 2024

Awesome, thanks!

By the way, the reason I found this so quickly is that had have been planning to do this for a couple months (I figured I would have to, since Nim isn't as popular as it deserves yet), and coincidentally just sat down this week to start seeing what was necessary by looking at existing bindings for other languages. Part of that research involved searching GitHub for "Godot bindings", which surprisingly led me to this which you had literally just started 😂.

from godot-nim.

endragor avatar endragor commented on August 12, 2024

Alright :) It's actually quite complete already, there are few known bugs that are going to be fixed by the end of the week. We are using it to develop an actual commercial game (actually, in the process of migrating an existing unpublished game from UE4).

from godot-nim.

rosshadden avatar rosshadden commented on August 12, 2024

I got it all working. Thanks for your help, and for making the project. Sorry for the noise---I had made some comments while trying to figure something out, and have since deleted them.

from godot-nim.

endragor avatar endragor commented on August 12, 2024

nake build is supposed to create .so. There is no way the example can work without it :)
And regarding the symlink - yeah, there was one step missing in the instructions. It is to install the library in advance, so that nakefile can access apigen: nimble install https://github.com/pragmagic/godot-nim.git. Will add that.

from godot-nim.

 avatar commented on August 12, 2024

Yay, much thanks for these bindings!!!!!
Nim is a perfect fit for Godot!
Much thanks again!

from godot-nim.

 avatar commented on August 12, 2024

@endragor can you please give links to the PR's that are required to use default godot branch?

from godot-nim.

endragor avatar endragor commented on August 12, 2024

https://github.com/godotengine/godot/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aendragor%20

Only godotengine/godot#9721 is left and we discussed a different approach with @karroffel. I'll implement it today and release v0.3.0, there is a bunch of changes incoming. I'll add documentation when everything works as expected.

from godot-nim.

 avatar commented on August 12, 2024

@endragor ok, thanks!

from godot-nim.

 avatar commented on August 12, 2024

@endragor so we can use prebuilt godot now?

from godot-nim.

 avatar commented on August 12, 2024

@endragor I have an issue compiling godot-nim on Windows:
Invalid GODOT_BIN path: "E:\godot\bin\godot.windows.opt.tools.32.exe"

from godot-nim.

 avatar commented on August 12, 2024

Ah, it seems that it doesn't like quotes in path to bin

from godot-nim.

R3D9477 avatar R3D9477 commented on August 12, 2024

@endragor Sorry, I've never used Godot and godot-nim, yet. Does godot-nim use GDNAtive for communication with Godot?

from godot-nim.

rosshadden avatar rosshadden commented on August 12, 2024

Yeah man, GDNative, or whatever they are calling it these days.

from godot-nim.

R3D9477 avatar R3D9477 commented on August 12, 2024

@rosshadden sorry for another stupid question: can game with nim be ported to mobile platforms?

from godot-nim.

rosshadden avatar rosshadden commented on August 12, 2024

Maybe I don't understand your question, but the languages you use to program a game---whether they are built-in or through gdnative---have nothing to do with Godot's export capabilities.

from godot-nim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.