nimib
godot-nim
nimib | godot-nim | |
---|---|---|
4 | 16 | |
173 | 494 | |
- | 0.0% | |
5.3 | 0.0 | |
13 days ago | over 1 year ago | |
Nim | Nim | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nimib
-
Arraymancer – Deep Learning Nim Library
Jupyter notebook is indeed very important. It mainly provides data scientists with two things: a literate programming environment (mixing text, code and outputs) and a way to hold state of data in memory (so that you can perform computation interactively).
As a different take to literate programming we have created a library and an ecosystem around it: https://github.com/pietroppeter/nimib
For holding state a Nim repl (which is on the roadmap as secondary priority after completing incremental compilation) is definitely an option.
Another option could be to create a library framework for caching (or be able to serialize and deserialize quickly) large data and objects. One way to see it, could be to build something similar to streamlit cache (streamlit indeed provides great interactivity)
-
Nim 2.0.0 RC2
As a reminder, at Nim Conf back in October 2022 Andreas presented Nim 2.0 in this video https://www.youtube.com/watch?v=aDi50K_Id_k&list=PLxLdEZg8DR...
Hearing again I cannot chuckle when Araq says: Nim v1 is good at everything, Nim v2 is supposed to be better at everything.
Back then it was supposed to come out in 2022 and indeed a RC1 came out in Dec. In the blogpost for RC1 you find the desciption of all new features: https://nim-lang.org/blog/2022/12/21/version-20-rc.html
This longer time is because extra care is being taken into having a smooth transitions (for example important libraries have been tested to work on nim v2, e.g. we made sure nimib was working with v2 in early Feb: https://github.com/pietroppeter/nimib/releases/tag/v0.3.6)
- AsciiDoc, Liquid and Jekyll
-
Nim Version 1.6 Released
https://github.com/pietroppeter/nimib
Based on that and using a book theme, scinim getting started documentation is being built, e.g.:
godot-nim
-
Plans for Nim bindings for Godot 4
Since Godot 4 is gonna change their binding system the previous Nim bindings are not gonna work and the maintainers stated that they wont adapt the bindings to Godot 4.
-
Plans for Nim bindings for Godot 4?
Since Godot 4 is gonna change their binding system the previous [Nim bindings](https://github.com/pragmagic/godot-nim)
-
Programming a Rogue-Like with Rust
Another option is Nim. Looks and writes like Python but closer to C in performance. It also has static typing so I prefer it for scripting as well.
People have built a few games with the Nim Godot bindings:
https://github.com/pragmagic/godot-nim
There’s also an interesting project to do hot reloading using dlls:
https://github.com/geekrelief/gdnim
-
Inky: Isolation. A 90 minute game built with Enu, Nim and Godot
Enu is a 3D live-programming/learning/game development environment written in Nim using Godot 3, godot-nim, and godot_voxel. I use it to run a small local coding club with a group of 12 year olds, and think it is (or at least will be) a great tool for learning to code, and for making games quickly.
-
Is Nim right for me?
It uses a python-like language, is free & open-source (MIT License), has a fantastic GUI creation system, exports to all major OS's, and produces single small binaries. You could eventually incorporate Nim as well, as there are Nim bindings for Godot.
- How can I understand what "bindings to" libraries really do?
-
FYI, you can use Rust as a native scripting language
Ant then install the bindings. And thats where I'm a bit lost even after reading Godot docs. Not sure if I'm right, but seems to be necessary to compile Godot?
-
Nim Version 1.6 Released
Well no language is perfect, but Nim can be used in almost every domain because of it's compilation targets(C, C++, JS) and it's fast compile times(who needs interpretation when compile times are that fast!):
* Shell scripting, I still assume most people will just use Bash tho: https://github.com/Vindaar/shell
* Frontend: https://github.com/karaxnim/karax or you could bind to an existing JS library.
* Backend: For something Flask-like: https://github.com/dom96/jester or something with more defaults https://github.com/planety/prologue
* Scientific computing: the wonderful SciNim https://github.com/SciNim
* Blockchain: Status has some of the biggest Nim codebases currently in production https://github.com/status-im?q=&type=&language=nim&sort=
* Gamedev: Also used in production: https://github.com/pragmagic/godot-nim and due to easy C and C++ interop, you get access to a lot of gamedev libraries!
* Embedded: this is a domain I know very little about but for example https://github.com/elcritch/nesper or https://github.com/PMunch/badger for fun Nim+embedded stuff!
Most of the disadvantages come from tooling and lack of $$$ support.
-
Frustrating ergonomics of GDNative in 3.3 -- are these addressed for 4.0?
As for gdnim, it's my framework built on top of godot-nim. https://github.com/pragmagic/godot-nim https://github.com/pragmagic/godot-nim-stub
-
PR for cross-language script class support is testable! (`class_name` feature for GDScript, VisualScript, C#, and NativeScript)
I've renewed my enjoyment of programming through game development (an area I haven't been active in before) and had a great time implementing a Quadtree in GDScript but then the other problem of raw execution speed for any script language made that a bit disappointing as well (it worked well but was only an improvement for larger numbers). So now I'm learning Nim (which has godot-nim bindings) to be able to write really performant code in an easy way.
What are some alternatives?
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
gdnim - godot-nim based bootstrapping framework supporting hot reloading
treesitter-unit - A Neovim plugin to deal with treesitter units
pixie - Full-featured 2d graphics library for Nim.
nlvm - LLVM-based compiler for the Nim language
nvim-treesitter-textobjects
ttop - System monitoring tool with historical data service, triggers and top-like TUI
nesper - Program the ESP32 with Nim! Wrappers around ESP-IDF API's.
enu - A Logo-like 3D environment, implemented in Nim
asciidoctor-html5s - Semantic HTML5 converter (backend) for Asciidoctor