Comments (19)
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.
@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.
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.
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.
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.
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.
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.
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.
Yay, much thanks for these bindings!!!!!
Nim is a perfect fit for Godot!
Much thanks again!
from godot-nim.
@endragor can you please give links to the PR's that are required to use default godot branch?
from godot-nim.
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.
@endragor ok, thanks!
from godot-nim.
@endragor so we can use prebuilt godot now?
from godot-nim.
@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.
Ah, it seems that it doesn't like quotes in path to bin
from godot-nim.
@endragor Sorry, I've never used Godot and godot-nim, yet. Does godot-nim use GDNAtive for communication with Godot?
from godot-nim.
Yeah man, GDNative, or whatever they are calling it these days.
from godot-nim.
@rosshadden sorry for another stupid question: can game with nim be ported to mobile platforms?
from godot-nim.
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)
- Nim constructor not found for class BulletPhysicsDirectSpaceState HOT 1
- Issue with connecting signal BodyEntered (area) HOT 1
- Generate .dll for other platforms (like Linux) HOT 4
- New native extension system for 4.0 HOT 1
- Basis getEuler behavior
- Add proc directionTo for vector2 and vector3
- GDExtentions Support HOT 1
- Nake Build Error HOT 14
- Nake build failed if GODOT_BIN path contains space character
- How to deal with exceptions? (and other beginner notes) HOT 7
- Documentation search doesn't do anything
- Export questions HOT 2
- Is this abandoned? What's happening HOT 4
- nake build error:: type expected but got symbol 'Array' of kind 'enumField' HOT 2
- godot-nim crashing godot (windows 10) [Solved?]
- I can't find the answers
- Error: type expected, but got symbol 'Array' of kind 'enumField' HOT 1
- is this abandoned? HOT 7
- Output is flooding with `A foreign thread is created` when i use NavigationAgent
- Cant compile to wasm
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot-nim.