第一篇关于堆栈溢出的文章,希望获得一些关于如何构建类似于 1993 年 maxis 模拟器 El-Fish 的模拟程序的建议 wiki 在此 ,另外,游戏信息此处。
是否存在已知的“模拟系统”算法组可以发挥作用并创建现实生活中的交互等......例如称为“聚集”的可视化?或者,是否有一个已经在建设中的开源代码库可供研究?
就编程而言,这是否也可以用纯函数式语言轻松完成?如果以 OOP 方式完成,我正在考虑用 python 对其进行原型设计。
无论如何,感谢您为我指明了一个良好的起点。我希望建立一个想法/数据世界的图形视图。它有望由底层模拟人工智能控制(也许是启发式的?)
first post here on stack overflow, hoping to get some advice on how to construct a simulation program akin to the 1993 maxis simulator known as El-Fish wiki here , Also, game info here .
Are there known "Simulation system" algorithm groups that can function and create real life interaction etc... e.g. the visualization known as 'flocking' ? Or, is there an open-source code base to study off of already in construction?
Programming wise, would this also be able to be easily done in a purely functional language? if done in an OOP way, i was thinking of prototyping it in python.
Anyways thanks for any direction in pointing me towards a good starting place. I hope to build a graphical view of an idea/data world. It will be hopefully controlled by underlying simulation AI(heuristics maybe?)
发布评论
评论(3)
在仿真系统方面,我建议您搜索“基于代理的建模”软件。有很多免费工具包可用。我最喜欢的两个是 NetLogo 和 Repast。
另外,看起来您正在实施“遗传算法”。关于这个主题有很多好书和页面。
Python 很好,但许多其他语言也很好。
您的大部分时间将花在图形制作上:为鱼制作动画,使它们看起来逼真。除非你能找到免费的鱼动画库。
In terms of simulation systems, I recommend you search for "agent-based modeling" software. There are a lot of free toolkits available. The two I like the most are NetLogo and Repast.
Also, it looks like you are implementing a "genetic algorithm". There are many good books and pages on that topic.
Python is good, but so are many other languages.
Most of your time will be spent doing the graphics: animating the fish so they look realistic. Unless you can find a free fish-animation-library.
我建议您尝试我自己的 GarlicSim 框架。它是用 Python 编写的,您将用 Python 编写特定的模拟。
它绝对可以处理您想要的模拟。 有教程,将在 30 分钟内教您 GarlicSim 的基础知识。我很乐意帮助您构建模拟包,只需在 邮件列表上打个招呼即可 我将从那里引导您。
I recommend you try my own GarlicSim framework. It's written in Python and you'll be writing your specific simulation in Python.
It can definitely handle the kind of simulation you want. There are tutorials available which will teach you the basics of GarlicSim in 30 minutes. I'll be happy to help you build your simulation package, just say hello on the mailing list and I'll guide you from there.
我不确定“现实生活”,但有一种名为 boids 的集群算法可能是一个很好的起点。它也有几个 python 版本。 示例位于 owyl 项目。
I'm not sure about "real life", but there is a flocking algorithm called boids that might be a good example to start from. There are a couple python versions of it as well. There's one that is an example in the owyl project on google code.