Questions from a chinese user

I just remembered that this forum is for both Netlogo and TurtleUniverse.
What do educators and researchers who use original Netlogo software think of TurtleUniverse(Chinese area)?

Prehaps our development directions of TurtleUniverse’s Chinese area has deviated from the original purpose of Netlogo.
I am a “certified editor” in TurtleUniverse, and we Chinese users are doing something completely different from the original Netlogo users.
Most users in the Chinese area are primary and secondary school students, and most of us come here because of interest.

I know Netlogo may not be suitable for doing things other than multi-agent simulation and scientific model building, but we are still doing things like data processing algorithms, interactive games, animation and even music track.
Most of our works are not so formal.
For example, there are few comments or the code is confusing, but we pay more attention to the algorithm and show the effect.
(Because TurtleUniverse doesn’t translate ordinary works by Google itself, we may need an ocr character recognition screen translator to see our works.)
I don’t know and want to know what people think of us, so I opened this post.
This is the first time I have published an English post and used all the translation software.

3 Likes

Great question. I am looking forward to others’ replies here :wink:

1 Like

Hello! I am not a researcher or educator, but I have worked as a software developer on the core NetLogo application for many years.

I have been very impressed by the work the students have done with Turtle Universe. It’s especially impressive given the lack of direction from a teacher or guide.

I am glad you haven’t worried about whether your models follow the NetLogo style or not. Agent-based modeling is great for a lot of things, but NetLogo is still a general-purpose programming language, and so it can be used to explore whatever you are interested in.

I wish there were a better way for users of the NetLogo and NetLogo Web apps to share models and ideas back and forth with the Turtle Universe users. I think it could grow into a great community across all the platforms. Hopefully something like that can be done sooner than later.

3 Likes

Thank you Jeremy. I am wondering whether we can pull this off, too. Maybe a static website that demonstrates the projects would be a good starting point?

海龟宇宙至今未支持非netlogo的编程语言,不支持访问网络或自定义扩展,仅能使用为数不多的几个netlogoweb扩展和专有拓展。
两年前我意外发现了一个JavaScript注入漏洞,于是海龟宇宙就有了非官方的JavaScript,CoffeeScript,WebAssembly语言支持(尽管这些基本只有我在用)。

自定义扩展,netlogo语法糖,空编辑器运行代码,网络汇编实现的高效素数筛选,完全在v8中运行的三维图形的光栅渲染,基于png.js和importDrawing的位图显示,破碎的瓦片世界,注入教程系统实现的更好的对话框,midi打包器,这些都是我在海龟宇宙用JavaScript干的。
另外还有基于网页canvas元素的webgl渲染,基于请求API的AI,基于网页script元素重放本地环境脚本,这些仅在iOS可用

因为iOS运行在本地文件系统的网页中,其它平台运行在仅提供WebAssembly和少量必要接口的v8环境中,
只有iOS设备上的海龟宇宙能通过实验中注入的脚本进行网络请求,画布绘制和导出图片,创建专有工作者线程,使用原生的流式压缩和解压接口。
非iOS平台相对于前者唯一的优势就是可以使用SharedArrayBuffer(默认的file协议禁用共享内存,即使通过WebAssembly.Memory获取共享内存实例也无法跨线程共享,并且Atomics.wait不能用在主线程中),
但是v8环境根本没有其它线程可以访问,因此SharedArrayBuffer只能算是可以用Atomics.wait廉价暂停线程指定毫秒数(精度约15毫秒)的,不可缩小的内存缓冲区
并且在没有setTimeout和setInterval的v8环境中,Atomics.waitAsync是实现定时器的唯一可靠方法

海龟宇宙正在往奇怪的方向发展…

The Turtle Universe does not yet support non-netlogo programming languages, web access or custom extensions, and only a few netlogo web extensions and proprietary extensions are available.
two years ago, I stumbled across a JavaScript injection vulnerability, and the turtle universe has unofficial JavaScript, CoffeeScript, and WebAssembly language support (although I’m pretty much the only one using these) .

Custom extensions, netlogo syntax sugar, empty editor run code, network assembly to achieve efficient prime number filtering, fully run in v 83d graphics raster rendering, based on PNG. Bitmaps from JS and importDrawing show the world of broken tiles, better dialogs from the injection tutorial system, and MIDI wrappers that I did in the turtle universe with JavaScript.
There’s also webgl rendering based on the web canvas element, AI based on the request API, and replaying local environment scripts based on the web script element.

These are only available on iOS because iOS runs on the local file system web page, other platforms run in V-8 environments that offer only web assembly and a few required interfaces,
and only the turtle universe on iOS devices can make web requests, paint canvases, and export images from scripts injected into the experiment, create proprietary worker threads, using native streaming compression and decompression interfaces.
The only advantage that non-iOS platforms have over the former is the ability to use SharedArrayBuffer (the default file protocol disables shared memory, even through webassembly. Memory fetches shared Memory instances that can not be shared across threads, and atomics. exe. Wait can not be used in the main thread) ,
but the V 8 environment has no other threads to access at all, so the SharedArrayBuffer is only usable with atomics.
exe. Wait cheap pausing threads specify non-scalable memory buffers in milliseconds (with a precision of about 15 milliseconds) and in a V 8 environment without setTimeout and setInterval, atomics. Waitasync is the only reliable way to implement a timer.

The Turtle Universe is going in strange directions…

Sounds really cool.

The reason we used V8 is because, in the old days, Android’s WebView worked on very legacy versions of WebKit. I don’t know about today’s landscape, but presumably, we can switch to WebView if the core version is advanced enough. iOS devices are generally more up-to-date so we didn’t embed another V8 there.